| หน้าที่ของ 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 ) ต่างๆที่สำคัญของเอกสารทุกๆจุด ทำให้ค่อนข้างเสียเวลาในการเข้าถึงข้อมูลแต่ละครั้ง