XML/XML Schema/all — различия между версиями
(нет различий)
|
Версия 21:22, 25 мая 2010
all and Complex type
<source lang="xml">
File: Data.xml <?xml version="1.0"?> <Books xmlns="http://www.wbex.ru"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wbex.ru Schema.xsd"> <Book> <Date>2008</Date> <Title>title 1</Title> <Author>author 1</Author> <ISBN>1-11111-111-1</ISBN> <Publisher>Publisher 1</Publisher> </Book> <Book> <ISBN>0-111-11111-1</ISBN> <Title>title 2</Title> <Author>author 2</Author> <Date>2007</Date> <Publisher>Publisher 2</Publisher> </Book> <Book> <Publisher>Publisher 3</Publisher> <Title>title 3</Title> <Author>author 3</Author> <Date>2004</Date> <ISBN>0-11-111111-1</ISBN> </Book>
</Books>
File: Schema.xsd <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.wbex.ru" xmlns="http://www.wbex.ru" elementFormDefault="qualified"> <xsd:element name="Books"> <xsd:complexType> <xsd:sequence> <xsd:element name="Book" maxOccurs="unbounded"> <xsd:complexType> <xsd:all> <xsd:element name="Title" type="xsd:string"/> <xsd:element name="Author" type="xsd:string"/> <xsd:element name="Date" type="xsd:string"/> <xsd:element name="ISBN" type="xsd:string"/> <xsd:element name="Publisher" type="xsd:string"/> </xsd:all> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element>
</xsd:schema>
</source>
complexType mixed="true" and xsd:all
<source lang="xml">
File: Data.xml <?xml version="1.0"?> <letter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="Schema.xsd"> <greeting> <hello /> Hi, </greeting> <body> This is the body. <item /> <price /> <arrivalDate /> </body> <closing>Just closing.<lax/></closing>
</letter> File: Schema.xsd <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="letter"> <xsd:complexType mixed="true"> <xsd:sequence> <xsd:element name="greeting"> <xsd:complexType mixed="true"> <xsd:group ref="salutations"/> </xsd:complexType> </xsd:element> <xsd:element name="body"> <xsd:complexType mixed="true"> <xsd:all> <xsd:element name="item"/> <xsd:element name="price"/> <xsd:element name="arrivalDate"/> </xsd:all> </xsd:complexType> </xsd:element> <xsd:element name="closing"> <xsd:complexType mixed="true"> <xsd:complexContent> <xsd:restriction base="xsd:anyType"> <xsd:sequence> <xsd:any processContents="lax"/> </xsd:sequence> </xsd:restriction> </xsd:complexContent> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:group name="salutations"> <xsd:choice> <xsd:element name="hello"/> <xsd:element name="hi"/> <xsd:element name="dear"/> </xsd:choice> </xsd:group>
</xsd:schema>
</source>