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

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

 

ข้อ จำกัด XSD / แง่มุม


ข้อ จำกัด ที่มีการใช้ในการกำหนดค่าที่ยอมรับได้สำหรับองค์ประกอบ XML หรือแอตทริบิวต์ ข้อ จำกัด เกี่ยวกับองค์ประกอบ XML จะเรียกว่าแง่มุม


ข้อ จำกัด เกี่ยวกับค่านิยม

ตัวอย่างต่อไปนี้กำหนดองค์ประกอบที่เรียกว่า "age" ที่มีข้อ จำกัด ค่าของอายุที่ไม่สามารถจะต่ำกว่า 0 หรือมากกว่า 120:

<xs:element name="age">
  <xs:simpleType>
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="120"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

ข้อ จำกัด เกี่ยวกับชุดของค่า

เพื่อ จำกัด เนื้อหาขององค์ประกอบ XML ไปยังชุดของค่าที่ยอมรับได้ที่เราจะใช้ข้อ จำกัด การแจงนับ

ตัวอย่างด้านล่างนี้กำหนดองค์ประกอบที่เรียกว่า "car" ที่มีข้อ จำกัด เท่านั้นค่าที่ยอมรับได้คือ: Audi, Golf, BMW :

<xs:element name="car">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Audi"/>
      <xs:enumeration value="Golf"/>
      <xs:enumeration value="BMW"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

ตัวอย่างข้างต้นยังสามารถได้รับการเขียนเช่นนี้

<xs:element name="car" type="carType"/>

<xs:simpleType name="carType">
  <xs:restriction base="xs:string">
    <xs:enumeration value="Audi"/>
    <xs:enumeration value="Golf"/>
    <xs:enumeration value="BMW"/>
  </xs:restriction>
</xs:simpleType>

Note: ในกรณีนี้ประเภท "carType" สามารถใช้องค์ประกอบอื่น ๆ เพราะมันไม่ได้เป็นส่วนหนึ่งของ "car" องค์ประกอบ


ข้อ จำกัด ในซีรีส์ของค่า

เพื่อ จำกัด เนื้อหาขององค์ประกอบ XML ในการกำหนดชุดของตัวเลขหรือตัวอักษรที่สามารถนำมาใช้เราจะใช้ข้อ จำกัด รูปแบบ

ตัวอย่างด้านล่างนี้กำหนดองค์ประกอบที่เรียกว่า "letter" ที่มีข้อ จำกัด ค่าเดียวเท่านั้นที่ได้รับการยอมรับเป็นหนึ่งในตัวพิมพ์เล็กจาก A ถึง Z:

