-- 作者:yorsal
-- 发布时间:3/6/2008 3:06:00 PM
--
这个是我自己写的,在XMLWRITER下面出错,不知道怎么调试,高手帮忙啊 <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:annotation> <xsd:documentation> This XML Schema is for the customer flights XML file This Schema file is called "schema01.xsd" </xsd:documentation> </xsd:annotation> <!-- ********************1st layer************************* --> <!-- ROOT --> <xsd:element name="customers" > <xsd:complexType> <xsd:sequence> <xsd:element ref="customer" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <!-- ********************2nd layer************************* --> <!-- CUSTOMER ELEMENT --> <xsd:element name="customer" > <xsd:complexType> <xsd:sequence> <xsd:element ref="cname"/> <xsd:element ref="caddress"/> <xsd:element ref="contacts"/> <xsd:element ref="flights" minOccurs="0"/> </xsd:sequence> <!-- ATTRIBUTE --> <xsd:attribute name="cno" type="xsd:string" use="required"/> <xsd:attribute name="corporate" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> <!-- CNAME ELEMENT --> <xsd:element name="cname" > <xsd:complexType> <xsd:sequence> <xsd:element ref="gName" minOccurs="0"/> <xsd:element ref="fName" minOccurs="0"/> <xsd:element ref="companyName" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:element> <!-- CADDRESS ELEMENT --> <xsd:element name="caddress" > <xsd:complexType> <xsd:sequence> <xsd:element ref="cstreet"/> <xsd:element ref="csuburb"/> <xsd:element ref="cstate"/> <xsd:element ref="cpostcode"/> </xsd:sequence> </xsd:complexType> </xsd:element> <!-- CONTACTS ELEMENT --> <xsd:element name="contacts" > <xsd:complexType> <xsd:sequence> <xsd:choice> <xsd:element ref="home"/> <xsd:element ref="name"/> </xsd:choice> <xsd:element ref = "mobile"/> <xsd:element ref = "office"/> </xsd:sequence> </xsd:complexType> </xsd:element> <!-- FLIGHTS ELEMENT --> <xsd:element name="flights" > <xsd:complexType> <xsd:sequence> <xsd:element ref="flight" maxOccurs="4"/> </xsd:sequence> </xsd:complexType> </xsd:element> <!-- ********************3rd layer************************* --> <!-- GNAME&FNAME ELEMENT --> <xsd:element name="gName" type="xsd:string"/> <xsd:element name="fName" type="xsd:string"/> <xsd:element name="companyName" type="xsd:string"/> <!-- STREET&SUBURB&STATE&POSTCODE ELEMENT --> <xsd:element name="cstreet" type="xsd:string"/> <xsd:element name="csuburb" type="xsd:string"/> <xsd:element name="cstate" type="xsd:string"/> <xsd:element name="cpostcode" type="xsd:integer"/> <!-- MOBILE&HOME&OFFICE&NAME ELEMENT --> <xsd:element name="name" type="xsd:string"/> <xsd:element name="home"> <xsd:complexType> <xsd:attribute name="primary" type="xsd:boolean" use="optional"/> </xsd:complexType> </xsd:element> <xsd:element name="mobile"> <xsd:complexType> <xsd:attribute name="primary" type="xsd:boolean" use="optional"/> </xsd:complexType> </xsd:element> <xsd:element name="office"> <xsd:complexType> <xsd:attribute name="primary" type="xsd:boolean" use="optional"/> </xsd:complexType> </xsd:element> <!-- FLIGHT ELEMENT --> <xsd:element name="flight" > <xsd:complexType> <xsd:sequence> <xsd:element ref="flightDate"/> <xsd:element ref="flightDetail" maxOccurs="7"/> </xsd:sequence> <!-- ATTRIBUTE --> <xsd:attribute name = "no" type="xsd:string" /> </xsd:complexType> </xsd:element> <!-- ********************4th layer************************* --> <!-- FLIGHTDATE ELEMENT --> <xsd:element name="flightDate" type="xsd:integer"/> <!-- FLIGHTDETAIL ELEMENT --> <xsd:element name="flightDetail" > <xsd:complexType> <xsd:sequence> <xsd:element ref="legNo"/> <xsd:element ref="dest"/> <xsd:element ref="seats"/> <xsd:element ref="seatPrice"/> <xsd:element ref="discount"/> </xsd:sequence> </xsd:complexType> </xsd:element> <!-- LEGNO&DEST.. ELEMENT --> <xsd:element name="legNo" type="xsd:integer"/> <xsd:element name="dest" type="xsd:string"/> <xsd:element name="seats" type="xsd:integer"/> <xsd:element name="seatPrice" type="xsd:integer"/> <xsd:element name="discount" type="xsd:integer"/> </xsd:schema>
|