如果我有XML
...
<BOOK Author="blabla" Edition="3rd">
NOTE
...
PRICE
...
</BOOK>
...
XML Schema将是:
...
<xs:complexType>
<xs:sequence>
<xs:element name="book">
<xs:complexType>
<xs:sequence>
<xs:element name="note">
...
...
</xs:sequence>
</xs:complexType>
</xs:sequesce>
</xs:complexType>
...
哪些关于作者和版本的信息应该是?请帮忙。
答案 0 :(得分:0)
我认为这就是你所需要的:
...
<xs:element name ="book" type = "booktype"/>
<xs:complexType name = "booktype">
<xs:sequence>
<xs:element name="note" type="xs:string"/>
<xs:element name="price" type="xs:decimal"/>
. . .
</xs:sequence>
<xs:attribute name = "author" type = "xs:string"/>
<xs:attribute name = "edition" type = "xs:string"/>
</xs:complexType>
...
答案 1 :(得分:0)
使用
声明属性<xs:attribute name="Author" type="xs:string"/>
或类似,这些声明在内部相关元素的complexType
,并且必须在 sequence
之后,即</xs:sequence>
和</xs:complexType>
。
<xs:element name="BOOK">
<xs:complexType>
<xs:sequence>
<xs:element name="NOTE">...</xs:element>
<xs:element name="PRICE">...</xs:element>
</xs:sequence>
<xs:attribute name="Author" type="xs:string"/>
<xs:attribute name="Edition" type="xs:string"/>
</xs:complexType>
</xs:element>
请记住,XML元素和属性名称区分大小写,因此如果元素名为BOOK
,则架构也必须说BOOK
,而不是book
。