XML模式定义问题
对于以下XML代码,相应的XML架构定义是什么样子的:XML模式定义问题,xml,xsd,Xml,Xsd,对于以下XML代码,相应的XML架构定义是什么样子的: <Categories> <Category id="1">One</Category> <Category id="2">Two</Category> <Category id="3">Three</Category> </Categories> 一个 两个 三 我就是不知道如何同时声明PCData和注释 谢谢 当你提到
<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>
当你提到“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>
好,明白了:
<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>
这就是它在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>
这就是它在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:元素“Category”必须没有字符或元素信息项[子项],因为该类型的内容类型为空。正如您可能已经注意到的,您在声明中遇到了我的问题……我不允许在元素标记中放入一个、两个或三个字符(我称之为PCData-抱歉,如果这是误导性的话)抱歉混淆了…我用正确的版本更新了我的架构。我与您在下面提出的内容非常匹配。酷!cvc复杂类型。2.1:元素“Category”必须没有字符或元素信息项[子项],因为该类型的内容类型为空。正如您可能已经注意到的,您遇到的问题正是我对您的声明的问题……我不允许在元素标记中添加一个、两个或三个标记(我称之为PCData-如果这有误导性,请道歉)很抱歉搞混了…我用正确的版本更新了我的模式。我和你在下面提出的非常匹配。酷!