XML/XML Schema/key

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

xsd:key

File: Data.xml
<?xml version="1.0"?>
<Party xmlns="http://www.wbex.ru"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://www.wbex.ru Schema.xsd">
        <names>
            <Name><First>Peter</First><Last>Brown</Last></Name>
            <Name><First>Peter</First><Last>Costello</Last></Name>
        </names>
</Party>

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:reunion="http://www.wbex.ru"
            elementFormDefault="qualified">
    <xsd:element name="Party">
        <xsd:complexType>
             <xsd:sequence>
                 <xsd:element name="names">
                     <xsd:complexType>
                         <xsd:sequence>
                             <xsd:element name="Name" minOccurs="0" maxOccurs="unbounded">
                                 <xsd:complexType>
                                     <xsd:sequence>
                                         <xsd:element name="First" type="xsd:string"/>
                                         <xsd:element name="Last" type="xsd:string"/>
                                     </xsd:sequence>
                                  </xsd:complexType>
                             </xsd:element>
                         </xsd:sequence>
                     </xsd:complexType>
                 </xsd:element>
            </xsd:sequence>
        </xsd:complexType>
        <xsd:key name="PK">
            <xsd:selector xpath="reunion:names/reunion:Name"/>
            <xsd:field xpath="reunion:First"/>
            <xsd:field xpath="reunion:Last"/>
        </xsd:key>
    </xsd:element>
</xsd:schema>