XML/XML Schema/unique

Материал из Web эксперт
Версия от 11:26, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

unique field

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>
      <Title>title 1</Title>
      <Author>author 1</Author>
      <Date>1998</Date>
      <Publisher>publisher 1</Publisher>
   </Book>
   <Book>
      <Title>title 2</Title>
      <Author>author 2</Author>
      <Date>1977</Date>
      <ISBN>2-222-22222-2</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"
            xmlns:bk="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"/>
                            <xsd:element name="Date" type="xsd:string"/>
                            <xsd:element name="ISBN" type="xsd:string" minOccurs="0"/>
                            <xsd:element name="Publisher" type="xsd:string"/>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
            </xsd:sequence>
        </xsd:complexType>
        <xsd:unique name="UNIQ">
            <xsd:selector xpath="bk:Book"/>
            <xsd:field xpath="bk:ISBN"/>
        </xsd:unique>
    </xsd:element>
</xsd:schema>