|
descriptions из xsd в xml | ☑ | ||
---|---|---|---|---|
0
Anabella
01.12.16
✎
09:41
|
Всем спасибо. Пришла к схеме:
<xs:schema xmlns:tns="http://www.forum.mista.ru" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.forum.mista.ru" attributeFormDefault="unqualified" elementFormDefault="qualified"> <xs:complexType name="batch"> <xs:sequence> <xs:element name="row" type="tns:row" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="row"> <xs:sequence> <xs:element name="store" type="xs:string"/> <xs:element name="date" type="xs:date"/> <xs:element name="product" type="xs:string"/> <xs:element name="amount" type="tns:Number_15_2"/> </xs:sequence> </xs:complexType> </xs:schema> выдает результат: <batch xmlns="http://www.forum.mista.ru" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <row> <store>ва</store> <date>2016-11-30</date> <product>0001</product> <amount xsi:type="xs:string">2</amount> </row> </batch> В общем, почти все замечательно, кроме одной мелочи, которую никак не могу найти. Мне нужно чтобы выходила схема вида: <?xml version="1.0" encoding="UTF-16"?> <batch descriptions="stocks.xml"> <row> <store>Store-01</store> <date>2015-05-14</date> <product>000000001</product> <amount>26</amount> </row> </batch> Остался последний вопрос, как прописать в схеме, чтобы выходила строка <batch descriptions="stocks.xml"> ? |
|||
1
quest
01.12.16
✎
09:46
|
добавь атрибут description у элемента batch
|
|||
2
quest
01.12.16
✎
09:53
|
+(1)
<xs:complexType name="batch"> <xs:sequence> <xs:element name="row" type="tns:row" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="description" type="xs:string" use="required"/> </xs:complexType> |
|||
3
Anabella
01.12.16
✎
09:58
|
(2) спасибо большое!!!
|
|||
4
quest
01.12.16
✎
09:59
|
(3) не за что. Чего только не сделаешь за прикольную фотку
|
|||
5
Anabella
01.12.16
✎
11:13
|
(4)для вас старалась :)
|
|||
6
Anabella
01.12.16
✎
11:43
|
Раз такое дело, можно еще вопрос, как в схеме прописать дерево значений вида:
<batch descriptions="Documents.xml"> <row> <code>ВКЛ00082957</code> <type>103</type> <number>ВКЛ00082957</number> <items> <item> <product>КО14968-03400</product> </item> </items> </row> </batch> У меня есть преобразователь из xml в xls, но 1с не понимает его структуру. Методом проб и ошибок я дошла как сделать один вложенный уровень: <xs:complexType name="batch"> <xs:sequence> <xs:element name="row" type="tns:row" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> А вот как прописать вложенный уровень в row, не понятно |
|||
7
ГеннадийУО
01.12.16
✎
11:47
|
(6) Это что такое вы с нашими данными делаете :)
|
|||
8
Fragster
гуру
01.12.16
✎
11:52
|
создать тип item со свойством product, создать тип items со свойством item и указанием max- minoccurs. ну, или вложенные анонимные типы сделать
|
|||
9
Anabella
01.12.16
✎
14:02
|
(7) самой страшно :)
|
|||
10
Anabella
01.12.16
✎
14:02
|
(8) Спасибо!
|
|||
11
Anabella
01.12.16
✎
14:06
|
Итак, как создать схему с вложенными элементами:
<xs:schema xmlns:tns="Documents.xml" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="Documents.xml" attributeFormDefault="unqualified" elementFormDefault="qualified"> <xs:complexType name="batch"> --- это самый верхний уровень <xs:sequence> <xs:element name="row" type="tns:row" maxOccurs="unbounded"/> ---- уровень номер 2 </xs:sequence> </xs:complexType> <xs:complexType name="row"> ------содержание уровня номер 2 <xs:sequence> <xs:element name="items" type="tns:items" maxOccurs="unbounded"/> ---- будущий уровень номер 3 <xs:element name="code" type="xs:string" /> ---- прочие поля без вложенного уровня </xs:sequence> </xs:complexType> <xs:complexType name="items"> ----- содержание уровня номер 3 <xs:sequence> <xs:element name="item" type="tns:item" maxOccurs="unbounded"/> ----- уровень номер 4 </xs:sequence> </xs:complexType> <xs:complexType name="item"> ---- содержание уровня номер 4 <xs:sequence> <xs:element name="store" type="xs:string"/> <xs:element name="date" type="xs:date"/> <xs:element name="product" type="xs:decimal"/> <xs:element name="amount" type="tns:Number_15_2"/> </xs:sequence> </xs:complexType> </xs:schema> Осталось опробовать на реальной выгрузке. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |