|
Работ XDTO файлом | ☑ | ||
---|---|---|---|---|
0
alekosansey
03.04.20
✎
13:37
|
Добрый день получил задачу прочитать файл xsd и на основание его создать xml файл.
ФормаXDTO = СоздатьФабрикуXDTO("C:\Users\user\Downloads\Шаблоны XML+XSD+КАТО\SRC_Contract_KZ_Pawnshop_v5.xsd"); XDTOобъект= ФормаXDTO.Тип("http://www.w3.org/2001/XMLSchema","ComplexType"); // как узнать здесь второй параметр в самом теле xsd чтобы подставить так как если выбираю наугад то не получаю XDTOобъект? |
|||
1
alekosansey
03.04.20
✎
13:40
|
Между каких тегов оно находиться?
|
|||
2
Cyberhawk
03.04.20
✎
13:57
|
У фабрики есть коллекция типов
|
|||
3
d4rkmesa
03.04.20
✎
13:57
|
(0) А не проще XDTOобъект=ФормаXDTO.Пакеты.Получить(URIПространстваИмен)? Или там пространство имен в xsd не указано?
|
|||
4
alekosansey
03.04.20
✎
13:58
|
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="valueType"> <xs:sequence> <xs:element name="ValueTypeId" type="xs:int"/> <xs:element name="Value"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="500"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="LanguageCode"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="5"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="EntityAddressType"> <xs:sequence> <xs:element name="AddressTypeId" type="xs:int"/> <xs:element name="StreetNumber" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="PostBox" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="20"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="LocationId" type="xs:int"/> <xs:element name="PostalCodeId" type="xs:int" minOccurs="0"/> <xs:element name="AddressData" type="valueType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:simpleType name="DateType"> <xs:restriction base="xs:date"> <xs:maxInclusive value="2098-01-01"/> <xs:minInclusive value="1900-01-01"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="empty-DateType"> <xs:union> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="0"/> </xs:restriction> </xs:simpleType> <xs:simpleType> <xs:restriction base="DateType"/> </xs:simpleType> </xs:union> </xs:simpleType> <xs:complexType name="TextType"> <xs:simpleContent> <xs:extension base="non-empty-string"> <xs:attribute name="language" type="non-empty-string" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="TrimmedTextType"> <xs:simpleContent> <xs:extension base="non-empty-token"> <xs:attribute name="language" type="non-empty-string" use="optional"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="empty-TextType"> <xs:simpleContent> <xs:extension base="empty-token"> <xs:attribute name="language" type="empty-string" use="optional"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="IdentificationType"> <xs:sequence> <xs:element name="Number" type="xs:token" nillable="true" minOccurs="0"/> <xs:element name="IssueDate" type="DateType" minOccurs="0"/> <xs:element name="DocumentTypeText" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="250"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> <xs:attribute name="typeId" type="xs:int" use="required"/> <xs:attribute name="rank" type="xs:int" use="required"/> </xs:complexType> <xs:complexType name="AddressType"> <xs:sequence> <xs:element name="StreetName" nillable="true"> <xs:complexType> <xs:sequence> <xs:element name="Text" type="empty-TextType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="StreetNumber" minOccurs="0"> <xs:simpleType> <xs:restriction base="non-empty-string"> <xs:maxLength value="10"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="AdditionalInformation" type="non-empty-string" minOccurs="0"/> </xs:sequence> <xs:attribute name="typeId" type="xs:int" use="required"/> <xs:attribute name="locationId" type="xs:int" use="optional"/> <xs:attribute name="katoId" type="xs:string" use="optional"/> </xs:complexType> <xs:complexType name="CommunicationType"> <xs:simpleContent> <xs:extension base="non-empty-string"> <xs:attribute name="typeId" type="xs:int" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:simpleType name="non-empty-string"> <xs:restriction base="xs:string"> <xs:minLength value="1"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="non-empty-boolean"> <xs:restriction base="xs:boolean"/> </xs:simpleType> <xs:simpleType name="empty-string"> <xs:restriction base="xs:string"> <xs:minLength value="0"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="non-empty-token"> <xs:restriction base="xs:token"> <xs:minLength value="1"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="empty-token"> <xs:restriction base="xs:token"> <xs:minLength value="0"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="typeIdCurrency"> <xs:restriction base="xs:int"> <xs:minInclusive value="1"/> <xs:maxInclusive value="4"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="typeCurrencyCode"> <xs:restriction base="xs:string"> <xs:length value="3"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="myDecimal_18_2"> <xs:restriction base="xs:decimal"> <xs:totalDigits value="14"/> <xs:fractionDigits value="2"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="empty-decimal"> <xs:union> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="0"/> </xs:restriction> </xs:simpleType> <xs:simpleType> <xs:restriction base="xs:decimal"> <xs:totalDigits value="14"/> <xs:fractionDigits value="2"/> </xs:restriction> </xs:simpleType> </xs:union> </xs:simpleType> <xs:simpleType name="empty-int"> <xs:union> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="0"/> </xs:restriction> </xs:simpleType> <xs:simpleType> <xs:restriction base="xs:int"/> </xs:simpleType> </xs:union> </xs:simpleType> <xs:simpleType name="empty-date"> <xs:union> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="0"/> </xs:restriction> </xs:simpleType> <xs:simpleType> <xs:restriction base="xs:date"> <xs:maxInclusive value="2098-01-01"/> <xs:minInclusive value="1900-01-01"/> </xs:restriction> </xs:simpleType> </xs:union> </xs:simpleType> <xs:simpleType name="empty-double"> <xs:union> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="0"/> </xs:restriction> </xs:simpleType> <xs:simpleType> <xs:restriction base="xs:double"/> </xs:simpleType> </xs:union> </xs:simpleType> <xs:complexType name="SubjectType"> <xs:sequence> <xs:element name="Entity"> <xs:complexType> <xs:choice> <xs:element name="Individual"> <xs:complexType> <xs:sequence> <xs:element name="FirstName"> <xs:complexType> <xs:sequence> <xs:element name="Text" type="empty-TextType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Surname"> <xs:complexType> <xs:sequence> <xs:element name="Text" type="empty-TextType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="FathersName" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Text" type="TrimmedTextType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="DateOfBirth" type="empty-date" minOccurs="0"/> <xs:element name="Gender" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="1"/> <xs:enumeration value="M"/> <xs:enumeration value="F"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Residency" minOccurs="0"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="id" type="xs:int" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="Citizenship" minOccurs="0"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="id" type="non-empty-string" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="Identifications"> <xs:complexType> <xs:sequence> <xs:element name="Identification" type="IdentificationType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Addresses"> <xs:complexType> <xs:sequence> <xs:element name="Address" maxOccurs="unbounded"> <xs:complexType> <xs:complexContent> <xs:extension base="AddressType"/> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="StreetNumber" minOccurs="0"> <xs:simpleType> <xs:restriction base="non-empty-string"> <xs:maxLength value="10"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="PostBox" type="non-empty-string" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Communications"> <xs:complexType> <xs:sequence> <xs:element name="Communication" type="CommunicationType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="roleId" type="xs:unsignedByte" use="required"/> </xs:complexType> </xs:schema> |
|||
5
d4rkmesa
03.04.20
✎
14:02
|
(4) Ну тогда, второй параметр - локальное имя. К примеру, "valueType".
|
|||
6
d4rkmesa
03.04.20
✎
14:03
|
Тег name="valueType", к примеру.
|
|||
7
alekosansey
03.04.20
✎
14:05
|
Ни чего не возвращает если я к нему обращаюсь
|
|||
8
alekosansey
03.04.20
✎
14:06
|
ФормаXDTO = СоздатьФабрикуXDTO("C:\Users\user\Downloads\Шаблоны XML+XSD+КАТО\SRC_Contract_KZ_Pawnshop_v5.xsd");
Схема = ФормаXDTO.Тип("http://www.w3.org/2001/XMLSchema","valueType"); пишет тип неопределено |
|||
9
d4rkmesa
03.04.20
✎
14:07
|
XDTOобъект какого типа, Неопределено?
|
|||
10
alekosansey
03.04.20
✎
14:09
|
Да XDTOобъект типа Неопределено
|
|||
11
acht
03.04.20
✎
14:10
|
(0) Перебрать все из ФабрикаXDTO.Пакеты, внутри каждого пакета перебрать содержимое. Там будут распознанные типы значенией и типы объектов.
Полностью решать за тебя твое "получил задачу" никто не будет. |
|||
12
alekosansey
03.04.20
✎
14:11
|
Мне хотя бы пример
|
|||
13
acht
03.04.20
✎
14:13
|
(12) Перебирай пакеты, смотри у них пространства имен и имена типов. Без базовой подготовки и понимания что это такое, у тебя ничего не получится. Примеры гуглятся на том же инфостарте
|
|||
14
alekosansey
03.04.20
✎
14:14
|
Все понял ок. Спасибо
|
|||
15
alekosansey
03.04.20
✎
14:18
|
Единство что странно это что Пакетов всего 1 и если Дебагом посмотреть что там. То там нету тех тегов которые я ожидаю увидеть Например Adress и т.д.
|
|||
16
alekosansey
03.04.20
✎
14:18
|
Как будто это пустой xml
|
|||
17
d4rkmesa
03.04.20
✎
14:21
|
(16) XDTOобъект= ФормаXDTO.Тип("http://www.w3.org/2001/XMLSchema","ComplexType");
Конкретно в этом, скорее всего, проблема с регистром. |
|||
18
d4rkmesa
03.04.20
✎
14:22
|
(17) "complexType" если указать, работает
|
|||
19
d4rkmesa
03.04.20
✎
14:25
|
В общем, через отладчик смотреть коллекцию типов, как написал товарищ в (13) . Ориентироваться можно на XML, который приложен как пример.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |