XML Schema attribute 元素
定義和用法
attribute 元素定義一個屬性。
元素信息
出現次數 | 在 schema 元素中定義一次。 在複雜類型或屬性組中引用多次。 |
父元素 | attributeGroup、schema、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent) |
內容 | annotation、simpleType |
語法
<attribute default=string fixed=string form=qualified|unqualified id=ID name=NCName ref=QName type=QName use=optional|prohibited|required anumang attributes > (annotation?,(simpleType?)) </attribute>
(? 符號聲明該元素可在 attribute 元素中出現零次或一次。)
屬性
default
可選。規定屬性的默認值。default 和 fixed 屬性不能同時出現。
fixed
可選。規定屬性的固定值。default 和 fixed 屬性不能同時出現。
form
可選。規定屬性的格式。默認值是包含該屬性的 schema 元素的 attributeFormDefault 屬性的值。可以設置為下列值:
- "qualified" - 指示必須通過命名空間前綴和該屬性的無冒號名稱 (NCName) 來限定此屬性。
- "unqualified" - Hinahintulutan na ang katangian na ito ay hindi dapat magkaroon ng isang prefix ng pangalan ng pangwakas, at hindi dapat magkakaroon ng pangalan na walang barya (NCName), o lokal na pangalan.
id
Opisyal. Tukuyin ang tanging ID ng elemento na ito.
name
Opisyal. Tukuyin ang pangalan ng katangian. Ang name at ref katangian ay hindi maaaring magkakaroon ng parehong panlimanghalaga.
ref
Opisyal. Tukuyin ang pagrerefeランザ ang pinagmumulan na katangian. Ang name at ref katangian ay hindi maaaring magkakaroon ng parehong panlimanghalaga. Kapag lumitaw ang ref, ang simpleType elemento, form at type ay hindi maaaring lumitaw.
type
Opisyal. Tukuyin ang panlabas na uri ng datos o simple na uri. Ang type katangian ay maaaring lumitaw lamang kapag ang nilalaman ay hindi naglalaman ng simpleType elemento.
use
Opisyal. Tukuyin kung paano gamitin ang katangian. Maaaring itakda ang mga sumusunod na halaga:
- optional - Ang katangian ay opisyal at maaaring magkaroon ng anumang halaga (default).
- prohibited - Hindi maaaring gamitin ang katangian.
- required - Ang kailangan na katangian.
anumang attributes
Opisyal. Ipinagbabawal ang anumang iba pang katangian na may non-schema na pangalan ng pangwakas.
Halimbawa
Halimbawa 1
<xs:attribute name="code"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z][A-Z]"/> </xs:restriction> </xs:simpleType> </xs:attribute>
Ang halimbawa sa itaas ay inaalarma na ang katangian "code" ay may pagpipigil. Ang tanging pinahihintulutang na halaga ay dalawang titik malalim mula sa A hanggang Z.
Halimbawa 2
Kung nais gamitin ang isang naunang paglilinaw ng katangian sa isang kompleksong uri ng paglilinaw upang ipahayag ang katangian, gamitin ang ref katangian:
<xs:attribute name="code"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z][A-Z]"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:complexType name="someComplexType"> <xs:attribute ref="code"/> </xs:complexType>
Halimbawa 3
Ang katangian ay maaaring mayroon default na halaga o pinagmumulan na matatag na halaga. Kapag walang anong pinagmumulan na halaga, ay awtomatikong pinapaghahati ang default na halaga sa katangian. Sa mga susunod na halimbawa, ang default na halaga ay "EN":
<xs:attribute name="lang" type="xs:string" default="EN"/>
Wala kahit anong pinagmumulan na halaga, ay awtomatikong pinapaghahati ang matatag na halaga sa katangian. Ngunit kung magkakaroon ng ibang halaga sa labas ng matatag na halaga na inihahanda ng katangian, ang dokumento ay tiniwalag bilang walang katiyakan. Sa mga susunod na halimbawa, ang matatag na halaga ay "EN":
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
Halimbawa 4
Lahat ng mga Atribute ay naaayon sa pamamaraan na ito bilang optional. Kung nais mong malinaw na ituring ang atribute bilang optional, gamitin ang attribute na "use":
<xs:attribute name="lang" type="xs:string" use="optional"/>
Gawing mga dapat mangatwirang Atribute ang mga Atribute:
<xs:attribute name="lang" type="xs:string" use="required"/>