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>