XML Schema restriction für element UND attribut

H

hibatsu

Moin, ich habe hier für eine kleine Testdatenbank den Typ Personen definiert. Dieser hat ein Element "telefon" mit Attribut typ (mobil|festnetz) und der Nummer (nur Zahlen und Abstände). Wie kann ich das Schema richtig definieren? Mein parser spuckt einen Fehler nach dem anderen aus...

Sollte etwa so aussehen:
Code:
...
<telefon typ="mobil">023 447 55 66</telefon>
...

Code:
    <xs:complexType name="personen">
        <xs:complexContent>
            <xs:extension base="tiere">
                <xs:sequence>
                    <xs:element name="telefon">
                        <xs:complexType>
                            <xs:simpleContent>                            
                                <xs:restriction base="xs:string">
                                    <xs:pattern value="([ 0-9\+]+)" />
                                    <xs:attribute name="typ">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:pattern value="mobil|festnetz" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:attribute>
                                </xs:restriction>
                            </xs:simpleContent>
                        </xs:complexType>
                    </xs:element>
                    ...
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
 
Zurück