2016-08-19 3 views
0

У меня возникли проблемы с попыткой добавить ограничение minLength и maxLength на этот сложный тип. Вот мой первоначальный код:Как ограничить содержимое xsd: complexType с атрибутами?

  <xs:element minOccurs="0" name="Division"> 
      <xs:complexType> 
       <xs:sequence> 
       <xs:element minOccurs="0" maxOccurs="unbounded" name="ID"> 
        <xs:complexType> 
        <xs:simpleContent> 
         <xs:extension base="xs:string"> 
         <xs:attribute ref="wd:type" use="optional" /> 
         </xs:extension> 
        </xs:simpleContent> 
        </xs:complexType> 
       </xs:element> 
       </xs:sequence> 
       <xs:attribute ref="wd:Descriptor" use="optional" /> 
      </xs:complexType> 
      </xs:element> 

Я хочу добавить это ограничение, но я не знаю, как это сделать.

<xs:restriction base="xs:string"> 
    <xs:minLength value="0"/> 
    <xs:maxLength value="100"/> 
</xs:restriction>       

Я знаю, как сделать это для simpletype, но в ComplexType я не знаю, как это сделать. Может ли кто-нибудь помочь?

+0

Я думаю, что это должно быть Отдел элемент. – user2148983

+0

Элемент 'Division' уже имеет элемент' ID' в своей модели содержимого. Это поможет, если вы отредактируете свой вопрос и покажете пример правильного XML. – kjhughes

+0

Пожалуйста, [** accept **] (http://meta.stackoverflow.com/q/5234/234215) отвечает на это и ваши предыдущие вопросы, когда они вам помогли. Если [мой ответ] (http://stackoverflow.com/a/39045446/290085) вам не поможет, просьба пояснить комментарии. Если [ни один из ваших вопросов] (http://stackoverflow.com/users/2148983/user2148983?tab=questions) действительно не получил приемлемых ответов, прочитайте [ask]. Благодарю. – kjhughes

ответ

1

Вам необходимо определить и назовите xs:simpleType и расширить его в своем xs:complexType.

Вот полный, рабочий пример (с оборванными xs:attribute/@ref Заменены вхождениями с временным xs:attribute/@names таким примера может стоять на своем собственном):

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
      version="1.0"> 
    <xs:element name="Division"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element minOccurs="0" maxOccurs="unbounded" name="ID"> 
      <xs:complexType> 
      <xs:simpleContent> 
       <xs:extension base="IDType"> 
       <xs:attribute name="attr1" use="optional" /> 
       </xs:extension> 
      </xs:simpleContent> 
      </xs:complexType> 
     </xs:element> 
     </xs:sequence> 
     <xs:attribute name="attr2" use="optional" /> 
    </xs:complexType> 
    </xs:element> 
    <xs:simpleType name="IDType"> 
    <xs:restriction base="xs:string"> 
     <xs:minLength value="0"/> 
     <xs:maxLength value="100"/> 
    </xs:restriction> 
    </xs:simpleType> 
</xs:schema> 

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

  • Нет связанных вопросов^_^