عناصر XSD الفارغة
لا يمكن أن يحتوي العنصر المركب الفارغ على محتويات ، بل سمات فقط.
العناصر المعقدة الفارغة
عنصر XML فارغ:
<product prodid="1345" />
لا يحتوي عنصر "المنتج" أعلاه على محتوى على الإطلاق. لتحديد نوع بدون محتوى ، يجب علينا تحديد نوع يسمح بالعناصر الموجودة في محتواه ، لكننا لا نعلن في الواقع عن أي عناصر ، مثل هذا:
<xs:element name="product">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="xs:integer">
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
في المثال أعلاه ، نحدد نوعًا معقدًا بمحتوى معقد. يشير عنصر المحتوى المعقد إلى أننا نعتزم تقييد نموذج المحتوى لنوع معقد أو توسيعه ، ويعلن تقييد العدد الصحيح سمة واحدة ولكنه لا يقدم أي محتوى عنصر.
ومع ذلك ، من الممكن إعلان عنصر "المنتج" بشكل أكثر إحكاما ، على النحو التالي:
<xs:element name="product">
<xs:complexType>
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>
</xs:element>
أو يمكنك تسمية عنصر complexType ، والسماح لعنصر "product" بامتلاك سمة type التي تشير إلى اسم complexType (إذا كنت تستخدم هذه الطريقة ، يمكن أن تشير عدة عناصر إلى نفس النوع المعقد):
<xs:element name="product" type="prodtype"/>
<xs:complexType name="prodtype">
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>