ล่าสุดการพัฒนาเว็บบทเรียน
×

XML เกี่ยวกับการสอน

XML บ้าน XML บทนำ XML วิธีใช้ XML ต้นไม้ XML วากยสัมพันธ์ XML องค์ประกอบ XML แอตทริบิวต์ XML namespaces XML แสดง XML XSLT XML XPath XML XLink XML ตรวจสอบ XML DTD XML schema XML เซิร์ฟเวอร์ XML การประยุกต์ใช้งาน XML ตัวอย่าง XML ทดสอบ XML ใบรับรอง

XML DOM

DOM แนะนำ DOM โหนด DOM XMLHttpRequest DOM การเข้าถึง DOM ข้อมูลโหนด DOM รายการโหนด DOM ภายใน DOM การนำทาง DOM ได้รับค่า DOM Change โหนด DOM Remove โหนด DOM Replace โหนด DOM Create โหนด DOM Add โหนด DOM Clone โหนด DOM ตัวอย่าง

DOM การอ้างอิง

DOM ประเภทโหนด DOM ปม DOM NodeList DOM NamedNodeMap DOM เอกสาร DOM ธาตุ DOM คุณลักษณะ DOM ข้อความ DOM CDATA DOM คิดเห็น DOM XMLHttpRequest DOM parser

XML DTD

DTD แนะนำ DTD การก่อสร้างตึก DTD องค์ประกอบ DTD แอตทริบิวต์ DTD องค์ประกอบ VS attr DTD หน่วยงาน DTD ตัวอย่าง

XSD Schema

XSD แนะนำ XSD ทำอย่างไร XSD <schema> XSD องค์ประกอบ XSD แอตทริบิวต์ XSD ข้อ จำกัด

XSD ซับซ้อน

XSD องค์ประกอบ XSD ว่างเปล่า XSD เพียงองค์ประกอบ XSD ข้อความเท่านั้น XSD ผสม XSD ตัวชี้วัด XSD <any> XSD <anyAttribute> XSD การแทน XSD ตัวอย่าง

XSD Data

XSD เชือก XSD วันที่ XSD เป็นตัวเลข XSD อื่น ๆ XSD การอ้างอิง

Web บริการ

XML บริการ XML WSDL XML SOAP XML RDF XML RSS

 

XML Schema องค์ประกอบธาตุ


<XML Schema อ้างอิงที่สมบูรณ์

ความหมายและการใช้งาน

องค์ประกอบองค์ประกอบกำหนดองค์ประกอบ

องค์ประกอบข้อมูล

  • Parent elements: คีเลือกทั้งหมดลำดับกลุ่ม

วากยสัมพันธ์

<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>

(หรือไม่สัญญาณบอกว่าองค์ประกอบที่สามารถเกิดขึ้นได้ศูนย์หรือหนึ่งเวลาและเครื่องหมาย * ประกาศว่าองค์ประกอบสามารถเกิดขึ้นได้เป็นศูนย์หรือมากกว่าครั้งภายในองค์ประกอบองค์ประกอบ)

