Kompozytywne typy XSD z mieszaną zawartością
- Poprzednia strona XSD zawierające wyłącznie tekst
- Następna strona Indykatory XSD
Mieszane kompozytowe typy mogą zawierać atrybuty, elementy oraz tekst.
Kompozytne typy z zawartością mieszaną
Element XML, "letter", zawiera tekst oraz inne elementy:
<letter> Drogi Panu.<name>John Smith</name>. Twoje zamówienie <orderid>1032</orderid> bedzie wysłany w dniu <shipdate>2001-07-13</shipdate>. </letter>
Poniższy schema deklaruje ten element "letter":
<xs:element name="letter"> <xs:complexType mixed="true"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="orderid" type="xs:positiveInteger"/> <xs:element name="shipdate" type="xs:date"/> </xs:sequence> </xs:complexType> </xs:element>
Komentarz:Aby dane znakowe mogły występować między podelementami "letter", atrybut mixed musi być ustawiony na "true". Etykieta <xs:sequence> (name, orderid oraz shipdate) oznacza, że zdefiniowane elementy muszą pojawiać się kolejno wewnątrz elementu "letter".
Możemy również nadać nazwę elementowi complexType i umożliwić, aby atrybut type elementu "letter" odnosił się do tej nazwy complexType (dzięki temu kilka elementów może odnosić się do tego samego typu złożonego):
<xs:element name="letter" type="lettertype"/> <xs:complexType name="lettertype" mixed="true"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="orderid" type="xs:positiveInteger"/> <xs:element name="shipdate" type="xs:date"/> </xs:sequence> </xs:complexType>
- Poprzednia strona XSD zawierające wyłącznie tekst
- Następna strona Indykatory XSD