Вход | Регистрация


XDTO MetaDataObject откуда появляется?

XDTO MetaDataObject откуда появляется?
Я
   quest
 
21.11.18 - 16:39
Платформа - 8.3.11.2867

Код -
    
    streamXML = new XMLReader;
    streamXML.OpenFile("E:\src\1C\readMD\md.xdto");
    obj = XDTOFactory.ReadXML(streamXML,XDTOFactory.Type("http://v8.1c.ru/8.1/xdto","Model";));
    newFactory = new XDTOFactory(obj);
    MetaDataObjectType = newFactory.Type("http://v8.1c.ru/8.3/MDClasses","MetaDataObject";)

Содержимое md.xdto

<?xml version="1.0" encoding="UTF-8"?>
<model xmlns="http://v8.1c.ru/8.1/xdto"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">;
    <package targetNamespace="http://v8.1c.ru/8.3/MDClasses"; elementFormQualified="true" attributeFormQualified="false">

    </package>
</model>

Как видно - в модели нет определения типа MetaDataObject, но! в переменной MetaDataObjectType есть какое-то кривое определение типа.
Два  вопроса- как это произошло? Какой метод исправления этой ошибки есть (кроме смены tns и версии платформы)?
 
 
   quest
 
1 - 21.11.18 - 19:50
ап
   Cyberhawk
 
2 - 21.11.18 - 22:22
Так это платформенной фабрики тип
   Cyberhawk
 
3 - 21.11.18 - 22:24
Ну а так-то даже чтение-запись конфы, выгруженной платформой в ХМЛ, через фабрику этой же платформы, не дает неизменного результата - типы теряются.
Так что бросай ты это гиблое дело - через фабрику читать.
   quest
 
4 - 21.11.18 - 22:36
я так понимаю - конкретно для tns "http://v8.1c.ru/8.3/MDClasses"; платформа забивает на определение переданное ей и берет свое внутреннее определение? так?
   Cyberhawk
 
5 - 21.11.18 - 22:51
Ты фабрику-то создай через СоздатьФабрикуXDTO
   quest
 
6 - 22.11.18 - 06:11
(5) Да как ее не создавай - финя на выходе.

    newFactory = CreateXDTOFactory("E:\src\1C\readMD\md.xsd");

    MetaDataObjectType = newFactory.Type("http://v8.1c.ru/8.3/MDClasses","MetaDataObject";);

содержимое md.xsd

<xs:schema xmlns:tns="http://v8.1c.ru/8.3/MDClasses"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; targetNamespace="http://v8.1c.ru/8.3/MDClasses"; attributeFormDefault="unqualified" elementFormDefault="qualified"/>


Все равно есть определение типа для MetaDataObject
Хотя быть не должно

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует