Проблема определения схемы XML - PullRequest
0 голосов
/ 13 декабря 2010

Как будет выглядеть соответствующее определение схемы XML для следующего кода XML:

<Categories>   
  <Category id="1">One</Category>
  <Category id="2">Two</Category>
  <Category id="3">Three</Category>
</Categories>

Я просто не могу узнать, как объявлять PCData И аннотацию одновременно.

Спасибо!

Ответы [ 3 ]

4 голосов
/ 13 декабря 2010

И ТАК, как это работает с JAXB

<xs:complexType name="Cities">
        <xs:sequence>
            <xs:element name="City" minOccurs="1" maxOccurs="unbounded">
                <xs:complexType mixed="true">
                    <xs:simpleContent>
                        <xs:extension base="xs:string">
                            <xs:attribute name="id" type="xs:integer" />
                        </xs:extension>
                    </xs:simpleContent>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
1 голос
/ 13 декабря 2010

Я не уверен, что вы имеете в виду, когда упоминаете "PCData" и "аннотацию".

Вот очень простая схема на основе предоставленного вами XML:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="Categories">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Category" maxOccurs="unbounded">
                    <xs:complexType>
                        <xs:simpleContent>
                            <xs:extension base="xs:string">
                                <xs:attribute name="id" type="xs:int" use="required"/>
                            </xs:extension>
                        </xs:simpleContent>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element></xs:schema>
0 голосов
/ 13 декабря 2010

Хорошо, понял:

<xs:complexType name="Cities">
    <xs:sequence>
        <xs:element name="City" minOccurs="1" maxOccurs="unbounded">
            <xs:complexType>
                <xs:simpleContent>
                    <xs:restriction base="xs:string"></xs:restriction>
                </xs:simpleContent>
                <xs:attribute name="id" type="xs:integer" />
            </xs:complexType>
        </xs:element>
    </xs:sequence>
</xs:complexType>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...