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>

(? 符号声明在 element 元素中,该元素可出现零次或一次,* 符号声明元素可出现零次或多次。)

属性

id

choosable.规定该元素的唯一的 ID。

name

choosable.规定元素的名称。如果父元素是 schema 元素,则此属性是必需的。

ref

choosable.对另一个元素的引用。ref 属性可包含一个命名空间前缀。如果父元素是 schema 元素,则不是使用该属性。

type

choosable.规定内建数据类型的名称,或者规定 simpleType 或 complexType 元素的名称。

substitutionGroup

choosable.规定可用来替代该元素的元素的名称。 该元素必须具有相同的类型或从指定元素类型派生的类型。

如果父元素不是 schema 元素,则不可以使用该属性。

default

choosable.为元素规定默认值(仅当元素内容是简单类型或 textOnly 时使用)。

fixed

choosable.为元素规定固定值(仅当元素内容是简单类型或 textOnly 时使用)。

form

choosable.该元素的形式。 默认值是包含该属性的 schema 元素的 elementFormDefault 属性的值。 该值必须是下列字符串之一: “qualified” 或 “unqualified”。

ਜੇਕਰ ਮਾਤਾ ਐਲੀਮੈਂਟ schema ਐਲੀਮੈਂਟ ਹੈ ਤਾਂ ਇਹ ਪ੍ਰਤੀਯੋਗਿਤਾ ਨਹੀਂ ਵਰਤਿਆ ਜਾ ਸਕਦਾ।

  • 如果该值是 “unqualified”,则无须通过命名空间前缀限定该元素。
  • 如果该值是 “qualified”,则必须通过命名空间前缀限定该元素。

maxOccurs

choosable.规定 element 元素在父元素中可出现的最大次数。该值可以是大于或等于零的整数。若不想对最大次数设置任何限制,请使用字符串 "unbounded"。 默认值为 1。

ਜੇਕਰ ਮਾਤਾ ਐਲੀਮੈਂਟ schema ਐਲੀਮੈਂਟ ਹੈ ਤਾਂ ਇਹ ਪ੍ਰਤੀਯੋਗਿਤਾ ਨਹੀਂ ਵਰਤਿਆ ਜਾ ਸਕਦਾ।

minOccurs

可选。规定 element 元素在父元素中可出现的最小次数。该值可以是大于或等于零的整数。默认值为 1。

ਜੇਕਰ ਮਾਤਾ ਐਲੀਮੈਂਟ schema ਐਲੀਮੈਂਟ ਹੈ ਤਾਂ ਇਹ ਪ੍ਰਤੀਯੋਗਿਤਾ ਨਹੀਂ ਵਰਤਿਆ ਜਾ ਸਕਦਾ।

nillable

ਚੋਣਯੋਗ।ਇਹ ਸੁਝਾਅ ਦਿੰਦਾ ਹੈ ਕਿ ਕੀ ਇਸ ਐਲੀਮੈਂਟ ਨੂੰ ਮੁੱਖ ਮੁੱਲ (nil ਪ੍ਰਤੀਯੋਗਿਤਾ) ਸੈਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।ਇਹ ਪ੍ਰਤੀਯੋਗਿਤਾ ਐਲੀਮੈਂਟ ਦੇ ਸਮੱਗਰੀ ਦੀ ਉਪਯੋਗਤਾ ਲਈ ਲਾਗੂ ਹੁੰਦਾ ਹੈ ਅਤੇ ਇਹ ਐਲੀਮੈਂਟ ਦੀ ਪ੍ਰਤੀਯੋਗਿਤਾ ਨਹੀਂ ਹੈ।ਮੂਲ ਮੁੱਲ false ਹੈ।

ਜੇਕਰ nillable true ਹੈ ਤਾਂ ਇਸ ਐਲੀਮੈਂਟ ਦੇ ਉਪਭੋਗਤਾ ਦਸਤਾਵੇਜ਼ ਦੀ ਮਿਸਾਲ ਨੂੰ nil ਪ੍ਰਤੀਯੋਗਿਤਾ ਸੈਟ ਕਰ ਸਕਦਾ ਹੈ।nil ਪ੍ਰਤੀਯੋਗਿਤਾ ਉਪਭੋਗਤਾ ਦਸਤਾਵੇਜ਼ ਦੇ XML ਚਟਾਨੀਕਰਣ ਦੇ ਇੱਕ ਹਿੱਸੇ ਵਜੋਂ ਪਰਿਭਾਸ਼ਿਤ ਹੈ।

ਉਦਾਹਰਣ ਵਜੋਂ ਅਗਲਾ ਪ੍ਰਹਿਲਾ ਇੱਕ ਸਿੱਧੀ ਐਲੀਮੈਂਟ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼ ਕਰਦਾ ਹੈ ਅਤੇ nillable ਨੂੰ true ਸੈਟ ਕਰਦਾ ਹੈ।

<xs:element name="myDate" type="xs:date" nillable="true"/>

ਅਗਲਾ ਪ੍ਰਹਿਲਾ ਇਸ ਐਲੀਮੈਂਟ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਅਤੇ ਮੁੱਖ ਮੁੱਲ (nil ਪ੍ਰਤੀਯੋਗਿਤਾ ਸੈਟ ਕੀਤੀ ਗਈ ਹੈ) ਹੈ।

<myDate xsi:nil="true"></myDate>

abstract

ਚੋਣਯੋਗ।ਇਹ ਸੁਝਾਅ ਦਿੰਦਾ ਹੈ ਕਿ ਐਲੀਮੈਂਟ ਨੂੰ ਉਪਭੋਗਤਾ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ ਕਿ ਨਹੀਂ।ਜੇਕਰ ਇਹ ਮੁੱਲ true ਹੈ ਤਾਂ ਐਲੀਮੈਂਟ ਉਪਭੋਗਤਾ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਨਹੀਂ ਹੋ ਸਕਦਾ। ਬਦਲੇ ਵਿੱਚ substitutionGroup ਪ੍ਰਤੀਯੋਗਿਤਾ ਵਿੱਚ ਇਸ ਐਲੀਮੈਂਟ ਦੇ ਸੰਕੇਤਕ ਨਾਮ (QName) ਦੇ ਹੋਰ ਐਲੀਮੈਂਟ ਇਸ ਐਲੀਮੈਂਟ ਦੇ ਸਥਾਨ ਵਿੱਚ ਹੋਣਗੇ।ਕਈ ਐਲੀਮੈਂਟ ਇਸ ਐਲੀਮੈਂਟ ਦੀ substitutionGroup ਪ੍ਰਤੀਯੋਗਿਤਾ ਵਿੱਚ ਹਵਾਲਾ ਦਿੰ ਸਕਦੇ ਹਨ।ਮੂਲ ਮੁੱਲ false ਹੈ।

block

ਚੋਣਯੋਗ।ਵਿਸ਼ਿਸ਼ਟ ਟਾਈਪ।block ਪ੍ਰਤੀਯੋਗਿਤਾ ਇਸ ਐਲੀਮੈਂਟ ਨੂੰ ਵਰਤਣ ਵਾਲੇ ਵਿਸ਼ਿਸ਼ਟ ਟਾਈਪ ਦੀ ਰੋਕ ਕਰਦੀ ਹੈ।ਇਹ ਮੁੱਲ #all ਜਾਂ ਇੱਕ ਸੂਚੀ ਦੇ ਸਮੇਤ ਹੋ ਸਕਦਾ ਹੈ ਜੋ extension, restriction ਜਾਂ substitution ਦੀ ਉਪ ਸੂਚੀ ਹੈ:

  • extension - ਇਸ ਐਲੀਮੈਂਟ ਦੀ ਤਬਦੀਲੀ ਕਰਨ ਵਾਲੇ ਵਿਸ਼ਿਸ਼ਟ ਐਲੀਮੈਂਟਾਂ ਨੂੰ ਰੋਕਣ ਲਈ ਵਰਤੋਂ ਕਰੋ।
  • restriction - ਇਸ ਐਲੀਮੈਂਟ ਦੀ ਤਬਦੀਲੀ ਕਰਨ ਵਾਲੇ ਵਿਸ਼ਿਸ਼ਟ ਐਲੀਮੈਂਟਾਂ ਨੂੰ ਰੋਕਣ ਲਈ ਵਰਤੋਂ ਕਰੋ।
  • substitution - ਇਸ ਐਲੀਮੈਂਟ ਦੀ ਤਬਦੀਲੀ ਕਰਨ ਵਾਲੇ ਵਿਸ਼ਿਸ਼ਟ ਐਲੀਮੈਂਟਾਂ ਨੂੰ ਰੋਕਣ ਲਈ ਵਰਤੋਂ ਕਰੋ।
  • #all - ਇਸ ਐਲੀਮੈਂਟ ਦੀ ਤਬਦੀਲੀ ਕਰਨ ਵਾਲੇ ਸਾਰੇ ਵਿਸ਼ਿਸ਼ਟ ਐਲੀਮੈਂਟਾਂ ਨੂੰ ਰੋਕਣ ਲਈ ਵਰਤੋਂ ਕਰੋ।

final

ਚੋਣਯੋਗ।element ਐਲੀਮੈਂਟ 'ਤੇ final ਪ੍ਰਤੀਯੋਗਿਤਾ ਦੀ ਮੂਲ ਕੀਮਤ ਸੈਟ ਕਰੋ।ਜੇਕਰ ਮਾਤਾ ਐਲੀਮੈਂਟ schema ਐਲੀਮੈਂਟ ਨਹੀਂ ਹੈ ਤਾਂ ਇਹ ਪ੍ਰਤੀਯੋਗਿਤਾ ਨਹੀਂ ਵਰਤਿਆ ਜਾ ਸਕਦਾ।ਇਹ ਮੁੱਲ #all ਜਾਂ ਇੱਕ ਸੂਚੀ ਦੇ ਸਮੇਤ ਹੋ ਸਕਦਾ ਹੈ ਜੋ extension ਜਾਂ restriction ਦੀ ਉਪ ਸੂਚੀ ਹੈ:

  • extension - ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਬਦਲਣ ਲਈ ਵਧਾਈ ਵੱਡੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਰੋਕਣ ਵਾਲਾ
  • restriction - ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਬਦਲਣ ਲਈ ਸੀਮਤ ਵੱਡੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਰੋਕਣ ਵਾਲਾ
  • #all - ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਬਦਲਣ ਲਈ ਸਾਰੇ ਵੱਡੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਰੋਕਣ ਵਾਲਾ

ਕੋਈ ਵੀ ਵਿਸ਼ੇਸ਼ਤਾ

ਚੋਣੀ ਸ਼ਕਤੀ ਵਾਲੀ।ਕੋਈ ਵੀ non-schema ਨਾਮ ਸਪੇਸ਼ਨ ਵਾਲੀ ਹੋਰ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਨਿਰਧਾਰਿਤ ਕਰੋ。

ਉਦਾਹਰਣ

ਉਦਾਹਰਣ 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>