Разница между смешанным = "true" и расширением xs: в XML-схеме - PullRequest
7 голосов
/ 22 мая 2011

Какова практическая разница между этими двумя:

<xs:element name="A">
 <xs:complexType mixed="true">
  <xs:attribute name="att" type="xs:boolean"/>
 </xs:complexType>
</xs:element>

<xs:element name="B">
 <xs:complexType>
  <xs:simpleContent>
   <xs:extension base="xs:string">
    <xs:attribute name="att" type="xs:boolean"/>
   </xs:extension>
  </xs:simpleContent>
 </xs:complexType>
</xs:element>

1 Ответ

12 голосов
/ 22 мая 2011

Два разные.Ваш первый пример использует mixed="true", что обозначает смешанное содержимое, то есть символьные данные, смешанные с дочерними элементами.В то время как ваш второй пример ограничивает содержимое элемента типом xs:string.Оба указывают на наличие атрибута.

В вашем примере оба практически одинаковы.Однако, если вы не планируете иметь смешанный контент, то есть не планируете добавлять дочерние элементы, вторая версия намного понятнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...