以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 DTD/XML Schema 』 (http://bbs.xml.org.cn/list.asp?boardid=23) ---- 一个SCHEMA文件的两种写法! (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=6919) |
-- 作者:wedge -- 发布时间:4/21/2004 8:41:00 PM -- 一个SCHEMA文件的两种写法! book.xml ************************** <?xml version="1.0" encoding="GB2312"?> <booklist xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nonamespaceschemalocation="book1.xsd"> <book sales="N"> <code>F8917</code> <title>ASP.net入门经典</title> <authorlist> <author>wedge</author> </authorlist> <price>590</price> </book> <book sales="N"> <code>F8918</code> <title> 家常小菜</title> <authorlist> <author>wedge</author> </authorlist> <price>120</price> </book> </booklist> ************************************** book1.xsd <?xml version="1.0" encoding="GB2312"?> <xs:element name="booklist"> <xs:complexType> <xs:sequence> <xs:element name="book" type="booktype" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="booktype"> <xs:sequence> <xs:element name="code" type="xs:string"/> <xs:element name="title" type="xs:string"/> <xs:element name="authorlist" type="authorlisttype"/> <xs:element name="price" type="price"/> </xs:sequence> <xs:attribute name="sales" use="required"> <xs:simpleType> <xs:restriction base="xs:nmtoken"> <xs:enumeration value="N"/> <xs:enumeration value="Y"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> <xs:complexType name="authorlisttype"> <xs:sequence> <xs:element name="author" type="xs:string" fixed="wedge"/> </xs:sequence> </xs:complexType> </xs:schema> ************************************* book2.xsd ************************ <?xml version="1.0" encoding="GB2312"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="booklist"> <xs:complexType> <xs:sequence> <xs:element name="book" maxOccurs="unbounded"> <xs:complexType > <xs:sequence> <xs:element name="code" type="xs:string"></xs:element> <xs:element name="title" type="xs:string"></xs:element> <xs:element name="authorlist"> <xs:complexType > <xs:sequence> <xs:element name="author" type="xs:string"></xs:element> </xs:complexType> |
-- 作者:wedge -- 发布时间:4/22/2004 7:08:00 PM -- 再加上一种方法,利用complextype的子元素group来做。先定义一个group组,在element中用ref引用。 bookgroup.xsd ********************* <?xml version="1.0" encoding="GB2312"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:group name="bookdata"><xs:sequence> <xs:element name="code" type="xs:string"/> <xs:element name="title" type="xs:string"/> <xs:element name="authorlist" type="authorlisttype"/> <xs:element name="price" type="xs:decimal"/> </xs:sequence> </xs:group> <xs:element name="booklist"> <xs:complexType> <xs:sequence> <xs:element name="book" type="booktype" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="booktype">
|
-- 作者:wedge -- 发布时间:4/22/2004 7:10:00 PM -- 还可以有一种写法,把元素改为属性,用attributegroup来做。不过,好象属性写法不利于其结构化。 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
46.875ms |