Схема XML, несколько элементов и атрибутов - PullRequest
2 голосов
/ 30 сентября 2011

У меня есть этот код:

<root>
        <skill id="1">C++</skill>
        <skill id="2">C#</skill>
        <skill id="3">Java</skill>
        <skill id="4">PHP</skill>
        <skill id="5">MYSQL</skill>
        <skill id="6">HTML</skill>
        <skill id="7">CSS</skill>
        <skill id="8">JavaScript</skill>
        <skill id="9">XML</skill>
</root>

Я пытаюсь создать схему для этого, и я не совсем уверен, как объявить несколько элементов с одинаковым именем и его атрибутами. XML-схема: как иметь несколько идентичных элементов? , но не был точно уверен, что происходит. Нужно ли maxOccurs, когда я положил minOccurs? А в приведенной выше ссылке я не понимаю, какая часть атрибута в схеме может кто-нибудь помочь / уточнить, пожалуйста?

1 Ответ

4 голосов
/ 30 сентября 2011

Следующее объявляет элемент root, который может встречаться только один раз и должен быть указан, и последовательность элементов skill с атрибутом id типа xs:IDREF.

xs:attribute объявляет атрибут для элемента. Атрибут name указывает имя атрибута. Атрибут type указывает тип данных.

<xs:element name="root" minOccurs="1">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="skill" minOccurs="1" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:attribute name="id" type="xs:IDREF"/>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
</xs:element>

Нужно ли maxOccurs, когда я ставлю minOccurs?

Нет, вам не нужно иметь maxOccurs. Существует неявное значение maxOccurs="1", если вы его не указали.

...