XML/XML Schema/attribute
Содержание
- 1 Add namespace to attribute
- 2 Anonymous complexType with attribute
- 3 anyURI type attribute
- 4 Attribute based on simple type with restriction and enumeration
- 5 attribute type and default value
- 6 attribute with default value
- 7 attribute with fixed value
- 8 Define fixed value for referenced attribute type
- 9 fixed value for attribute type
- 10 reference type as attribute type and default value
- 11 Required attribute
- 12 Restriction on attribute
Add namespace to attribute
<source lang="xml">
File: Data.xml <?xml version="1.0"?> <images xmlns="http://www.wbex.ru"
xmlns:i="http://www.wbex.ru" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.wbex.ru Schema.xsd"> <image/> <image i:src="http://www.wbex.ru/style/logo.png"/>
</images>
File: Schema.xml <?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="image"> <xsd:complexType> <xsd:attribute ref="src"/> </xsd:complexType> </xsd:element> <xsd:attribute name="src" type="xsd:anyURI"/> <xsd:element name="images"> <xsd:complexType> <xsd:sequence> <xsd:element ref="image" maxOccurs="2"/> </xsd:sequence> </xsd:complexType> </xsd:element>
</xsd:schema>
</source>
Anonymous complexType with attribute
<source lang="xml">
File: Data.xml <?xml version="1.0"?> <images xmlns="http://www.wbex.ru"
xmlns:ex="http://www.wbex.ru" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.wbex.ru Schema.xsd"> <image/> <image src="http://www.wbex.ru"/>
</images> File: Schema.xml <?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="image"> <xsd:complexType> <xsd:attribute name="src" fixed="http://www.wbex.ru"> <xsd:simpleType> <xsd:restriction base="xsd:anyURI"> <xsd:enumeration value="http://www.wbex.ru"/> <xsd:enumeration value="http://www.wbex.ru/style/logo.png"/> <xsd:enumeration value="http://www.wbex.ru/isbn.html"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name="images"> <xsd:complexType> <xsd:sequence> <xsd:element ref="image" maxOccurs="2"/> </xsd:sequence> </xsd:complexType> </xsd:element>
</xsd:schema>
</source>
anyURI type attribute
<source lang="xml">
File: Data.xml <?xml version="1.0"?> <images xmlns="http://www.wbex.ru"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wbex.ru Schema.xsd"> <image href="http://www.wbex.ru/Style/Logo.png"/>
</images> 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="images"> <xsd:complexType> <xsd:sequence> <xsd:element name="image" maxOccurs="unbounded"> <xsd:complexType> <xsd:attribute name="href" type="xsd:anyURI" use="required"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element>
</xsd:schema>
</source>
Attribute based on simple type with restriction and enumeration
<source lang="xml">
File: Data.xml <?xml version="1.0"?> <images xmlns="http://www.wbex.ru"
xmlns:i="http://www.wbex.ru" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.wbex.ru Schema.xsd">
<image/> <image i:src="http://www.wbex.ru/style/logo.png"/>
</images> File: Schema.xml <?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="image"> <xsd:complexType> <xsd:attribute ref="src"/> </xsd:complexType> </xsd:element> <xsd:attribute name="src" default="http://www.wbex.ru"> <xsd:simpleType> <xsd:restriction base="xsd:anyURI"> <xsd:enumeration value="http://www.wbex.ru"/> <xsd:enumeration value="http://www.wbex.ru/style/logo.png"/> <xsd:enumeration value="http://www.wbex.ru/isbn.html"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:element name="images"> <xsd:complexType> <xsd:sequence> <xsd:element ref="image" maxOccurs="2"/> </xsd:sequence> </xsd:complexType> </xsd:element>
</xsd:schema>
</source>
attribute type and default value
<source lang="xml">
File: Data.xml <?xml version="1.0"?> <images xmlns="http://www.wbex.ru"
xmlns:i="http://www.wbex.ru" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.wbex.ru Schema.xsd"> <image/> <image i:src="http://www.wbex.ru/style/logo.png"/>
</images> File: Schema.xml <?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="image"> <xsd:complexType> <xsd:attribute ref="src"/> </xsd:complexType> </xsd:element> <xsd:attribute name="src" type="xsd:anyURI" default="http://www.wbex.ru"/> <xsd:element name="images"> <xsd:complexType> <xsd:sequence> <xsd:element ref="image" maxOccurs="2"/> </xsd:sequence> </xsd:complexType> </xsd:element>
</xsd:schema>
</source>
attribute with default value
<source lang="xml">
File: Data.xml <?xml version="1.0"?> <images xmlns="http://www.wbex.ru"
xmlns:ex="http://www.wbex.ru" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wbex.ru Schema.xsd"> <image/> <image src="http://www.wbex.ru/style/logo.png"/>
</images> File: Schema.xml <?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="image"> <xsd:complexType> <xsd:attribute name="src" type="xsd:anyURI" default="http://www.wbex.ru"/> </xsd:complexType> </xsd:element> <xsd:element name="images"> <xsd:complexType> <xsd:sequence> <xsd:element ref="image" maxOccurs="2"/> </xsd:sequence> </xsd:complexType> </xsd:element>
</xsd:schema>
</source>
attribute with fixed value
<source lang="xml">
File: Data.xml <?xml version="1.0"?> <images xmlns="http://www.wbex.ru"
xmlns:ex="http://www.wbex.ru" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.wbex.ru Schema.xsd"> <image/> <image src="http://www.wbex.ru"/>
</images> File: Schema.xml <?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="image"> <xsd:complexType> <xsd:attribute name="src" type="xsd:anyURI" fixed="http://www.wbex.ru"/> </xsd:complexType> </xsd:element> <xsd:element name="images"> <xsd:complexType> <xsd:sequence> <xsd:element ref="image" maxOccurs="2"/> </xsd:sequence> </xsd:complexType> </xsd:element>
</xsd:schema>
</source>
Define fixed value for referenced attribute type
<source lang="xml">
File: Data.xml <?xml version="1.0"?> <images xmlns="http://www.wbex.ru"
xmlns:i="http://www.wbex.ru" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.wbex.ru Schema.xsd"> <image/> <image i:src="http://www.wbex.ru"/>
</images> File: Schema.xml <?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="image"> <xsd:complexType> <xsd:attribute ref="src" fixed="http://www.wbex.ru"/> </xsd:complexType> </xsd:element> <xsd:attribute name="src" type="xsd:anyURI"/> <xsd:element name="images"> <xsd:complexType> <xsd:sequence> <xsd:element ref="image" maxOccurs="2"/> </xsd:sequence> </xsd:complexType> </xsd:element>
</xsd:schema>
</source>
fixed value for attribute type
<source lang="xml">
File: Data.xml <?xml version="1.0"?> <images xmlns="http://www.wbex.ru"
xmlns:i="http://www.wbex.ru" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wbex.ru Schema.xsd"> <image/> <image i:src="http://www.wbex.ru"/>
</images> File: Schema.xml <?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="image"> <xsd:complexType> <xsd:attribute ref="src"/> </xsd:complexType> </xsd:element> <xsd:attribute name="src" type="xsd:anyURI" fixed="http://www.wbex.ru"/> <xsd:element name="images"> <xsd:complexType> <xsd:sequence> <xsd:element ref="image" maxOccurs="2"/> </xsd:sequence> </xsd:complexType> </xsd:element>
</xsd:schema>
</source>
reference type as attribute type and default value
<source lang="xml">
File: Data.xml <?xml version="1.0"?> <images xmlns="http://www.wbex.ru"
xmlns:i="http://www.wbex.ru" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.wbex.ru Schema.xsd"> <image/> <image i:src="http://www.wbex.ru/style/logo.png"/>
</images> File: Schema.xml <?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="image"> <xsd:complexType> <xsd:attribute ref="src" default="http://www.wbex.ru"/> </xsd:complexType> </xsd:element> <xsd:attribute name="src" type="xsd:anyURI"/> <xsd:element name="images"> <xsd:complexType> <xsd:sequence> <xsd:element ref="image" maxOccurs="2"/> </xsd:sequence> </xsd:complexType> </xsd:element>
</xsd:schema>
</source>
Required attribute
<source lang="xml">
File: Data.xml <?xml version="1.0"?> <images xmlns="http://www.wbex.ru"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wbex.ru Schema.xsd"> <image href="http://www.wbex.ru/Style/Logo.png"/>
</images> 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="images"> <xsd:complexType> <xsd:sequence> <xsd:element name="image" maxOccurs="unbounded"> <xsd:complexType> <xsd:attribute name="href" type="xsd:anyURI" use="required"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element>
</xsd:schema>
</source>
Restriction on attribute
<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 Category="autobiography" InStock="true" Reviewer="R1"> <Title>title 1</Title> <Author>author 1</Author> <Date>2008</Date> <ISBN>1-11111-111-1</ISBN> <Publisher>Publisher 1</Publisher> </Book> <Book Category = "fiction" InStock = "false" Reviewer = "R2"> <Title>title 2</Title> <Author>author 2</Author> <Date>2007</Date> <ISBN>0-111-11111-1</ISBN> <Publisher>Publisher 2</Publisher> </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:sequence> <xsd:element name="Title" type="xsd:string"/> <xsd:element name="Author" type="xsd:string" maxOccurs="unbounded"/> <xsd:element name="Date" type="xsd:string"/> <xsd:element name="ISBN" type="xsd:string"/> <xsd:element name="Publisher" type="xsd:string"/> </xsd:sequence> <xsd:attributeGroup ref="BookAttributes"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:attributeGroup name="BookAttributes"> <xsd:attribute name="Category" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value="autobiography"/> <xsd:enumeration value="non-fiction"/> <xsd:enumeration value="fiction"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="InStock" type="xsd:boolean" default="false"/> <xsd:attribute name="Reviewer" type="xsd:string" default="none"/> </xsd:attributeGroup>
</xsd:schema>
</source>