โครงร่าง:
การแนะนำ
1. ข้อกำหนดที่เกี่ยวข้องกับเอกสาร XML
2. ข้อกำหนดที่เกี่ยวข้องกับ DTD
การแนะนำ
สิ่งที่ลำบากที่สุดสำหรับผู้เริ่มต้นในการเรียนรู้ XML คือ มีแนวคิดคำศัพท์ใหม่ๆ มากมายที่ต้องทำความเข้าใจ เนื่องจาก XML เองก็เป็นเทคโนโลยีใหม่ล่าสุด จึงมีการพัฒนาและเปลี่ยนแปลงอยู่ตลอดเวลา องค์กรและบริษัทเครือข่ายหลักๆ (Microsoft, IBM, SUN ฯลฯ) ต่างก็นำเสนอข้อมูลเชิงลึกและมาตรฐานของตนเองอย่างต่อเนื่อง จึงไม่น่าแปลกใจที่แนวคิดใหม่ๆ กำลังบินไปทุกที่ ไม่มีสถาบันหรือองค์กรที่เชื่อถือได้ในประเทศจีนที่จะตั้งชื่อคำศัพท์เหล่านี้อย่างเป็นทางการ หนังสือเรียนภาษาจีนส่วนใหญ่ที่คุณเห็นเกี่ยวกับ XML ได้รับการแปลตามความเข้าใจของผู้เขียนเอง บางเล่มก็ถูกและบางเล่มก็ผิด ซึ่งเป็นอุปสรรคต่อการพัฒนา XML ของเรา ความเข้าใจและการเรียนรู้แนวคิดเหล่านี้
คำอธิบายคำศัพท์ XML ที่คุณจะเห็นด้านล่างนี้เป็นความเข้าใจและการแปลของผู้เขียนเองด้วย Ajie ยึดตามข้อกำหนดมาตรฐาน XML1.0 ที่เผยแพร่โดยองค์กร W3C และเอกสารอย่างเป็นทางการที่เกี่ยวข้อง สามารถมั่นใจได้ว่าความเข้าใจเหล่านี้โดยพื้นฐานแล้วถูกต้อง อย่างน้อยก็ไม่ผิด หากคุณต้องการอ่านและทำความเข้าใจเพิ่มเติม ฉันได้ระบุแหล่งที่มาและลิงก์ไปยังแหล่งข้อมูลที่เกี่ยวข้องไว้ท้ายบทความนี้ ซึ่งคุณสามารถเข้าถึงได้โดยตรง เอาล่ะ มาเริ่มธุรกิจกันดีกว่า:
1. ข้อกำหนดที่เกี่ยวข้องกับเอกสาร XML
เอกสาร XML คืออะไร? คุณรู้จักไฟล์ซอร์สโค้ด HTML หรือไม่ เอกสาร XML คือไฟล์ซอร์สโค้ด XML ที่เขียนด้วยแท็ก XML เอกสาร XML ยังเป็นไฟล์ข้อความธรรมดา ASCII ที่คุณสามารถสร้างและแก้ไขได้โดยใช้ Notepad ชื่อส่วนต่อท้ายของเอกสาร XML คือ .XML เช่น myfile.xml คุณยังสามารถเปิดไฟล์ .xml ได้โดยตรงโดยใช้เบราว์เซอร์ IE5.0 หรือสูงกว่า แต่สิ่งที่คุณเห็นคือ "โค้ดต้นฉบับ XML" และเนื้อหาของหน้าจะไม่แสดง คุณสามารถลองบันทึกโค้ดต่อไปนี้เป็น myfile.xml:
<?xml version="1.0" encoding="GB2312"?>
<ไฟล์ของฉัน>
<title>คู่มือ XML Easy Learning</title>
<author>อาจี้</author>
<email>[email protected]</email>
<วันที่>20010115</วันที่>
</ไฟล์ของฉัน>
เอกสาร XML ประกอบด้วยสามส่วน:
1. การประกาศเอกสาร XML
2. คำจำกัดความของประเภทเอกสาร
3. ทำเครื่องหมายเนื้อหาที่สร้างขึ้นด้วย XML
ตัวอย่าง:
<?xml เวอร์ชัน = "1.0"?>
<!DOCTYPE ระบบรายการไฟล์ "filelist.dtd">
<รายการไฟล์>
<ไฟล์ของฉัน>
<title>เริ่มต้น XML อย่างรวดเร็ว</title>
<author>อาจี้</author>
</ไฟล์ของฉัน>
-
</รายการไฟล์>
บรรทัดแรก <?xml version="1.0"?> คือการประกาศเอกสาร XML บรรทัดที่สองระบุว่าเอกสารนี้ใช้ filelist.dtd เพื่อกำหนดประเภทเอกสาร บรรทัดที่สามด้านล่างเป็นส่วนหลักของเนื้อหา
มาทำความเข้าใจคำศัพท์ที่เกี่ยวข้องในเอกสาร XML กันดีกว่า:
1.องค์ประกอบ:
เรารู้องค์ประกอบนี้แล้วใน HTML มันเป็นหน่วยที่เล็กที่สุดที่ประกอบเป็นเอกสาร HTML และใน XML ก็เหมือนกัน องค์ประกอบถูกกำหนดโดยตัวระบุ รวมถึงตัวระบุเริ่มต้นและสิ้นสุดและเนื้อหา เช่นนี้: <author>ajie</author>
ข้อแตกต่างเพียงอย่างเดียวคือ ใน HTML แท็กจะได้รับการแก้ไข แต่ใน XML คุณจะต้องสร้างแท็กเอง
2.แท็ก(โลโก้)
ตัวระบุใช้เพื่อกำหนดองค์ประกอบ ใน XML แท็กจะต้องปรากฏเป็นคู่ล้อมรอบข้อมูล ชื่อของตัวระบุเหมือนกับชื่อขององค์ประกอบ ตัวอย่างเช่น องค์ประกอบเช่นนี้:
<author>อาจี้</author>
โดยที่ <author> คือตัวระบุ
3.คุณสมบัติ:
คุณสมบัติคืออะไร? ดูโค้ด HTML นี้:<font color="red">word</font> ในหมู่พวกเขาสีเป็นหนึ่งในคุณลักษณะของแบบอักษร
คุณลักษณะคือคำอธิบายและคำอธิบายเพิ่มเติมของโลโก้ คุณลักษณะใน XML เหมือนกับคุณลักษณะใน HTML แต่ละแอตทริบิวต์มีชื่อและค่าของตัวเอง ตัวอย่าง:
<author sex="Female">อาจี้</author>
แอตทริบิวต์ใน XML ยังถูกกำหนดด้วยตัวเอง เราขอแนะนำให้คุณพยายามอย่าใช้แอตทริบิวต์และเปลี่ยนแอตทริบิวต์เป็นองค์ประกอบย่อย ตัวอย่างเช่น โค้ดข้างต้นสามารถเปลี่ยนเป็น:
<author>อาจี้
<เพศ>เพศหญิง</เพศ>
</ผู้เขียน>
เหตุผลก็คือว่าแอตทริบิวต์ไม่สามารถขยายและจัดการโดยโปรแกรมได้อย่างง่ายดาย
4.คำประกาศ
ในบรรทัดแรกของเอกสาร XML ทั้งหมดจะมีการประกาศ XML การประกาศนี้ระบุว่าเอกสารนี้เป็นเอกสาร XML และข้อกำหนดเวอร์ชัน XML ใดที่เป็นไปตามข้อกำหนด คำสั่งประกาศ XML มีลักษณะดังนี้:
<?xml เวอร์ชัน = "1.0"?>
5.DTD (คำจำกัดความประเภทไฟล์)
DTD ใช้เพื่อกำหนดองค์ประกอบ คุณลักษณะ และความสัมพันธ์ระหว่างองค์ประกอบในเอกสาร XML
ไฟล์ DTD สามารถใช้เพื่อตรวจสอบว่าโครงสร้างของเอกสาร XML ถูกต้องหรือไม่ แต่การสร้างเอกสาร XML ไม่จำเป็นต้องมีไฟล์ DTD คำอธิบายโดยละเอียดของไฟล์ DTD จะแสดงแยกกันด้านล่าง
6. XML ที่มีรูปแบบดี (XML ที่มีรูปแบบดี)
เอกสารที่ปฏิบัติตามกฎไวยากรณ์ XML และเป็นไปตามข้อกำหนด XML เรียกว่า "มีรูปแบบที่ถูกต้อง" หากมาร์กอัปทั้งหมดของคุณปฏิบัติตามข้อกำหนด XML อย่างเคร่งครัด เอกสาร XML ของคุณไม่จำเป็นต้องมีไฟล์ DTD เพื่อกำหนด
เอกสารที่มีรูปแบบถูกต้องต้องเริ่มต้นด้วยการประกาศ XML เช่น:
<?xml version="1.0" standalone="yes" encoding="UTF-8"?>
คุณต้องระบุเวอร์ชัน XML ที่เอกสารเป็นไปตาม ซึ่งปัจจุบันคือ 1.0 ประการที่สอง อธิบายว่าเอกสารนั้น "ไม่ขึ้นต่อกัน" และไม่จำเป็นต้องมีไฟล์ DTD เพื่อตรวจสอบว่าการระบุตัวตนในเอกสารนั้นถูกต้องหรือไม่ คุณต้องระบุการเข้ารหัสภาษาที่ใช้ในเอกสาร ค่าเริ่มต้นคือ UTF-8 หากคุณใช้ภาษาจีน คุณจะต้องตั้งค่าเป็น GB2312
เอกสาร XML ที่มีรูปแบบถูกต้องจะต้องมีองค์ประกอบรูท ซึ่งเป็นองค์ประกอบแรกที่สร้างขึ้นทันทีหลังจากการประกาศ องค์ประกอบอื่นๆ ทั้งหมดเป็นองค์ประกอบย่อยขององค์ประกอบรูทนี้และอยู่ในกลุ่มขององค์ประกอบรูท
เนื้อหาของเอกสาร XML ที่มีรูปแบบถูกต้องจะต้องเขียนตามไวยากรณ์ XML (เราจะอธิบายไวยากรณ์ XML โดยละเอียดในบทถัดไป)
7.XML ที่ถูกต้อง (XML ที่ถูกต้อง)
เอกสาร XML ที่สอดคล้องกับกฎไวยากรณ์ XML และสอดคล้องกับข้อกำหนดเฉพาะของไฟล์ DTD ที่เกี่ยวข้องเรียกว่าเอกสาร XML ที่ถูกต้อง โปรดทราบว่าเราเปรียบเทียบ "XML ที่มีรูปแบบดี" และ "Valid
XML" ข้อแตกต่างที่ใหญ่ที่สุดระหว่างกันคืออันหนึ่งปฏิบัติตามข้อกำหนด XML โดยสมบูรณ์ ในขณะที่อีกอันมี "Document Type Definition (DTD)" ของตัวเอง
กระบวนการเปรียบเทียบเอกสาร XML กับไฟล์ DTD เพื่อดูว่าเป็นไปตามกฎ DTD หรือไม่เรียกว่าการตรวจสอบความถูกต้อง โดยปกติกระบวนการนี้จะได้รับการจัดการโดยซอฟต์แวร์ที่เรียกว่า parser
เอกสาร XML ที่ถูกต้องต้องเริ่มต้นด้วยการประกาศ XML เช่น:
<?xml version="1.0" standalone="no" encode="UTF-8"?>
แตกต่างจากตัวอย่างข้างต้น ในแอตทริบิวต์แบบสแตนด์อโลน (อิสระ) มีการตั้งค่า "no" ที่นี่เนื่องจากต้องใช้กับ DTD ที่เกี่ยวข้อง ไฟล์ DTD ถูกกำหนดไว้ดังนี้:
<!DOCTYPE ประเภท doc SYSTEM/PUBLIC "dtd-name">
ใน:
"!DOCTYPE" หมายความว่าคุณต้องการกำหนด DOCTYPE
"type-of-doc" คือชื่อของประเภทเอกสารที่คุณกำหนด ซึ่งมักจะเหมือนกับชื่อไฟล์ DTD
ใช้หนึ่งในสองพารามิเตอร์ "SYSTEM/PUBLIC" เท่านั้น SYSTEM อ้างถึง URL ของไฟล์ DTD ส่วนตัวที่ใช้โดยเอกสาร ในขณะที่ PUBLIC อ้างถึง URL ของไฟล์ DTD สาธารณะที่ใช้โดยเอกสาร
"dtd-name" คือ URL และชื่อของไฟล์ DTD ไฟล์ DTD ทั้งหมดมีส่วนต่อท้าย ".dtd"
เรายังคงใช้ตัวอย่างข้างต้น ควรเขียนดังนี้:
<?xml version="1.0" standalone="no" encode="UTF-8"?>
<!DOCTYPE filelist SYSTEM "filelist.dtd">
2. คำศัพท์ที่เกี่ยวข้องกับ DTD
DTD คืออะไร เราได้กล่าวไปแล้วข้างต้น DTD เป็นวิธีที่มีประสิทธิภาพเพื่อให้แน่ใจว่ารูปแบบเอกสาร XML ถูกต้อง คุณสามารถเปรียบเทียบเอกสาร XML และไฟล์ DTD เพื่อดูว่าเอกสารเป็นไปตามข้อกำหนดหรือไม่และใช้องค์ประกอบและแท็กอย่างถูกต้องหรือไม่ เอกสาร DTD ประกอบด้วย: กฎการกำหนดองค์ประกอบ กฎการกำหนดความสัมพันธ์ระหว่างองค์ประกอบ คุณลักษณะที่องค์ประกอบสามารถใช้ได้ และกฎของเอนทิตีหรือสัญลักษณ์ที่สามารถใช้ได้
ไฟล์ DTD ยังเป็นไฟล์ข้อความ ASCII ที่มีส่วนต่อท้าย .dtd ตัวอย่างเช่น: myfile.dtd
เหตุใดจึงใช้ไฟล์ DTD ความเข้าใจของฉันคือเป็นไปตามการแบ่งปันเครือข่ายและการโต้ตอบข้อมูล ประโยชน์ที่ใหญ่ที่สุดของการใช้ DTD คือการแชร์ไฟล์ DTD (นี่คือแอตทริบิวต์ PUBLIC ในคำสั่งคำอธิบาย DTD ด้านบน) ตัวอย่างเช่น หากคนสองคนในอุตสาหกรรมเดียวกันและภูมิภาคต่างกันใช้ไฟล์ DTD เดียวกันเป็นข้อกำหนดในการสร้างเอกสาร ข้อมูลของพวกเขาก็สามารถแลกเปลี่ยนและแบ่งปันได้อย่างง่ายดาย หากบุคคลอื่นบนอินเทอร์เน็ตต้องการเพิ่มข้อมูล พวกเขาเพียงต้องสร้างเอกสารตามข้อกำหนด DTD สาธารณะ และสามารถเข้าร่วมได้ทันที
ปัจจุบันมีไฟล์ DTD ที่เขียนไว้จำนวนมากอยู่แล้ว ไฟล์ DTD เหล่านี้ได้กำหนดองค์ประกอบและกฎป้ายกำกับทั่วไปโดยมีเป้าหมายไปที่อุตสาหกรรมและแอปพลิเคชันต่างๆ คุณไม่จำเป็นต้องสร้างใหม่ด้วยตัวเอง เพียงเพิ่มโลโก้ใหม่ที่คุณต้องการตามโลโก้เหล่านั้น
แน่นอน หากคุณต้องการ คุณสามารถสร้าง DTD ของคุณเองได้ ซึ่งอาจตรงกับเอกสารของคุณได้สมบูรณ์แบบยิ่งขึ้น การสร้าง DTD ของคุณเองนั้นง่ายมาก โดยทั่วไป คุณจะต้องกำหนดองค์ประกอบ 4-5 รายการเท่านั้น
มีสองวิธีในการเรียกไฟล์ DTD:
1. DTD มีอยู่ภายในเอกสาร XML โดยตรง
สิ่งที่คุณต้องทำคือใส่คำแนะนำพิเศษลงในการประกาศ DOCTYPE เช่นนี้:
เรามีเอกสาร XML:
<?xml version="1.0" encoding="GB2312"?>
<ไฟล์ของฉัน>
<title>คู่มือ XML Easy Learning</title>
<author>อาจี้</author>
</ไฟล์ของฉัน>
เราเพียงแค่ใส่โค้ดต่อไปนี้หลังบรรทัดแรก:
<!DOCTYPE ไฟล์ของฉัน [
<!ชื่อองค์ประกอบ (#PCDATA)>
<!ผู้สร้าง ELEMENT (#PCDATA)>
<!ENTITY ลิขสิทธิ์ "ลิขสิทธิ์ 2001, อาจิเอะ">
-
2. เรียกไฟล์ DTD อิสระ
บันทึกเอกสาร DTD เป็นไฟล์ .dtd แล้วเรียกในบรรทัดการประกาศ DOCTYPE ตัวอย่างเช่น บันทึกรหัสต่อไปนี้เป็น myfile.dtd
<!ELEMENT myfile (ชื่อเรื่อง, ผู้แต่ง)>
<!ชื่อองค์ประกอบ (#PCDATA)>
<!ผู้สร้าง ELEMENT (#PCDATA)>
จากนั้นเรียกมันในเอกสาร XML โดยแทรกหลังบรรทัดแรก:
<!DOCTYPE ระบบ myfile "myfile.dtd">
เราจะเห็นได้ว่าการเรียกใช้ js ในเอกสาร DTD และ HTML เกี่ยวกับวิธีการเขียนเอกสาร DTD เราจะแนะนำพวกเขาพร้อมกับไวยากรณ์ของเอกสาร XML ในบทถัดไป
มาเรียนรู้เกี่ยวกับคำศัพท์ที่เกี่ยวข้องกับ DTD:
1.สคีมา (การวางแผน)
สคีมาคือคำอธิบายของกฎข้อมูล Schema ทำสองสิ่ง:
ก. กำหนดประเภทข้อมูลองค์ประกอบและความสัมพันธ์ระหว่างองค์ประกอบ
ข มันกำหนดประเภทเนื้อหาที่องค์ประกอบสามารถมีได้
DTD เป็นสคีมาสำหรับเอกสาร XML
2.แผนผังเอกสาร
เราได้กล่าวถึง "แผนผังเอกสาร" ไปแล้วในบทที่ 2 ซึ่งเป็นการแสดงรูปภาพของโครงสร้างลำดับชั้นขององค์ประกอบเอกสาร แผนผังโครงสร้างเอกสารประกอบด้วยองค์ประกอบราก ซึ่งเป็นองค์ประกอบระดับบนสุด (นั่นคือ องค์ประกอบแรกต่อจากคำสั่งประกาศ XML ทันที) ดูตัวอย่าง:
<?xml เวอร์ชัน = "1.0"?>
<รายการไฟล์>
<ไฟล์ของฉัน>
<title>...</title>
<ผู้เขียน>...</ผู้เขียน>
</ไฟล์ของฉัน>
</รายการไฟล์>
ตัวอย่างข้างต้นถูกจัดเรียงในโครงสร้างสามระดับเป็นรูปร่าง "ต้นไม้" โดยที่ <filelist> เป็นองค์ประกอบราก ในไฟล์ XML และ DTD องค์ประกอบแรกที่กำหนดคือองค์ประกอบรูท
3.องค์ประกอบหลัก/องค์ประกอบย่อย
องค์ประกอบหลักคือองค์ประกอบที่มีองค์ประกอบอื่นๆ และองค์ประกอบที่มีอยู่เรียกว่าองค์ประกอบย่อย ดูที่ "แผนผังโครงสร้าง" ด้านบน โดยที่ <myfile> เป็นองค์ประกอบหลัก <title>, <author> เป็นองค์ประกอบย่อย และ <myfile> เป็นองค์ประกอบย่อยของ <filelist> องค์ประกอบระดับสุดท้ายที่ไม่มีองค์ประกอบย่อยเช่น <title> เรียกอีกอย่างว่า "องค์ประกอบหน้า"
4.Parser (ซอฟต์แวร์แยกวิเคราะห์)
Parser เป็นซอฟต์แวร์เครื่องมือที่ตรวจสอบว่าเอกสาร XML เป็นไปตามข้อกำหนด DTD หรือไม่
ตัวแยกวิเคราะห์ XML ได้รับการพัฒนาเป็นสองประเภท ประเภทแรกคือ "ตัวแยกวิเคราะห์ที่ไม่ยืนยัน" ซึ่งจะตรวจจับเฉพาะว่าเอกสารเป็นไปตามกฎไวยากรณ์ของ XML หรือไม่ และแผนผังเอกสารถูกสร้างขึ้นด้วยตัวระบุองค์ประกอบหรือไม่ อีกประการหนึ่งคือ "ตัวระบุคลาสการยืนยัน" ซึ่งไม่เพียงตรวจจับไวยากรณ์ของเอกสารและแผนผังโครงสร้างเท่านั้น แต่ยังเปรียบเทียบและวิเคราะห์ว่าตัวระบุองค์ประกอบที่คุณใช้เป็นไปตามข้อกำหนดของไฟล์ DTD ที่เกี่ยวข้องหรือไม่
Parser สามารถใช้ได้อย่างอิสระหรือเป็นส่วนหนึ่งของซอฟต์แวร์แก้ไขหรือเบราว์เซอร์ ในรายการทรัพยากรที่เกี่ยวข้องต่อไปนี้ ฉันได้แสดงรายการ parsers ที่ได้รับความนิยมในปัจจุบันบางส่วนแล้ว
จากการศึกษาบทที่ 3 เราได้เรียนรู้คำศัพท์พื้นฐานบางอย่างของ XML และ DTD แล้ว แต่เรายังไม่รู้ว่าจะเขียนไฟล์เหล่านี้อย่างไร และจะต้องปฏิบัติตามไวยากรณ์ประเภทใด ในบทต่อไป เราจะเน้นไปที่ ในการเขียน XML และไวยากรณ์ของเอกสาร DTD โปรดเรียกดูต่อ ขอบคุณ!