2013-06-10 2 views
0

Привет У меня есть этот вид XMLXSD ограничение проверка MaxOccurs

Я хотел бы написать XML, который проверяет эти данные:

<?xml version="1.0" encoding="UTF-8"?> 
<Entry attribute1="value1" attribute2="Value2"> 
    <subEntry tagX="xValue1" tagy="yValue"/> 
</Entry> 

но не тестирует

<?xml version="1.0" encoding="UTF-8"?> 
<Entry attribute1="value1" attribute2="Value2"> 
    <subEntry tagX="xValue1" tagy="yValue"/> 
    <subEntry tagX="xValue1" tagy="yValue"/> 
</Entry> 

Я хотел бы ограничить количество подэлементов:

Максимальные последовательности последовательности не проверяют количество подэлементов.

XSD является:

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> 
    <xs:element name="Entry"> 
     <xs:complexType> 
      <xs:sequence> 
       <xs:element ref="subEntry"/> 
      </xs:sequence> 
      <xs:attribute1 name="dateEmission" type="xs:dateTime" use="required"/> 
      <xs:attribute2 name="emetteur" type="xs:string" use="required"/> 
     </xs:complexType> 
    </xs:element> 
    <xs:element name="Entry"> 
     <xs:complexType> 
      <xs:attribute name="tagX" type="xs:string" use="required"/> 
      <xs:attribute name="tagy" type="xs:decimal" use="optional"/> 
     </xs:complexType> 
    </xs:element> 
</xs:schema> 

ответ

0

Вам нужно добавить MaxOccurs на объявлении элемента. Измените его ниже

<xs:sequence> 
    <xs:element ref="subEntry" maxOccurs="1" /> 
</xs:sequence> 
Смежные вопросы