Как maxOccurs относится к нескольким языковым (xml: lang) версиям одного и того же элемента? - PullRequest
0 голосов
/ 20 июня 2011

Ограничивает ли maxOccurs количество языковых версий?

Что я имею в виду - делает

<xs:element ref="attachments" minOccurs="0" **maxOccurs="1"**/>

(в схеме XML), запрещать:

<attachments>
   <audio>
      <sound url="http://bla.com/eng.mp3" xml:lang="eng"/>
      <sound url="http://bla.com/ger.mp3" xml:lang="ger"/>
   </audio>
[...]

И, между прочим, есть также разделы «видео» и «документы» (кроме «аудио»), поэтому я не уверен, как эта схема (пример из реальной жизни, не выдуманный!)на самом деле должен работать?

Только одно вложение каждого типа?Но многоязычные версии хорошо?

Ответы [ 2 ]

2 голосов
/ 20 июня 2011

В XSD нет ничего магического количества xml: lang; применяются те же правила, как если бы атрибут назывался foobar.

Обратите внимание, что значение maxOccurs, которое вы нам показываете, ограничивает количество элементов "attachments" в его родительском элементе. Он не имеет отношения к тому, что появляется внутри элемента "attachments" или внутри элемента "audio".

1 голос
/ 20 июня 2011

Это означает, что в этой конкретной точке документа будет не более одного <attachments> элемента (может быть меньше из-за minOccurs="0"). Это не ограничивает содержание элемента; это будет сделано внутри определения этого элемента (или в его типе).

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