XML XML Parser : สอน คำสั่ง ของ XML Parser, เรียน คำสั่ง ของ XML Parser
 

Reference

Reference ในเว็บไซต์ Function.in.th เป็นการนำเสนอความรู้ในรูปแบบของแหล่งอ้างอิงของคำสั่งต่าง ๆ ที่ใช้ในการเขียนโปรแกรม โดยผู้ที่สนใจสามารถเข้ามาเรียนรู้การใช้งานคำสั่งของการเขียนโปรแกรมเหล่านี้ได้ ผ่านทาง URL code.function.in.th ทั้งนี้ผู้อ่านยังสามารถร่วมแสดงความคิดเห็นบนเนื้อหาที่มีสอนได้ ซึ่งถือเป็นการส่งเสริมให้มีการแลกเปลี่ยนประสบการณ์และความรู้ระหว่างผู้อ่านด้วยกันเอง
  • หน้าที่ของ XML Parser ได้แก่ read, create, update, manipulate
    การแบ่งชนิดของ XML Parser ได้แก่ การแบ่งตามคุณสมบัติ หรือ การแบ่งตามการสำรวจเนื้อหา
    คุณสมบัติของ XML ได้แก่ well-formed xml และ valid
    XML Parser แบบ validating และ non-validating อธิบาย xml parser แบบ validating และ non-validating
    XML Parser ที่รองรับ DOM หรือ รองรับ SAX อธิบาย xml parser ที่รองรับ DOM และ xml parser ที่รองรับ SAX
    มาตรฐานของ XML ได้แก่ DTD, XML Schema, XSLT, XPath, XQuery, DOM, SAX
    องค์ประกอบของ XSL ได้แก่ XSLT, XPath, XSL-FO
    กฏไวยากรณ์ของ XML เช่น ห้ามมี tag ซ้อนเหลื่อมกัน, ชื่อ tag ห้ามขึ้นต้นด้วย xml เป็นต้น
    โครงสร้างเอกสาร XML ได้แก่ Prolog, Body, Eplilog
    XML Declaration เป็นส่วนที่ประกาศให้รู้ว่านี่คือเอกสาร xml
    Document Type Declaration ใช้กำหนดไฟล์ที่ใช้นิยามเอกสาร xml นี้
    การ comment ในเอกสาร xml ใช้ อธิบายข้อความ โดยเอกสาร xml จะไม่ประมวลผลใดๆในคำสั่งนี้
    PI ( Processing Instruction ) ใช้กำหนด application ต่างๆให้กับเอกสาร xml
    CDATA คำสั่งที่อยู่ใน CDATA นี้จะไม่ถูก XML Parser ประมวลผล
    ความสำคัญของการนิยามโครงสร้างข้อมูล เช่น เป็นการกำหนดรูปแบบโครงสร้างเอกสาร xml ว่าจะให้มีลักษณะเช่นไร, เป็นข้อตกลงระหว่างองค์กร
    DOM คืออะไร ? เป็นการมองเอกสาร xml ในลักษณะโครงสร้างต้นไม้ ( Tree-Based Parser )
    SAX คืออะไร ? จะจัดการเอกสาร XML ตามแนวทางของ Event-Driven Parser
  • subject :
    หน้าที่ของ XML Parser 

    content :
    หน้าที่ของ XML Parser ดังนี้
    - read ( อ่าน )
    - create ( สร้าง )
    - update ( แก้ไข )
    - manipulate ( เข้าถึง )

  • subject :
    การแบ่งชนิดของ XML Parser

    content :
    การแบ่งชนิดของ XML Parser ดังนี้
    - แบ่งตามคุณสมบัติ คือ validating และ non-validating
    - แบ่งตามการสำรวจเนื้อหา คือ รองรับ DOM หรือ รองรับ SAX

  • subject :
    คุณสมบัติของ XML

    content :
    คุณสมบัติของ XML ได้แก่
    - well-formed xml คือมีการให้ tag ถูกต้องตามกฏไวยากรณ์ของ xml เช่น ไม่มี tag ซ้อนเหลื่อมกัน
    - valid คือจะต้องสร้างเอกสาร xml ให้ตรงตามการนิยามโครงสร้างของ DTD หรือ XML Schema

  • subject :
    XML Parser แบบ validating และ non-validating

    content :
    XML Parser แบบ validating และ non-validating
    - XML Parser แบบ validating จะมีการตรวจสอบคุณสมบัติทั้ง well-formed xml
      และ valid ซึ่งจะทำให้การทำงานช้ากว่า
    - XML Parser แบบ non-validating จะมีการตรวจสอบคุณสมบติที่เป็น well-formed xml 
      เท่านั้น จึงมีการทำงานที่เร็วกว่า ( นิยมใช้ในกรณีที่มั่นใจว่า valid แน่นอน )

  • subject :
    XML Parser ที่รองรับ DOM หรือ รองรับ SAX

    content :
    XML Parser ที่รองรับ DOM หรือ รองรับ SAX ดังนี้
    - XML Parser ที่รองรับ DOM จะมองเอกสาร XML เป็นโครงสร้างต้นไม้ ดังนั้นการเข้าถึงเอกสาร XML ก็คือการ
      เดินไปตาม node ต่างๆในโครงสร้างต้นไม้ หรือเรียกว่าเป็น แบบ Tree-Based Parser
    - XML Parser ที่รองรับ SAX จะใช้วิธีผูก element ในเอกสารเข้ากับ เหตุการณ์ ( event ) 
      ดังนั้นการเข้าถึงเอกสาร XML จะขึ้นอยู่กับเหตุการณ์ หรือเรียกว่าเป็นแบบ Event-Driven Parser

  • subject :
    มาตรฐานของ XML

    content :
    มาตรฐานของ XML ดังนี้
    - DTD และ XML Schema เป็นมาตรฐานที่ใช้ในการกำหนด หรืออธิบายโครงสร้างของเอกสาร
      เช่น การกำหนดว่าต้องมี tag อะไรบ้าง, ต้องมี attribute อะไรบ้าง เป็นต้น
    - XSLT ( eXtensible Stylesheet Language Transformations )
      เป็นมาตรฐานที่เกี่ยวข้องกับการเปลี่ยนเอกสารไปเป็นเอกสารชนิดอื่นๆ
    - XPath เป็นมาตรฐานที่ใช้ในการระบุตำแหน่งต่างๆของเอกสาร XML ( ใช้ในการเข้าถึง node )
    - XQuery เป็นภาษาที่ใช้ในการสืบค้นข้อมูลในเอกสาร XML โดยเป็นการมองว่าเอกสาร XML เป็นเหมือนฐานข้อมูล
      ตัวหนึ่ง โดยบทบาทของ XQuery ที่มีต่อเอกสาร XML เหมือนกับบทบาทของภาษา SQL ที่มีต่อ Database
      ( ประมวลผลฝั่ง server )
    - DOM และ SAX เป็นวิธีการสำรวจข้อมูลในเอกสาร XML
    

  • subject :
    องค์ประกอบของ XSL

    content :
    องค์ประกอบของ XSL ดังนี้
    - XSLT ใช้ในการเปลี่ยนเอกสารไปเป็นรูปแบบอื่นๆ
    - XPath ใช้ในการเข้าถึง element ในเอกสาร xml
    - XSL-FO ใช้ในการกำหนดรูปแบบการแสดงผล

  • subject :
    กฏไวยากรณ์ของ XML

    content :
    กฏไวยากรณ์ของ XML ดังนี้
    - เอกสาร XML หนึ่งๆ จะมี root element ได้เพียงหนึ่งเดียวเท่านั้น
    - ชื่อ tag เปิด และ tag ปิด จะเหมือนกัน เพียงแต่ tag ปิดจะมีเครื่องหมาย "/" นำหน้า
    - ห้ามให้มีการ ซ้อนเหลื่อมกันของ tag ( overlap ) คือ tag เปิดก่อนต้องปิดหลัง
    - ชื่อ tag มีคุณสมบัติ case-sensitive คือ ตัวพิมพ์เล็ก-ตัวพิมพ์ใหญ่ ถือว่าเป็นคนละ tag กัน
    - สำหรับ tag ว่าง สามารถเขียนได้ 2 แบบ คือ <tagName></tagName> และ <tagName />
    - ค่าข้อมูลของ attribute ต้องอยู่ในเครื่องหมาย Double Quote หรือ Single Quote เท่านั้น
    - ภาษา XML มีอักขระที่สงวนไว้ 5 ตัว จึงต้องใช้ชุดตัวอักษรพิเศษแทนอักขระ ดังนี้ <, >, &, ", '
    - การตั้งชื่อ tag นั้น ตัวอักษร 3 ตัวแรกห้ามเป็น xml นำหน้า

  • subject :
    โครงสร้างเอกสาร XML

    content :
    โครงสร้างเอกสาร XML ดังนี้
    - Prolog แบ่งออกเป็น 2 ส่วนย่อย คือ xml declaration และ document type declaration
    - Body เป็นส่วนของเนื้อหาเอกสาร คือส่วนของ root element
    - Epilog มี 2 ประเภท คือ comment และ pi

  • subject :
    XML Declaration 

    syntax :
    <?xml version="1.0" encoding="ชุดรหัสตัวอักษร" standalone="yes/no" ?>

    content :
    เป็นส่วนที่ประกาศให้รู้ว่านี่คือเอกสาร xml ( โดยตัวอักษรที่อยู่ในคำสั่งนี้ต้องเป็นแบบ lower case เท่านั้น )

    example :
    <?xml version="1.0" encoding="utf-8" standalone="no" ?>

    comment :
    encoding เช่น utf-8, windows-874, tis-620
    standalone ใช้เพื่อบอกว่าเอกสาร xml นี้ไม่ขึ้นกับเอกสารอื่นใช่หรือไม่

  • subject :
    Document Type Declaration

    syntax :
    <!DOCTYPE rootElement SYSTEM "filename.dtd" >

    content :
    ใช้กำหนดว่า rootElement ของเอกสารคือ tag อะไร และกำหนดไฟล์ที่ใช้ในการนิยามเอกสาร xml นี้ด้วย

    example :
    <!DOCTYPE football SYSTEM "http://www.bamboolabcode.com/football-schema.dtd" >

    comment :
    keyword SYSTEM หมายถึง ใช้อ้างถึงไฟล์ dtd ในรูปแบบของ url และสามารถใช้
    keyword PUBLIC หมายถึง ใช้อ้างถึงไฟล์ dtd ในรูปแบบของ relative path

  • subject :
    การ comment ในเอกสาร xml

    syntax :
    <!-- comment -->

    content :
    ใช้ อธิบายข้อความ โดยเอกสาร xml จะไม่ประมวลผลใดๆในคำสั่งนี้
    โดยในเครื่องหมายนี้ ห้ามมีเครื่องหมายลบติดกัน 2 ครั้ง

    example :
    <!-- อธิบายโค้ด -->

  • subject :
    PI ( Processing Instruction )

    syntax :
    <? คำสั่งของ xml ?>

    content :
    ใช้กำหนด application ต่างๆให้กับเอกสาร xml

    example :
    <?xml-stylesheet type="text/xsl" href="http://www.bamboolabcode.com/style.xsl" ?>

  • subject :
    CDATA

    syntax :
    <![CDATA [ คำสั่ง ] ]>

    content :
    คำสั่งที่อยู่ใน CDATA นี้จะไม่ถูก XML Parser ประมวลผล
    ซึ่งส่วนใหญ่จะใช้กับคำสั่งที่มีเครื่องหมาย "<" หรือ ">" นิยมนำไปใช้ร่วมกับ script ต่างๆ

    example :
    <script language="javascript">
         <![CDATA[
              function testCDATA ()
              { 
                   alert ( ?Test CDATA? ); 
              } 
         ]]>
    </SCRIPT>

  • subject :
    ความสำคัญของการนิยามโครงสร้างข้อมูล

    content :
    ความสำคัญของการนิยามโครงสร้างข้อมูล ดังนี้
    - เป็นการกำหนดรูปแบบโครงสร้างเอกสาร xml ว่าจะให้มีลักษณะเช่นไร เช่น 
      การกำหนดว่าจะให้มี tag อะไรบ้าง, กำนหดว่าจะให้มี attribute อะไรบ้าง, 
      ค่าของ attribute เป็นอย่างไร เป็นต้น
    - เป็นข้อตกลงระหว่างองค์กร ที่จะแลกเปลี่ยนข้อมูลกันในรูปของ xml เพื่อ
      ให้สร้างเอกสารขึ้นมาตรงกัน

  • subject :
    DOM คืออะไร ?

    content :
    DOM ย่อมาจาก Document Object Model
    เป็นการมองเอกสาร xml ในลักษณะโครงสร้างต้นไม้ ( Tree-Based Parser )
    โดยมีหลักการคือ จะนำข้อมูลจากเอกสาร xml ทั้งเอกสารมาวางเป็นโครงสร้างต้นไม้ในหน่วยความจำ
    ทำให้เกิดการสิ้นเปลืองหน่วยความจำ

  • subject :
    SAX คืออะไร ?

    content :
    SAX ย่อมาจาก Simple API for XML
    จะจัดการเอกสาร XML ตามแนวทางของ Event-Driven Parser
    โดยมีหลักการคือ จะไม่มีการโหลดเอกสาร XML เข้ามาในหน่วยความจำ
    แต่จะอ่านเอกสาร XML ไล่ตั้งแต่ root และตัว parser จะสร้าง event
    ให้กับจุด ( node ) ต่างๆที่สำคัญของเอกสารทุกๆจุด ทำให้ค่อนข้างเสียเวลาในการเข้าถึงข้อมูลแต่ละครั้ง

 
Share This Chapter Login with Facebook