|
XDTO MetaDataObject откуда появляется?
| ☑ |
0
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(";));
newFactory = new XDTOFactory(obj);
MetaDataObjectType = newFactory.Type(";)
Содержимое md.xdto
<?xml version="1.0" encoding="UTF-8"?>
<model xmlns="; xmlns:xs="; xmlns:xsi=";
<package targetNamespace="; elementFormQualified="true" attributeFormQualified="false">
</package>
</model>
Как видно - в модели нет определения типа MetaDataObject, но! в переменной MetaDataObjectType есть какое-то кривое определение типа.
Два вопроса- как это произошло? Какой метод исправления этой ошибки есть (кроме смены tns и версии платформы)?
|
|
1
quest
21.11.18
✎
19:50
|
ап
|
|
2
Cyberhawk
21.11.18
✎
22:22
|
Так это платформенной фабрики тип
|
|
3
Cyberhawk
21.11.18
✎
22:24
|
Ну а так-то даже чтение-запись конфы, выгруженной платформой в ХМЛ, через фабрику этой же платформы, не дает неизменного результата - типы теряются.
Так что бросай ты это гиблое дело - через фабрику читать.
|
|
4
quest
21.11.18
✎
22:36
|
я так понимаю - конкретно для tns "; платформа забивает на определение переданное ей и берет свое внутреннее определение? так?
|
|
5
Cyberhawk
21.11.18
✎
22:51
|
Ты фабрику-то создай через СоздатьФабрикуXDTO
|
|
6
quest
22.11.18
✎
06:11
|
(5) Да как ее не создавай - финя на выходе.
newFactory = CreateXDTOFactory("E:\src\1C\readMD\md.xsd");
MetaDataObjectType = newFactory.Type(";);
содержимое md.xsd
<xs:schema xmlns:tns="; xmlns:xs="; targetNamespace="; attributeFormDefault="unqualified" elementFormDefault="qualified"/>
Все равно есть определение типа для MetaDataObject
Хотя быть не должно
|
|