XML/XML Schema/attribute — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 08:25, 26 мая 2010
Содержание
- 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
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>
Anonymous complexType with attribute
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>
anyURI type attribute
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>
Attribute based on simple type with restriction and enumeration
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>
attribute type and default value
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>
attribute with default value
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>
attribute with fixed value
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>
Define fixed value for referenced attribute type
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>
fixed value for attribute type
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>
reference type as attribute type and default value
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>
Required attribute
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>
Restriction on attribute
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>