Где я ошибся, собирая xml-файл из объекта XDTO

1. umberto_nobile 5 13.07.17 15:01 Сейчас в теме
для решения моих задач, мне необходимо подгружать xsd-схему из внешнего файла, создавать и заполнять объекты, а потом из всего этого дела формировать xml-файл.
вот схема xsd:
<?xml version="1.0" encoding="windows-1251"?>
<!--Created with Liquid Studio 2017 - Developer Bundle Edition (Trial) 15.1.8.7566 (https://www.liquid-technologies.com)-->;
<xs:schema elementFormDefault="qualified" targetNamespace="http://myth_schema.ru" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:complexType name="Сотрудники">
        <xs:sequence minOccurs="0" maxOccurs="unbounded">
            <xs:element xmlns:q1="http://myth_schema.ru" name="Сотрудник" type="q1:Сотрудник" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="Сотрудник">
        <xs:attribute name="FIO" type="xs:string" />
        <xs:attribute name="Data" type="xs:dateTime" />
    </xs:complexType>
</xs:schema>
Показать


а вот текст обработки, что пытается сделать то, что я хочу:
Процедура КнопкаВыполнитьНажатие(Кнопка)
	ТекстXML = ПолучитьТекстXML();
	
КонецПроцедуры

Функция ПолучитьТекстXML()
	Фабрика = СоздатьФабрикуXDTO("D:\Сотрудники.xsd");
	
	типXDTOСотрудники   = Фабрика.Тип("http://myth_schema.ru", "Сотрудники");
	ТипXDTOСотрудник   = Фабрика.Тип("http://myth_schema.ru", "Сотрудник");
	
	XDTOСотрудники = Фабрика.Создать(типXDTOСотрудники);
	
	XDTOСотрудник = Фабрика.Создать(ТипXDTOСотрудник);
	XDTOСотрудник.FIO = "Иванов";
	
	XDTOСотрудники.Сотрудник.Добавить(XDTOСотрудник);
	
	XDTOСотрудник = Фабрика.Создать(ТипXDTOСотрудник);
	XDTOСотрудник.FIO = "Петров";
	XDTOСотрудники.Сотрудник.Добавить(XDTOСотрудник);
	
	ЗаписьXML = Новый ЗаписьXML;
	ЗаписьXML.УстановитьСтроку("UTF-8");
	
	ЗаписьXML.ЗаписатьНачалоЭлемента("xs:Сотрудники");

	//ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xs", "http://myth_schema.ru");

	
	ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, XDTOСотрудники, "Сотрудники");
	
	ЗаписьXML.ЗаписатьКонецЭлемента();
	возврат ЗаписьXML.закрыть();	
	
КонецФункции

Показать



при выполнении оно меня выдаёт ошибку:
Тип '{http://myth_schema.ru}Сотрудники' не найден
Тип принадлежит пакету, отсутствующему в фабрике типов XDTO

я думаю, это связано с тем, что я не создал XDTO-объект в конфигураторе. но я и не хочу этого делать, потому что мне надо чтобы это делалось для выгрузки из типовой конфигурации.
подскажить, где я ошибся и можно ли вообще работать с XDTO объектами, созданными из внешних xsd-схем.?
По теме из базы знаний
Найденные решения
2. antz 13.07.17 15:50 Сейчас в теме
Так и обращайтесь не к глобальной фабрикеXDTO, а к своей:

Фабрика.ЗаписатьXML(ЗаписьXML, XDTOСотрудники, "Сотрудники");
starik-2005; +1 Ответить
3. Сурикат 394 13.07.17 15:53 Сейчас в теме
xmlns:q1="http://myth_schema.ru" - q1 нигде не прописано что такое

Вот в этот тег
<xs:schema elementFormDefault="qualified" targetNamespace="http://myth_schema.ru" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
нужно добавить
xmlns:q1="http://myth_schema.ru"

А не в описание ComplexType
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. antz 13.07.17 15:50 Сейчас в теме
Так и обращайтесь не к глобальной фабрикеXDTO, а к своей:

Фабрика.ЗаписатьXML(ЗаписьXML, XDTOСотрудники, "Сотрудники");
starik-2005; +1 Ответить
5. antz 14.07.17 10:45 Сейчас в теме
А теперь сравните что у вас и что в (2)
Прикрепленные файлы:
6. umberto_nobile 5 14.07.17 10:53 Сейчас в теме
(5) Да. спасибо большое.
этот момент, несмотря на то, что вы его мне указали, я пропустил из виду. у меня всё получилось. спасибо большое всем, кто помог.
3. Сурикат 394 13.07.17 15:53 Сейчас в теме
xmlns:q1="http://myth_schema.ru" - q1 нигде не прописано что такое

Вот в этот тег
<xs:schema elementFormDefault="qualified" targetNamespace="http://myth_schema.ru" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
нужно добавить
xmlns:q1="http://myth_schema.ru"

А не в описание ComplexType
4. umberto_nobile 5 14.07.17 10:10 Сейчас в теме
вроде всё сделал, как Вы говорили. не получается всё равно. прикреплены файлы обработка и схема
Прикрепленные файлы:
ПроверкаXDTO.epf
Сотрудники.xsd
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот