XML Validation

ความรู้เกี่ยวกับ XML RML และ ภาษา Markup อื่นๆ

Moderator: mindphp, ผู้ดูแลกระดาน

M013
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 829
ลงทะเบียนเมื่อ: 22/04/2010 12:02 pm

XML Validation

โพสต์โดย M013 » 21/09/2013 4:52 pm

XML Validation
- เอกสาร XML ที่ถูกต้องนั้นจะต้องมีคุณสมบัติเป็น "Well Formed"
- การตรวจทานความถูกต้องของเอกสาร XML ก็คือการทำ Validation

XML ที่มีคุณสมบัติเป็น Well Formed
คุณสมบัติ Well Formed ของเอกสาร XML จะต้องมีความถูกต้องตามกฎของ XML ได้แก่
1.XML ต้องมี Root Element เสมอ
2.XML ต้องมีเเท็กปิดเสมอ
3.XML เป็น Case Sensitive
4.XML ห้าม "Nested closing" หรือ ห้ามปิดแท็กซ้อนกัน
5.XML ต้องมีเครื่องหมาย Double-Quoted ครอบ Attribute ("__")
ตัวอย่าง code

โค้ด: เลือกทั้งหมด

<?xml version="1.0"?>
<student>
        <id>140006842</id>
        <firstname>Siripapha</firstname>
        <lastname>Pongsomboon</lastname>
        <age>21 Year</age>
         <born>11-18-1989</born>
        <phone>089-74525874</phone>
</student>

เอกสาร XML ที่ถูกต้อง (Valid)
เอกสาร XML ที่ถูกต้องจะมีคุณสมบัติเป็น Well Formed จะเป็นการยืนยันความถูกต้องของชนิดของเอกสาร DTD ด้วย

โค้ด: เลือกทั้งหมด

<?xml version="1.0"?>
<!DOCTYPE student SYSTEM "Student.dtd">
<student>
        <id>140006842</id>
        <firstname>Siripapha</firstname>
        <lastname>Pongsomboon</lastname>
        <age>21 Year</age>
        <born>11-18-1989</born>
        <phone>089-74525874</phone>
</student>
DOCTYPE ในตัวอย่าง code ข้างต้นมีการอ้างอิงภายในกับไฟล์ DTD

XML DTD
DTD เป็นการตรวจสอบความถูกต้องของเอกสาร XML ว่ามีความถูกต้องกับที่กำหนดไว้นไฟล์ DTD หรือไม่ ถ้าไม่ระบบก็จะเตือนความผิดพลาดออก
ตัวอย่างการกำหนด DTD

โค้ด: เลือกทั้งหมด

<!DOCTYPE student
[
<!ELEMENT student (id,firstname,lastname,age,born,phone)>
<!ELEMENT id (#PCDATA)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT born (#PCDATA)>
<!ELEMENT phone (#PCDATA)>
]>

XML Schema
เป็นเอกสาร XML ประเภทหนึ่ง ที่สนับสนุนโดย W3C เเต่เป็นเอกสารที่ระบุโครงสร้างของ XML ที่จะนำไปประมวลผลนั้นจะต้องเป็นอย่างไร
เช่น ต้องมี Elements อะไรบ้าง มีชนิดเป็นอะไร เป็นต้น
ตัวอย่างการกำหนด

โค้ด: เลือกทั้งหมด

<xs:element name="student">

<xs:complexType>
  <xs:sequence>
    <xs:element name="id" type="xs:string"/>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
    <xs:element name="age" type="xs:string"/>
    <xs:element name="born" type="xs:string"/>
    <xs:element name="phone" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

</xs:element>

ภาพประจำตัวสมาชิก
fern2535
PHP Super Member
PHP Super Member
โพสต์: 317
ลงทะเบียนเมื่อ: 04/08/2015 10:18 am

Re: XML Validation

โพสต์โดย fern2535 » 05/08/2015 11:31 am

:icon_plusone:


ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 3 และ บุคคลทั่วไป 0 ท่าน