2016-10-27 2 views
1

У меня есть следующие два (неизменные) файлы XML с же пространства имен, что мне нужно создать XSD для:Смешивание xsd: выбор с помощью xsd: any или xsd: sequence?

псевдо-XML Пример # 1:

<Project> 
    <ProjectInformation/> 
    <HistoryEntry/> 
    <UserFiles/> 
</Project> 

псевдо-XML примера # 2:

<Project> 
    <Installations/> 
</Project> 

Без элемента HistoryEntry и UserFiles, я хотел бы использовать xsd:choice для ProjectInformation и Installations. Но как может привести HistoryEntry и UserFiles элемент в игру ?!

Есть ли стандартный механизм XSD, который позволяет это?

ответ

0

Неупорядоченный завышенный. Просто используйте xs:sequence, а не xs:any, чтобы избежать нарушений уникальных атрибуции частиц в XSD 1.0:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="Project"> 
    <xs:complexType> 
     <xs:choice> 
     <xs:sequence> 
      <xs:element name="ProjectInformation"/> 
      <xs:element name="HistoryEntry"/> 
      <xs:element name="UserFiles"/> 
     </xs:sequence> 
     <xs:element name="Installations"/> 
     </xs:choice> 
    </xs:complexType> 
    </xs:element> 
</xs:schema> 
+0

Спасибо, я не знал, что я могу может смешать последовательность и элемент выбора .. теперь работает для меня. – Alex

Смежные вопросы