<xs:element name="letter">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[a-z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

ตัวอย่างต่อไปกำหนดองค์ประกอบที่เรียกว่า "initials" ที่มีข้อ จำกัด ค่าเดียวเท่านั้นที่ได้รับการยอมรับเป็นที่สามของตัวอักษรพิมพ์ใหญ่จาก A ถึง Z:

<xs:element name="initials">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Z][A-Z][A-Z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

ตัวอย่างต่อไปนอกจากนี้ยังกำหนดองค์ประกอบที่เรียกว่า "initials" ที่มีข้อ จำกัด ค่าเดียวเท่านั้นที่ได้รับการยอมรับเป็นที่สามของตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ตัวอักษรจาก A ถึง Z:

<xs:element name="initials">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

ตัวอย่างต่อไปกำหนดองค์ประกอบที่เรียกว่า "choice" ที่มีข้อ จำกัด ค่าเดียวเท่านั้นที่ได้รับการยอมรับเป็นหนึ่งในตัวอักษรต่อไปนี้: X, Y, Z หรือ:

<xs:element name="choice">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[xyz]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

ตัวอย่างต่อไปกำหนดองค์ประกอบที่เรียกว่า "prodid" ที่มีข้อ จำกัด ค่าเดียวเท่านั้นที่ได้รับการยอมรับเป็นตัวเลขห้าหลักในลำดับและแต่ละหลักต้องอยู่ในช่วง 0-9 A:

<xs:element name="prodid">
  <xs:simpleType>
    <xs:restriction base="xs:integer">
      <xs:pattern value="[0-9][0-9][0-9][0-9][0-9]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

ข้อ จำกัด อื่น ๆ ในชุดของค่า

ตัวอย่างด้านล่างนี้กำหนดองค์ประกอบที่เรียกว่า "letter" ที่มีข้อ จำกัด ค่าที่ยอมรับได้คือศูนย์หรือมากกว่าการเกิดขึ้นของอักษรตัวพิมพ์เล็กจาก A ถึง Z:

<xs:element name="letter">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="([a-z])*"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

ตัวอย่างต่อไปนอกจากนี้ยังกำหนดองค์ประกอบที่เรียกว่า "letter" ที่มีข้อ จำกัด ค่าที่ยอมรับได้คือหนึ่งหรือมากกว่าหนึ่งคู่ของตัวอักษรแต่ละคู่ประกอบด้วยตัวอักษรกรณีที่ต่ำกว่าตามด้วยตัวอักษรตัวพิมพ์ใหญ่ ยกตัวอย่างเช่น "sToP" จะได้รับการตรวจสอบโดยรูปแบบนี้ แต่ไม่ได้ "Stop" หรือ "STOP" หรือ "stop" :

<xs:element name="letter">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="([a-z][A-Z])+"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

ตัวอย่างต่อไปกำหนดองค์ประกอบที่เรียกว่า "gender" ที่มีข้อ จำกัด ค่าเดียวเท่านั้นที่ได้รับการยอมรับเป็นชายหรือหญิง:

<xs:element name="gender">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="male|female"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

ตัวอย่างต่อไปกำหนดองค์ประกอบที่เรียกว่า "password" ที่มีข้อ จำกัด ต้องมีตรงแปดตัวอักษรในแถวและตัวอักษรเหล่านั้นจะต้องเป็นตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่จาก A ถึง Z หรือหมายเลข 0-9 A:

<xs:element name="password">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[a-zA-Z0-9]{8}"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

ข้อ จำกัด เกี่ยวกับตัวละครช่องว่าง

เพื่อระบุว่าตัวละครช่องว่างควรจะจัดการเราจะใช้ช่องว่าง จำกัด

ตัวอย่างนี้กำหนดองค์ประกอบที่เรียกว่า "address" กับข้อ จำกัด ข้อ จำกัด ช่องว่างถูกตั้งค่าเป็น "preserve" ซึ่งหมายความว่าหน่วยประมวลผล XML จะไม่ลบอักขระช่องว่างใด ๆ สีขาว:

<xs:element name="address">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="preserve"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

ตัวอย่างนี้ยังกำหนดองค์ประกอบที่เรียกว่า "address" กับข้อ จำกัด ข้อ จำกัด ช่องว่างถูกตั้งค่าเป็น "replace" ซึ่งหมายความว่าหน่วยประมวลผล XML จะเข้ามาแทนที่ตัวอักษรทั้งหมดพื้นที่สีขาว (สายฟีดแท็บพื้นที่และผลตอบแทนการขนส่ง) ที่มีช่องว่าง:

<xs:element name="address">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="replace"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

ตัวอย่างนี้ยังกำหนดองค์ประกอบที่เรียกว่า "address" กับข้อ จำกัด ข้อ จำกัด ช่องว่างถูกตั้งค่าให้ "collapse" ซึ่งหมายความว่าหน่วยประมวลผล XML จะลบอักขระพื้นที่สีขาวทั้งหมด (สายฟีดแท็บช่องว่างผลตอบแทนการขนส่งจะถูกแทนที่ด้วยช่องว่างช่องว่างนำหน้าและต่อท้ายจะถูกลบออกและช่องว่างหลายจะลดลงไป พื้นที่เดียว):

<xs:element name="address">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="collapse"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

ข้อ จำกัด เกี่ยวกับความยาว

เพื่อ จำกัด ความยาวของค่าในองค์ประกอบที่เราจะใช้ความยาว maxLength และข้อ จำกัด minLength

ตัวอย่างนี้กำหนดองค์ประกอบที่เรียกว่า "password" ที่มีข้อ จำกัด ค่าต้องตรงแปดตัวอักษร:

<xs:element name="password">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:length value="8"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

ตัวอย่างนี้กำหนดองค์ประกอบอื่นที่เรียกว่า "password" ที่มีข้อ จำกัด ค่าต้องเป็นขั้นต่ำห้าตัวอักษรและสูงสุดไม่เกินแปดตัวอักษร:

<xs:element name="password">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:minLength value="5"/>
      <xs:maxLength value="8"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

ข้อ จำกัด สำหรับประเภทข้อมูล

การ จำกัด ลักษณะ
enumeration กำหนดรายการของค่าที่ยอมรับได้
fractionDigits ระบุจำนวนสูงสุดของตำแหน่งทศนิยมที่ได้รับอนุญาต ต้องเท่ากับหรือมากกว่าศูนย์
length ระบุจำนวนที่แน่นอนของตัวละครหรือรายการที่ได้รับอนุญาต ต้องเท่ากับหรือมากกว่าศูนย์
maxExclusive ระบุขอบเขตบนสำหรับค่าตัวเลข (ค่าต้องน้อยกว่าค่านี้)
maxInclusive ระบุขอบเขตบนสำหรับค่าตัวเลข (ค่าต้องน้อยกว่าหรือเท่ากับค่านี้)
maxLength ระบุจำนวนสูงสุดของตัวละครหรือรายการที่ได้รับอนุญาต ต้องเท่ากับหรือมากกว่าศูนย์
minExclusive ระบุขอบเขตที่ต่ำกว่าสำหรับค่าตัวเลข (ค่าต้องมากกว่าค่านี้)
minInclusive ระบุขอบเขตที่ต่ำกว่าสำหรับค่าตัวเลข (ค่าต้องมากกว่าหรือเท่ากับค่านี้)
minLength ระบุจำนวนขั้นต่ำของตัวละครหรือรายการที่ได้รับอนุญาต ต้องเท่ากับหรือมากกว่าศูนย์
pattern กำหนดลำดับที่แน่นอนของตัวอักษรที่เป็นที่ยอมรับ
totalDigits ระบุจำนวนที่แน่นอนของตัวเลขที่ได้รับอนุญาต จะต้องมีค่ามากกว่าศูนย์
whiteSpace ระบุว่าพื้นที่สีขาว (สายฟีดแท็บพื้นที่และผลตอบแทนการขนส่ง) จะถูกจัดการ