Как включить несколько элементов с одинаковым именем - PullRequest
0 голосов
/ 13 декабря 2011

Я пытаюсь создать XML для описания упражнений с несколькими вариантами выбора или просто с простым текстом.XML может выглядеть так:

<exercise number="1" type="multiChoice">
<question>My very importand question</question>
<answer type="false">yes</answer>
<answer type="true">no</answer>

<exercise number="2" type="text">
    <question>Question 2</question>
    <answer>the right answer</answer>
</exercise>

Поэтому я попытался использовать последовательность для ответа, которая не сработала, если я попытаюсь проверить ее, когда у меня естьболее чем один из <answer> тегов в XML.

Это схема:

    <xs:complexType name="exerciseType">
    <xs:sequence>
        <xs:element name="question" type="questionType"/>
        <xs:sequence>
            <xs:element name="answer" minOccurs="1">
                <xs:complexType>
                    <xs:simpleContent>
                        <xs:extension base="xs:string">
                            <xs:attribute name="type" type="xs:boolean" use="optional"/>
                        </xs:extension>
                    </xs:simpleContent>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:sequence>
    <xs:attribute name="number" type="xs:positiveInteger"/>
    <xs:attribute name="type" type="xs:string"/>
</xs:complexType>

Кто-нибудь знает, что не так с моей схемой?

Спасибозаранее!

1 Ответ

2 голосов
/ 13 декабря 2011

Вы можете попытаться установить атрибут maxOccurs:

<xs:complexType name="exerciseType">
    <xs:sequence>
        <xs:element name="question" type="questionType"/>
        <xs:element name="answer" maxOccurs="unbounded">
    </xs:sequence>
    <xs:attribute name="number" type="xs:positiveInteger"/>
    <xs:attribute name="type" type="xs:string"/>
</xs:complexType>

Отказ от ответственности: он был написан без проверки инструментом и может содержать ошибки.

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