Page 1 of 1

XML Validation

Posted: 21/09/2013 4:52 pm
by M013
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

Code: Select all

<?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 ด้วย

Code: Select all

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

Code: Select all

<!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 อะไรบ้าง มีชนิดเป็นอะไร เป็นต้น
ตัวอย่างการกำหนด

Code: Select all

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

Re: XML Validation

Posted: 05/08/2015 11:31 am
by fern2535
:icon_plusone: