XML模式定义问题
问题描述:
什么会相应的XML模式定义的样子以下XML代码:XML模式定义问题
<Categories>
<Category id="1">One</Category>
<Category id="2">Two</Category>
<Category id="3">Three</Category>
</Categories>
我只是不能找出如何在同一时间宣布PCDATA和注释。
谢谢!
答
我不确定你提到“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>
答
确定了它:
<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>
+0
而且它甚至可以和JAXB一起工作: – 2010-12-13 19:22:50
答
并且那它是如何即使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>
cvc-复杂类型2.1:元素'类别'必须没有字符或元素信息项[子项],因为类型的内容类型为空。 – 2010-12-13 18:55:24
正如你可能已经注意到的,你遇到了我的问题与你的声明.... – 2010-12-13 18:59:53
我不允许将元素标记(我称为PCData - 抱歉,如果这是误导),一,二或三, – 2010-12-13 19:00:36