XML Schema element 元素
定义和用法
element 元素定义一个元素。
元素信息
出现次数 | 在架构中定义的元素的数目。 |
父元素 | schema、choice、all、sequence |
内容 | simpleType、complexType、key、keyref、unique |
语法
<element id=ID name=NCName ref=QName type=QName substitutionGroup=QName default=string fixed=string form=qualified|unqualified maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger nillable=true|false abstract=true|false block=(#all|list of (extension|restriction)) final=(#all|list of (extension|restriction)) ఏదైనా అంశాలు > annotation?,((simpleType|complexType)?,(unique|key|keyref)*))
(? 符号声明在 element 元素中,该元素可出现零次或一次,* 符号声明元素可出现零次或多次。)
属性
id
可选。规定该元素的唯一的 ID。
name
可选。规定元素的名称。如果父元素是 schema 元素,则此属性是必需的。
ref
可选。对另一个元素的引用。ref 属性可包含一个命名空间前缀。如果父元素是 schema 元素,则不是使用该属性。
type
可选。规定内建数据类型的名称,或者规定 simpleType 或 complexType 元素的名称。
substitutionGroup
可选。规定可用来替代该元素的元素的名称。 该元素必须具有相同的类型或从指定元素类型派生的类型。
如果父元素不是 schema 元素,则不可以使用该属性。
default
ఎంపికలు. ఈ ఎలిమెంట్ అప్రమేయ విలువను నిర్ణయిస్తుంది (ఎలిమెంట్ సహజ రకం లేదా textOnly ఉన్నప్పుడు ఉపయోగిస్తారు).
fixed
ఎంపికలు. ఈ ఎలిమెంట్ స్థిరమైన విలువను నిర్ణయిస్తుంది (ఎలిమెంట్ సహజ రకం లేదా textOnly ఉన్నప్పుడు ఉపయోగిస్తారు).
form
ఎంపికలు. ఈ ఎలిమెంట్ రూపం. అప్రమేయ విలువ ఈ లక్షణం కలిగిన స్కీమా ఎలిమెంట్ యొక్క elementFormDefault లక్షణం విలువ ఉంటుంది. ఈ విలువ క్రింది పదబంధాలలో ఒకటిగా ఉండాలి: "qualified" లేదా "unqualified".
ప్రాథమిక ఎలిమెంట్ schema ఎలిమెంట్ అయితే, ఈ అంశాన్ని వాడలేము.
- ఈ విలువ "unqualified" అయితే, ఈ ఎలిమెంట్ ను నామకరణ స్పేస్ ప్రిఫిక్స్ ద్వారా పరిమితం చేయకుండా ఉంటుంది.
- ఈ విలువ "qualified" అయితే, ఈ ఎలిమెంట్ ను నామకరణ స్పేస్ ప్రిఫిక్స్ ద్వారా పరిమితం చేయాలి.
maxOccurs
ఎంపికలు. ప్రక్రియా ఎలిమెంట్ ప్రాతిపదికగా పెరిగిన పరిమితిని నిర్ణయిస్తుంది. ఈ విలువ పెరిగిన పరిమితిని నిర్ణయించాలి లేకపోతే, "unbounded" పదబంధాన్ని వాడండి. అప్రమేయ విలువ 1 ఉంటుంది.
ప్రాథమిక ఎలిమెంట్ schema ఎలిమెంట్ అయితే, ఈ అంశాన్ని వాడలేము.
minOccurs
可选。规定 element 元素在父元素中可出现的最小次数。该值可以是大于或等于零的整数。默认值为 1。
ప్రాథమిక ఎలిమెంట్ schema ఎలిమెంట్ అయితే, ఈ అంశాన్ని వాడలేము.
nillable
ఎంపికలు. ఈ ఎలిమెంట్కు స్పష్టమైన నిరాకరణ విలువను అనుమతిస్తుంది అనేది సూచిస్తుంది. ఈ విలువ ఎలిమెంట్ యొక్క ఉపసర్గంపై వర్తిస్తుంది మరియు ఈ ఎలిమెంట్ అంశం కాదు. డిఫాల్ట్ విలువ కన్నా కన్నా తక్కువగా ఉంటుంది.
నిల్లబెట్టబడిన విలువ ఉన్నప్పుడు, ఈ ఎలిమెంట్ యొక్క ఉపసర్గం నిల్లబెట్టబడిన విలువను సెట్ చేయవచ్చు. nil అంశం XML ఆక్షమాత్మక పేరు స్పేస్ యొక్క ఒక భాగంగా నిర్వచించబడింది.
ఉదాహరణకు, ఈ ఎలిమెంట్ ఒక ఏకరకాన్ని నిర్వచించి, nillable అంశాన్ని true చేసింది.
<xs:element name="myDate" type="xs:date" nillable="true"/>
ఈ ఎలిమెంట్ ను ఉపయోగించి స్పష్టమైన నిరాకరణ విలువను కలిగి ఉంటుంది (nil అంశం వాస్తవమైనది చేయబడింది).
<myDate xsi:nil="true"></myDate>
abstract
ఎంపికలు. ఎలిమెంట్ నిర్మాణ పత్రంలో ఉపయోగించబడవచ్చు అనేది సూచిస్తుంది. ఈ విలువ true అయితే, ఎలిమెంట్ నిర్మాణ పత్రంలో కనబడదు. ప్రతికూలంగా, substitutionGroup అంశం ఈ ఎలిమెంట్ యొక్క నిర్దేశక పేరు (QName) యొక్క ఇతర ఎలిమెంట్స్ ఈ ఎలిమెంట్ స్థానంలో కనబడాలి. అనేక ఎలిమెంట్స్ వారి substitutionGroup అంశంలో ఈ ఎలిమెంట్ ను సూచించవచ్చు. డిఫాల్ట్ విలువ కన్నా కన్నా తక్కువగా ఉంటుంది.
block
ఎంపికలు. ఉపవిభాగిత రకం. block అంశం కొన్ని ఉపవిభాగిత రకాలను పునఃరూపీకరించడానికి అనుమతించకుండా చేస్తుంది. ఈ విలువ #all లేదా ఒక జాబితాను కలిగి ఉండవచ్చు, ఈ జాబితా extension, restriction లేదా substitution యొక్క ఉపవిభాగం:
- extension - ఈ ఎలిమెంట్ ను పునఃరూపీకరించడానికి అనుమతించకుండా చేస్తుంది.
- restriction - ఈ ఎలిమెంట్ ను పునఃరూపీకరించడానికి అనుమతించకుండా చేస్తుంది.
- substitution - ఈ ఎలిమెంట్ ను పునఃరూపీకరించడానికి అనుమతించకుండా చేస్తుంది.
- #all - ఈ ఎలిమెంట్ ను పునఃరూపీకరించడానికి అనుమతించకుండా చేస్తుంది.
final
ఎంపికలు. element ఎలిమెంట్ పైన final అంశం యొక్క డిఫాల్ట్ విలువను అమర్చు. ప్రాథమిక ఎలిమెంట్ schema ఎలిమెంట్ కాది అయితే, ఈ అంశాన్ని వాడలేము. ఈ విలువ �#all లేదా ఒక జాబితాను కలిగి ఉండవచ్చు, ఈ జాబితా extension లేదా restriction యొక్క ఉపవిభాగం:
- extension - ఈ అంశాన్ని ప్రత్యామ్నాయంగా ఉపయోగించడానికి నిరోధిస్తుంది
- restriction - ఈ అంశాన్ని ప్రత్యామ్నాయంగా ఉపయోగించడానికి నిరోధిస్తుంది
- #all - ఈ అంశాన్ని ప్రత్యామ్నాయంగా ఉపయోగించడానికి నిరోధిస్తుంది
ఏదైనా అంశాలు
ఎంపికమయ్యేది. నాణ్యమైన స్కీమా లేని ఏదైనా అంశాలను నిర్ణయించుట:
ఇన్స్టాన్స్
ఉదాహరణ 1
ఈ ఉదాహరణలో క్లిష్టమైన రకమైన schema ఉంది, దీనిలో నాలుగు సాధారణ అంశాలు ఉన్నాయి: "fname", "lname", "age" మరియు "dateborn", వాటి రకాలు string, nonNegativeInteger మరియు date ఉన్నాయి:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="fname" type="xs:string"/> <xs:element name="lname" type="xs:string"/> <xs:element name="age" type="xs:nonNegativeInteger"/> <xs:element name="dateborn" type="xs:date"/> </xs:schema>
ఉదాహరణ 2
ఈ ఉదాహరణలో క్లిష్టమైన రకమైన "note" అంశం కలిగిన schema ఉంది. "note" అంశం నాలుగు సాధారణ అంశాలను కలిగిస్తుంది: "to", "from", "heading" మరియు "body":
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
ఉదాహరణ 3
ఈ ఉదాహరణ ఉదాహరణ 2 తో సమానం, కానీ ఈ ఉదాహరణలో మేము ref అంశాన్ని ఉపయోగించడానికి ఎంచుకున్నాము:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element ref="to"/> <xs:element ref="from"/> <xs:element ref="heading"/> <xs:element ref="body"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:schema>