ترکیبی (XSD Mixed)
در «محتوای ترکیبی XSD»، عنصر هم «متن (Text)» دارد، هم «عنصر (Element)»، هم «ویژگی (Attribute)». بنابراین، بین تگ های فرزند، متنِ عادی هم مجاز است.
تعریف ساده محتوای ترکیبی
برای اجازه متن و عناصرِ همزمان، ویژگی mixed را true می گذاریم.
<letter>
Dear Mr. <name>John Smith</name>.
Your order <orderid>1032</orderid>
will be shipped on <shipdate>2001-07-13</shipdate>.
</letter>
اسکیما با mixed="true" و ترتیب عناصر
sequence یعنی ترتیب name، orderid، سپس shipdate رعایت شود.
<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>
نوع نام دار برای استفاده مجدد
نوع lettertype را نام دار می سازیم و دوباره استفاده می کنیم.
<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>
نکته: mixed="true" اجازه متن بین فرزندها می دهد. sequence ترتیب را اجباری می کند.
گام های تمرینی
- یک عنصر نامه با متن بساز.
- mixed را true قرار بده.
- سه فرزند با sequence تعریف کن.
ادامه مطالعه
جمع بندی سریع
- mixed متن بین فرزندها را آزاد می کند.
- sequence ترتیب فرزندها را نگه می دارد.
- نوع نام دار، استفاده مجدد می دهد.
- متن، عنصر، و ویژگی کنارهم می آیند.