Element XML Schema "redefine"
Definicja i zastosowanie
Element "redefine" pozwala na ponowne zdefiniowanie w bieżącym Schemacie prostych i złożonych typów, grup i grup atrybutów pobranych z zewnętrznych plików architektonicznych.
Informacje o elemencie
Liczba wystąpień | Bez ograniczeń |
Rodzic | schema |
Zawartość | annotation, attributeGroup, complexType, group, simpleType |
Gramatyka
<redefine id=ID schemaLocation=anyURI Jakiekolwiek atrybuty > (annotation|(simpleType|complexType|group|attributeGroup))* </redefine>
Atrybuty | Opis |
---|---|
id | Opcjonalne. Określa unikalny ID elementu. |
schemaLocation | Wymagane. Odwołanie URI do lokalizacji dokumentu schematu. |
Jakiekolwiek atrybuty | Opcjonalne. Określa jakiekolwiek inne atrybuty z non-schematycznej przestrzeni nazw. |
Przykład
Przykład 1
Poniższy przykład pokazuje schemat, Myschama2.xsd, w którym istnieją elementy zdefiniowane w Myschama1.xsd. Typ "pname" jest ponownie zdefiniowany. Według tego schematu, elementy ograniczone przez "pname" muszą kończyć się elementem "country":
Myschema1.xsd:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="pname"> <xs:sequence> <xs:element name="firstname"/> <xs:element name="lastname"/> </xs:sequence> </xs:complexType> <xs:element name="customer" type="pname"/> </xs:schema>
Myschema2.xsd:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:redefine schemaLocation="Myschema1.xsd"> <xs:complexType name="pname"> <xs:complexContent> <xs:extension base="pname"> <xs:sequence> <xs:element name="country"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:redefine> <xs:element name="author" type="pname"/> </xs:schema>