คุณลักษณะ ลักษณะ
id ไม่จำเป็น ระบุรหัสเฉพาะสำหรับองค์ประกอบ
name ไม่จำเป็น ระบุชื่อสำหรับองค์ประกอบ คุณลักษณะนี้จำเป็นต้องใช้ถ้าองค์ประกอบหลักเป็นองค์ประกอบคี
ref ไม่จำเป็น หมายถึงชื่อขององค์ประกอบอื่น ref แอตทริบิวต์สามารถรวมคำนำหน้าใน namespace คุณลักษณะนี้ไม่สามารถใช้ถ้าองค์ประกอบหลักเป็นองค์ประกอบคี
type ไม่จำเป็น ระบุทั้งชื่อของในตัวชนิดข้อมูลหรือชื่อของ simpleType หรือองค์ประกอบ complexType
substitutionGroup ไม่จำเป็น ระบุชื่อขององค์ประกอบที่สามารถแทนที่ด้วยองค์ประกอบนี้นั้น คุณลักษณะนี้ไม่สามารถใช้องค์ประกอบหลักถ้าไม่ได้เป็นองค์ประกอบคี
default ไม่จำเป็น ระบุค่าเริ่มต้นสำหรับองค์ประกอบ (สามารถใช้ได้เฉพาะถ้าเนื้อหาขององค์ประกอบที่เป็นชนิดง่ายหรือข้อความเท่านั้น)
fixed ไม่จำเป็น ระบุค่าคงที่สำหรับองค์ประกอบ (สามารถใช้ได้เฉพาะถ้าเนื้อหาขององค์ประกอบที่เป็นชนิดง่ายหรือข้อความเท่านั้น)
form ไม่จำเป็น ระบุแบบฟอร์มสำหรับองค์ประกอบ "unqualified" แสดงให้เห็นว่าองค์ประกอบนี้ไม่จำเป็นต้องได้รับการรับรองด้วยคำนำหน้า Namespace อย่าง "qualified" แสดงให้เห็นว่าองค์ประกอบนี้ต้องมีคุณสมบัติที่มีคำนำหน้า Namespace อย่าง ค่าเริ่มต้นคือค่าของ elementFormDefault แอตทริบิวต์ขององค์ประกอบคี คุณลักษณะนี้ไม่สามารถใช้ถ้าองค์ประกอบหลักเป็นองค์ประกอบคี
maxOccurs ไม่จำเป็น ระบุจำนวนครั้งสูงสุดองค์ประกอบนี้สามารถเกิดขึ้นในองค์ประกอบหลัก ค่าที่สามารถเป็นตัวเลขใด ๆ > = 0 หรือถ้าคุณต้องการที่จะตั้งไม่ จำกัด จำนวนสูงสุดให้ใช้ค่า "unbounded" ค่าเริ่มต้นคือ 1. คุณลักษณะนี้ไม่สามารถใช้ถ้าองค์ประกอบหลักเป็นองค์ประกอบคี
minOccurs ไม่จำเป็น ระบุจำนวนขั้นต่ำครั้งองค์ประกอบนี้สามารถเกิดขึ้นในองค์ประกอบหลัก ค่าที่สามารถเป็นค่าตัวเลข> = 0 เริ่มต้นคือ 1. คุณลักษณะนี้ไม่สามารถใช้ถ้าองค์ประกอบหลักเป็นองค์ประกอบคี
nillable ไม่จำเป็น ระบุว่าค่า null อย่างชัดเจนสามารถกำหนดให้องค์ประกอบ ทรูจะช่วยให้อินสแตนซ์ขององค์ประกอบที่จะมี null แอตทริบิวต์ตั้งค่าเป็นจริง null แอตทริบิวต์ถูกกำหนดให้เป็นส่วนหนึ่งของ namespace Schema XML สำหรับอินสแตนซ์ เริ่มต้นเป็นเท็จ
abstract ไม่จำเป็น ระบุว่าองค์ประกอบที่สามารถนำมาใช้ในเอกสารเช่น ทรูชี้ให้เห็นว่าองค์ประกอบไม่สามารถปรากฏในเอกสารอินสแตนซ์ แต่องค์ประกอบอื่นที่มี substitutionGroup แอตทริบิวต์มีชื่อที่มีคุณสมบัติเหมาะสม (QName) ขององค์ประกอบนี้จะต้องปรากฏในสถานที่ขององค์ประกอบนี้ เริ่มต้นเป็นเท็จ
block ไม่จำเป็น ป้องกันไม่ให้มีองค์ประกอบชนิดที่กำหนดของรากศัพท์มาจากการใช้งานในสถานที่ขององค์ประกอบนี้ ค่านี้สามารถมี #all หรือรายการที่เป็นส่วนหนึ่งของการขยายข้อ จำกัด หรือ equivClass A:
  • ขยาย - ป้องกันไม่ให้ส่วนที่ได้มาโดยการขยาย
  • ข้อ จำกัด - ป้องกันองค์ประกอบมาจากข้อ จำกัด
  • เปลี่ยนตัว - ป้องกันองค์ประกอบมาโดยการเปลี่ยนตัว
  • #all - ป้องกันไม่ให้ส่วนที่ได้มาทั้งหมด
final ไม่จำเป็น ตั้งค่าเริ่มต้นของ final แอตทริบิวต์ในองค์ประกอบองค์ประกอบ คุณลักษณะนี้ไม่สามารถใช้องค์ประกอบหลักถ้าไม่ได้เป็นองค์ประกอบคี ค่านี้สามารถมี #all หรือรายการที่เป็นส่วนหนึ่งของการขยายหรือข้อ จำกัด :
  • ขยาย - ป้องกันไม่ให้ส่วนที่ได้มาโดยการขยาย
  • ข้อ จำกัด - ป้องกันองค์ประกอบมาจากข้อ จำกัด
  • #all - ป้องกันไม่ให้ส่วนที่ได้มาทั้งหมด
any attributes ไม่จำเป็น ระบุคุณลักษณะอื่น ๆ ใด ๆ ที่ไม่ใช่สคี namespace

ตัวอย่างที่ 1

ตัวอย่างต่อไปนี้เป็นสคีกับสี่องค์ประกอบที่เรียบง่ายชื่อ "fname" , "lname" , "age" และ "dateborn" ซึ่งเป็นของสตริงชนิด nonNegativeInteger และวันที่:

<?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" ที่เป็นชนิดที่มีความซับซ้อน "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>

<XML Schema อ้างอิงที่สมบูรณ์