عنصر extension XML Schema
تعریف و استفاده
عنصر extension به عناصر simpleType یا complexType توسعه میدهد.
اطلاعات عنصر
تعداد ظهور | یک بار |
عنصر والد | complexContent |
محتوای | نشانگر، ویژگی، گروه ویژگی، anyAttribute، انتخاب، همه، ترتیب، گروه |
نحوه استفاده
<extension id=ID base=QName ویژگیهای هر یک > (نشانگر?,((گروه|همه|انتخاب|ترتیب)?,, ((ویژگی|گروه ویژگی)*,anyAttribute?))) </extension>
ویژگیها | توضیح |
---|---|
id | اختیاری. ID منحصر به فرد این عنصر تعیین شده. |
base | ضروری. نام نوع درونی، simpleType یا complexType عناصر تعیین شده. |
xml:lang | اختیاری. زبان مورد استفاده در محتوای تعیین شده. |
نشانگر (? در داخل عنصر extension قرار دارد، این عنصر میتواند صفر یا یک بار ظاهر شود، * نشانگر این است که این عنصر میتواند صفر یا چند بار ظاهر شود.)
مثال
مثال 1
این مثال با اضافه کردن یک attribute، به یک simpleType موجود توسعه مییابد:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:simpleType name="size"> <xs:restriction base="xs:string"> <xs:enumeration value="small" /> <xs:enumeration value="medium" /> <xs:enumeration value="large" /> </xs:restriction> </xs:simpleType> <xs:complexType name="jeans"> <xs:simpleContent> <xs:extension base="size"> <xs:attribute name="sex"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="male" /> <xs:enumeration value="female" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:schema>
مثال 2
این مثال با اضافه کردن سه عنصر، به یک element complexType موجود توسعه مییابد:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="employee" type="fullpersoninfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="fullpersoninfo"> <xs:complexContent> <xs:extension base="personinfo"> <xs:sequence> <xs:element name="address" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="country" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema>