Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Объясните, пожалуйста, насчет синтаксиса XSD   Найти похожие ветки 

 
bss   (2010-04-13 19:22) [0]

Задачка - на XSD описать такие конструкции выходного XML:

1) XML имеет вид:

<PeopleList>
 <people>
   <name>Александр</name>
   <icq>12345</icq>
 </people>
 <people>
   .... bla bla bla ...
 </people>
</PeopleList>

Элемент Name внутри People - обязательный.
Элемент ICQ внутри People - не обязательный.
Главный элемент PeopleList должен существовать, но внутри может быть пустой (нет конструкций <people>...</people>)
Как описать эту структуру на XSD?

2) XML имеет вид:

<people place="Москва" icq="12345">Александр</people>

Аттрибут "place" обязательный. Аттрибут "icq" не обязательный. Внутри находится xs:string ("Александр"). Как в этом случае описать такую конструкцию?


 
Игорь Шевченко ©   (2010-04-13 19:26) [1]

Скачать бесплатный XMLPad, в нем построить схему по имеющемуся XML


 
bss   (2010-04-13 22:22) [2]

спасибо.

А в этом XMLPad можно всякие настройки делать? То есть, как видно выше, несколько тонкостей связано именно с тем, что параметр может быть, может не быть. Если я его не включу - то подозреваю XMLPad никогда о нем не узнает. Если же включу - он не сможет отличить ситуацию, когда этот элемент должен быть обязательно от той, когда не обязательно.


 
xayam ©   (2010-04-13 23:30) [3]


> Если же включу - он не сможет отличить ситуацию, когда этот
> элемент должен быть обязательно от той, когда не обязательно.

спецификацию не пробовал читать?

http://www.s-networks.ru/4-32.gif

...Значение параметра minOccurs равное 0 у элемента comment говорит о том, что он не обязательно будет присутствовать в составе элемента PurchaseOrderType...


 
bss   (2010-04-19 14:10) [4]

да читаю я... Но как-то все запутанно. Например, "xs:complexType" - объявляет новый тип, верно? Но ведь объявление нового именно типа не говорит о том, что в данном месте должна быть соответствующая секция в выходном XML-файле?
Есть ли смысл объявлять "xs:complexType" без указания имени? (то есть, потом не сошлешься на этот тип).

Например:
XSD - http://oplot.com/habrahabr/habrahabr.xsd
соответствующий XML - http://oplot.com/habrahabr/example.xml

Там такой элемент:

<xs:element name="habra_user">
   <xs:annotation>
     <xs:documentation>Главный элемент схемы. Описывает пользователя хабра</xs:documentation>
   </xs:annotation>
   <xs:complexType>
     <xs:sequence>
       <xs:element na...
......


какой смысл объявлять "xs:complexType" без имени? Причем, судя по структуре выходного XML это понимается именно как то, что в этом месте должен быть такой вид данных. В других случаях бывает, что "xs:complexType" объявляет именно тип данных, которые в ДРУГОМ месте можно использовать... Типа:

<xs:complexType name="MyType">
 bla bla
</xs:complexType>
<xs:element type="MyType" />

То есть, непонятно. То ли "xs:complexType" объявляет ТИП данных, то ли объявляет именно в этом месте само данное...


 
bss   (2010-04-19 14:19) [5]

и еще такой вопросец... Куда копать, если я хочу такую логику:

<xs:element name="producton_name" type="xs:string"></xs:element>
<xs:element name="prod_type" type="xs:string"></xs:element>
<xs:element name="attr1" type="xs:string"></xs:element>
<xs:element name="attr2" type="xs:string"></xs:element>


Причем, если prod_type равен допустим "ProdLeft", то обязателен параметр attr1. А если prod_type равен "ProRight", то обязателен параметр с именем attr2.


 
bss   (2010-04-19 17:02) [6]


> http://www.s-networks.ru/4-32.gif

интересный, кстати, пример.

У "comment" стоит MinOccurs в ноль, типа его может не быть. При этом все это обернуто в sequence (последовательность), которая вроде предполагает что все элементы должны быть и должны быть расположены в этом порядке. Или для такого описания будет валидным документ:

<PurchaseOrderType>
 <shipto>blabla</shipto>
 <shipto>lalala</shipto>
</PurchaseOrderType>

?


 
xayam ©   (2010-04-19 21:57) [7]


> Или для такого описания будет валидным документ:

http://www.citforum.ru/internet/xml/scheme/



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.055 c
8-1205755973
DoKi
2008-03-17 15:12
2010.08.27
gпопиксельное освещение


11-1216669322
Сашик
2008-07-21 23:42
2010.08.27
KOL: нужно ли освобождать память после VarArrayCreate...


15-1266819424
b/@.
2010-02-22 09:17
2010.08.27
Нужен драйвер USB flash -> DVD-дисковод


3-1237562794
SP
2009-03-20 18:26
2010.08.27
Коррелированный запрос UPDATE


4-1232589633
brother
2009-01-22 05:00
2010.08.27
Клас для получения информации о системном трее





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский