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))
any attributes
>
annotation?,((simpleType|complexType)?,(unique|key|keyref)*))
</element>

(? ຄວາມສະແດງຈະປະກອບໃນຫຼັກມົນລະພາບ element, ອາດອອກໄດ້ຫຼືບໍ່ອອກໄດ້, * ຄວາມສະແດງຈະອອກໄດ້ຫຼືບໍ່ອອກໄດ້).

ບັນດາຄວາມພິສູດ

id

ຄວາມຄິດດັ່ງກ່າວ: ຈະຈັດຕັ້ງລະຫັດຄວາມສະຖານະພາບທີ່ສະເພາະ.

name

ຄວາມຄິດດັ່ງກ່າວ: ຈະຈັດຕັ້ງຊື່ຂອງຫຼັກມົນລະພາບ. ບັນດາຄວາມພິສູດນີ້ຖ້າເປັນຫຼັກມົນລະພາບ schema.

ref

ຄວາມຄິດດັ່ງກ່າວ: ຈະຈັດຕັ້ງການອ້າງອີກຫຼັກມົນລະພາບ. ບັນດາຄວາມພິສູດ ref ສາມາດມີຄວາມແບບຂອງສາຍນອກຫຼືສາຍພາຍໃນ. ບໍ່ສາມາດໃຊ້ບັນດາຄວາມພິສູດນີ້ຖ້າເປັນຫຼັກມົນລະພາບ schema.

type

ຄວາມຄິດດັ່ງກ່າວ: ຈະຈັດຕັ້ງຊື່ຂອງຮູບແບບຂໍ້ມູນທຳມະດາ, ຫຼື ຈະຈັດຕັ້ງຊື່ຂອງຫຼັກມົນລະພາບ simpleType ຫຼື complexType.

substitutionGroup

ຄວາມຄິດດັ່ງກ່າວ: ຈະຈັດຕັ້ງຊື່ຂອງຫຼັກມົນລະພາບທີ່ຈະແບບແທນສະຫຼາດນີ້. ຫຼັກມົນລະພາບນັ້ນຕ້ອງມີຮູບແບບຄວາມຮ່ວມຫຼືລັກມົນລະພາບທີ່ອອກໄປຈາກຄວາມຮ່ວມນັ້ນ.

ບໍ່ສາມາດໃຊ້ບັນດາຄວາມພິສູດນີ້ຖ້າເປັນຫຼັກມົນລະພາບ schema.

default

ຄວາມຄິດດັ່ງກ່າວ: ຈະຈັດຕັ້ງຄູ່ມືຄົງທີ່ (ພຽງແຕ່ເວລາຫຼັກມົນລະພາບແມ່ນຮູບແບບລະອຽດຫຼື textOnly).

fixed

ຄວາມຄິດດັ່ງກ່າວ: ຈະຈັດຕັ້ງຄູ່ມືຂອງຫຼັກມົນລະພາບດຽວ (ພຽງແຕ່ເວລາຫຼັກມົນລະພາບແມ່ນຮູບແບບລະອຽດຫຼື textOnly).

form

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

ຖ້າປະກອບອາກາດສູງສົມບັດແມ່ນ schema, ຄູ່ມືນີ້ຈະບໍ່ສາມາດນຳໃຊ້.

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

maxOccurs

ທາງເລືອກກຳນົດ. ກຳນົດຈຳນວນຄັ້ງທີ່ປະກອບອາກາດຈະສາມາດປະກົດຂຶ້ນໃນປະກອບອາກາດສູງສົມບັດ. ຄູ່ມືຈະຕ້ອງມີຄູ່ມືເປັນອັນດັບສັບທີ່ຫຼາຍກວ່າຫຼືບໍ່ຫຼາຍກວ່າ 0. ຖ້າບໍ່ຕ້ອງກຳນົດຈຳນວນຄັ້ງທີ່ຫຼາຍກວ່າ, ສາມາດໃຊ້ຄວາມ "unbounded". ຄູ່ມືມີຄວາມຈິງເດີມແມ່ນ 1.

ຖ້າປະກອບອາກາດສູງສົມບັດແມ່ນ schema, ຄູ່ມືນີ້ຈະບໍ່ສາມາດນຳໃຊ້.

minOccurs

ທາງເລືອກກຳນົດ. ກຳນົດຈຳນວນຄັ້ງທີ່ປະກອບອາກາດຈະສາມາດປະກົດຂຶ້ນໃນປະກອບອາກາດສູງສົມບັດ. ຄູ່ມືຈະຕ້ອງມີຄູ່ມືເປັນອັນດັບສັບທີ່ຫຼາຍກວ່າຫຼືບໍ່ຫຼາຍກວ່າ 0. ຄູ່ມືມີຄວາມຈິງເດີມແມ່ນ 1.

ຖ້າປະກອບອາກາດສູງສົມບັດແມ່ນ schema, ຄູ່ມືນີ້ຈະບໍ່ສາມາດນຳໃຊ້.

nillable

ທາງເລືອກກຳນົດ. ສະແດງວ່າຈະສາມາດຈະມີຄູ່ມືສິບບາງ (nil) ຈະຖືກກະຕຸ້ນໃຫ້ປະກອບອາກາດດັ່ງກ່າວ. ຄູ່ມືນີ້ຈະມີຄວາມຈິງໃນຂອງແບບທີ່ມີຄວາມຈິງອື່ນ. ຄູ່ມືມີຄວາມຈິງເດີມແມ່ນ false.

ຖ້າ nillable ແມ່ນ true, ຄູ່ມືຂອງປະກອບອາກາດຈະສາມາດມີຄູ່ມື nil ທີ່ຈະຖືກກະຕຸ້ນ. ຄູ່ມື nil ແມ່ນຖືກກໍານົດຄືສ່ວນໜຶ່ງຂອງຄວາມຈິງ XML Schema.

ຕົວຢ່າງ, ບົດຕໍ່ມານັ້ນຈະກໍານົດປະກອບອາກາດດຽວກັນແລະມີຄູ່ມື nillable ທີ່ຈະຖືກກະຕຸ້ນ.

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

ບົດຕໍ່ມານັ້ນຈະໃຊ້ປະກອບອາກາດດັ່ງກ່າວແລະມີຄູ່ມືສິບບາງ (nil ປະກອບຂອງ true).

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

abstract

ທາງເລືອກກຳນົດ. ສະແດງວ່າປະກອບອາກາດຈະສາມາດມີໃນເອກະສານປະຕິບັດ. ຖ້າຄູ່ມືມີຄວາມຈິງ, ປະກອບອາກາດຈະບໍ່ສາມາດປະກົດຂຶ້ນໃນເອກະສານປະຕິບັດ. ພາຍຫຼັງ, ຜົນງານ substitutionGroup ຂອງປະກອບອາກາດທີ່ມີຄວາມຈິງອື່ນຈະຕ້ອງປະກົດຂຶ້ນໃນບ່ອນຂອງປະກອບອາກາດດັ່ງກ່າວ. ປະກອບອາກາດຫຼາຍອັນສາມາດຖືກຫຼົງຢູ່ໃນຜົນງານ substitutionGroup. ຄູ່ມືມີຄວາມຈິງເດີມແມ່ນ false.

block

ທາງເລືອກກຳນົດ. ແບບທີ່ຂະຫຍາຍ. ຜົນງານ block ປ້ອງກັນປະກອບອາກາດທີ່ມີຮູບແບບທີ່ຂະຫຍາຍຈະຖືກໃຊ້ແທນປະກອບອາກາດ. ຄູ່ມືສາມາດຈະມີ #all ຫຼືລາຍການທີ່ເປັນສິ່ງຂອງ extension, restriction ຫຼື substitution:

  • ການຂະຫຍາຍ - ການປ້ອງກັນປະກອບອາກາດທີ່ຂະຫຍາຍຈາກປະກອບອາກາດດັ່ງກ່າວຈະຖືກໃຊ້ແທນປະກອບອາກາດດັ່ງກ່າວ。
  • restriction - ການປ້ອງກັນບັນດາປະກອບທີ່ອາດຈະນຳເຂົ້າແທນບັນດາປະກອບທີ່ມີສຳລັບພາບວິທະຍາສາດ.
  • substitution - ການປ້ອງກັນບັນດາປະກອບທີ່ອາດຈະນຳເຂົ້າແທນບັນດາປະກອບທີ່ມີສຳລັບພາບວິທະຍາສາດ.
  • #all - ການປ້ອງກັນບັນດາປະກອບທີ່ອາດຈະນຳເຂົ້າແທນບັນດາປະກອບທີ່ມີສຳລັບພາບວິທະຍາສາດ.

final

ທາງຄຳລະບຸ - ການຕັ້ງຂໍ້ມູນສະທ້ອນສຳລັບປະເພດ element. ຖ້າພາຍໃຕ້ປະເພດແບບ schema ບໍ່ສາມາດໃຊ້ປະເພດນີ້. ຄູ່ມູນຈະສາມາດມີ #all ຫຼືລາຍການລວມ, ທີ່ສວນຂອງ extension ຫຼື restriction:

  • extension - ການປ້ອງກັນບັນດາປະກອບທີ່ອາດຈະນຳເຂົ້າແທນບັນດາປະກອບທີ່ມີສຳລັບພາບວິທະຍາສາດ.
  • restriction - ການປ້ອງກັນບັນດາປະກອບທີ່ອາດຈະນຳເຂົ້າແທນບັນດາປະກອບທີ່ມີສຳລັບພາບວິທະຍາສາດ.
  • #all - ການປ້ອງກັນບັນດາປະກອບທີ່ອາດຈະນຳເຂົ້າແທນບັນດາປະກອບທີ່ມີສຳລັບພາບວິທະຍາສາດ.

any attributes

ທາງຄຳລະບຸ - ກຳນົດປະເພດຂອງບັນດາປະເພດທີ່ບໍ່ມີປະເພດ 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

ບັນທັດດັ່ງກ່າວນີ້ແມ່ນ schema ທີ່ມີປະກອບທີ່ຊັບຊ້ອນ "note". ປະກອບ "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>