กลับไปหน้าบทความ

อ่าน 2 นาที

เอนทิตี SGML

ในภาษามาร์กอัปทั่วไปมาตรฐาน (SGML) เอนทิตีเป็นชนิดข้อมูลพื้นฐาน ที่เชื่อมโยงสตริงกับนามแฝงที่ไม่ซ้ำกัน (เช่น ชื่อที่ผู้ใช้กำหนด) หรือคำสงวนของ SGML (เช่น `@ `)

เอนทิตี SGML

ในภาษามาร์กอัปทั่วไปมาตรฐาน (SGML) เอนทิตีเป็นชนิดข้อมูลพื้นฐาน ที่เชื่อมโยงสตริงกับนามแฝงที่ไม่ซ้ำกัน (เช่น ชื่อที่ผู้ใช้กำหนด) หรือคำสงวนของ SGML (เช่น `@ `) เอนทิตีเป็นพื้นฐานสำหรับโครงสร้างการจัดระเบียบและการกำหนดความหมายของเอกสาร SGML ข้อกำหนด SGML กำหนดประเภทเอนทิตี จำนวนมาก ซึ่งแตกต่างกันโดยตัวระบุคำหลักและบริบท ค่าสตริงของเอนทิตีอาจประกอบด้วยข้อความธรรมดาแท็ก SGML และ/หรือการอ้างอิงถึงเอนทิตีที่กำหนดไว้ก่อนหน้านี้ ประเภทเอนทิตีบางประเภทอาจเรียกใช้เอกสารภายนอกได้ เอนทิตีจะถูกเรียกโดยการอ้างอิง #DEFAULT

ประเภทของเอนทิตี

เอนทิตีถูกจำแนกออกเป็นแบบทั่วไปหรือแบบพารามิเตอร์:

  • เอน ทิตี ทั่วไปสามารถอ้างอิงได้เฉพาะภายในเนื้อหาของเอกสารเท่านั้น
  • เอนทิตีพารามิเตอร์สามารถอ้างอิงได้เฉพาะภายในคำจำกัดความประเภทเอกสาร (DTD) เท่านั้น

นอกจากนี้ เอนทิตีต่างๆ ยังถูกจำแนกเพิ่มเติมเป็นเอนทิตีที่ผ่านการวิเคราะห์แล้วและเอนทิตีที่ยังไม่ผ่านการวิเคราะห์:

  • เอน ทิตี ที่ผ่านการแยกวิเคราะห์แล้วจะมีข้อความ ซึ่งจะถูกนำไปรวมไว้ในเอกสารและแยกวิเคราะห์อีกครั้งหากมีการอ้างอิงถึงเอนทิตีนั้น เอนทิตีพารามิเตอร์จะต้องเป็นเอนทิตีที่ผ่านการแยกวิเคราะห์แล้วเท่านั้น
  • เอน ทิตี ที่ยังไม่ได้แยกวิเคราะห์นั้นประกอบด้วยข้อมูลทุกประเภท และการอ้างอิงถึงเอนทิตีนั้นจะทำให้แอปพลิเคชันได้รับแจ้งเพียงแค่การมีอยู่ของเอนทิตีเท่านั้น เนื้อหาของเอนทิตีจะไม่ถูกแยกวิเคราะห์ แม้ว่าจะเป็นข้อความก็ตาม เอนทิตีที่ยังไม่ได้แยกวิเคราะห์นั้นจะเป็นเอนทิตีภายนอกเท่านั้น

หน่วยงานภายในและภายนอก

เอนทิตีภายในจะมีค่าเป็น สตริง ตามตัวอักษรหรือสตริงที่ผ่านการแยกวิเคราะห์ซึ่งประกอบด้วยมาร์กอัปและเอนทิตีที่กำหนดไว้ในเอกสารเดียวกัน (เช่นการประกาศประเภทเอกสารหรือเอกสารย่อย) ในทางตรงกันข้ามเอนทิตีภายนอกจะมีคำประกาศที่เรียกใช้เอกสารภายนอก ซึ่งจำเป็นต้องมีการแทรกแซงจากตัวจัดการเอนทิตีเพื่อแก้ไขการอ้างอิงเอกสารภายนอกนั้น

เอนทิตีระบบ

การประกาศเอนทิตีอาจมีค่าตามตัวอักษร หรืออาจมีการผสมผสานระหว่างSYSTEMตัวระบุ เสริม ซึ่งช่วยให้ตัวแยกวิเคราะห์ SGML สามารถประมวลผลสตริงอ้างอิงของเอนทิตีเป็นตัวระบุทรัพยากร และPUBLICตัวระบุเสริม ซึ่งระบุเอนทิตีโดยไม่ขึ้นอยู่กับการแสดงผลใดๆ ในXMLซึ่งเป็นส่วนย่อยของSGMLการประกาศเอนทิตีอาจไม่มีPUBLICตัวระบุเสริมหากไม่มีSYSTEMตัวระบุเสริม

เอนทิตีเอกสาร SGML

เมื่อเอนทิตีภายนอกอ้างอิงถึงเอกสาร SGML ที่สมบูรณ์ เอกสารที่เรียกใช้จะเรียกว่าเอนทิตีเอกสาร SGMLเอกสาร SGML คือเอกสารข้อความที่มีมาร์กอัป SGML ที่กำหนดไว้ในคำนำ SGML (เช่น DTD และเอกสารย่อย) เอกสาร SGML ที่สมบูรณ์ประกอบด้วยไม่เพียงแต่ตัวอินสแตนซ์เอกสารเองเท่านั้น แต่ยังรวมถึงคำนำและอาจรวมถึงการประกาศ SGML (ซึ่งกำหนดไวยากรณ์มาร์กอัปของเอกสารและประกาศการเข้ารหัสอักขระ ) [ 1 ]

ไวยากรณ์

เอนทิตีถูกกำหนดผ่านการประกาศเอนทิตี ใน คำจำกัดความประเภทเอกสาร (DTD) ของเอกสารตัวอย่างเช่น:

<!ENTITY greeting1 "Hello world" > <!ENTITY greeting2 SYSTEM "file:///hello.txt" > <!ENTITY % greeting3 "¡Hola!" > <!ENTITY greeting4 "%greeting3; means Hello!" >

มาร์กอัป DTD นี้ประกาศสิ่งต่อไปนี้:

  • มี เอนทิตีทั่วไปภายในชื่อgreeting1อยู่ และประกอบด้วยสตริงHello world.
  • มี เอนทิตีทั่วไปภายนอกชื่อgreeting2อยู่ และประกอบด้วยข้อความที่พบในทรัพยากรที่ระบุโดยURIfile:///hello.txt
  • มีเอนทิตีพารามิเตอร์ภายในชื่อgreeting3exists และประกอบด้วยสตริง¡Hola!.
  • มี เอนทิตีทั่วไปภายในชื่อgreeting4อยู่ และประกอบด้วยสตริง¡Hola! means Hello!.

ชื่อของเอนทิตีต้องเป็นไปตามกฎของชื่อ SGMLและมีข้อจำกัดเกี่ยวกับตำแหน่งที่สามารถอ้างอิงถึงเอนทิตีได้

เอนทิตีพารามิเตอร์จะถูกอ้างอิงโดยการวางชื่อเอนทิตีไว้ระหว่าง%< และ;</ เอนทิตีทั่วไปที่ถูกแยกวิเคราะห์แล้วจะถูกอ้างอิงโดยการวางชื่อเอนทิตีไว้ระหว่าง " &" และ;" เอนทิตีที่ยังไม่ได้แยกวิเคราะห์จะถูกอ้างอิงโดยการวางชื่อเอนทิตีไว้ในค่าของแอตทริบิวต์ที่ประกาศเป็นประเภท ENTITY

เอนทิตีทั่วไปจากตัวอย่างข้างต้นอาจถูกอ้างอิงในเอกสารได้ดังนี้:

<content> <info> ' &greeting1; ' เป็นสตริงทดสอบทั่วไป</info> <info>เนื้อหาของhello.txt คือ: &greeting2; </info> <info>ในภาษาสเปนคือ& greeting4; </info> </content>

เมื่อทำการวิเคราะห์แล้ว เอกสารนี้จะถูกส่งไปยังแอปพลิเคชันปลายทางในลักษณะเดียวกับที่เขียนไว้ดังต่อไปนี้ โดยสมมติว่าhello.txtไฟล์มีข้อความดังนี้Salutations:

<content> <info> 'Hello world' เป็นข้อความทดสอบทั่วไป</info> <info> เนื้อหาของhello.txt คือ: Salutations </info> <info>ในภาษาสเปน¡Hola! หมายถึงสวัสดี! </info> </content>

การอ้างอิงถึงเอนทิตีที่ไม่ได้ประกาศถือเป็นข้อผิดพลาด เว้นแต่จะมีการกำหนดเอนทิตีเริ่มต้นไว้แล้ว ตัวอย่างเช่น:

<!ENTITY #DEFAULT "เอนทิตีนี้ไม่ได้ถูกกำหนด" >

โครงสร้างมาร์กอัปเพิ่มเติมและตัวเลือกตัวประมวลผลอาจส่งผลต่อว่าเอนทิตีจะถูกประมวลผลหรือไม่และอย่างไร ตัวอย่างเช่น ตัวประมวลผลอาจเลือกที่จะละเว้นเอนทิตีภายนอกได้

ตัวละคร

ชุดเอนทิตีมาตรฐานสำหรับ SGML และอนุพันธ์บางส่วนของ SGML ได้รับการพัฒนาขึ้นเพื่อเป็น เครื่องมือ ช่วยจำเพื่ออำนวยความสะดวกในการจัดทำเอกสารเมื่อจำเป็นต้องใช้อักขระที่พิมพ์ได้ยากหรือไม่ได้รับการสนับสนุนอย่างกว้างขวางโดยการเข้ารหัสอักขระแบบเดิม เอนทิตีแต่ละชุดประกอบด้วยอักขระเพียงตัวเดียวจากชุดอักขระสากล (Universal Character Set ) แม้ว่าอักขระใด ๆ ก็สามารถอ้างอิงได้โดยใช้การอ้างอิงอักขระแบบตัวเลขแต่การอ้างอิงเอนทิตีอักขระช่วยให้สามารถอ้างอิงอักขระได้ด้วยชื่อแทนที่จะใช้รหัสจุด

ตัวอย่างเช่นHTML 4มีเอนทิตีอักขระในตัว 252 ตัวที่ไม่จำเป็นต้องประกาศอย่างชัดเจน ในขณะที่XMLมีเพียง 5 ตัว ส่วน XHTMLก็มี 5 ตัวเช่นเดียวกับ XML แต่หากมีการใช้ DTD อย่างชัดเจน ก็จะมีถึง 253 ตัว ( &apos;ซึ่งเป็นเอนทิตีเพิ่มเติมที่มากกว่าที่มีอยู่ใน HTML 4)

ดูเพิ่มเติม

หมายเหตุ

  1. ^ "คำอธิบาย Web SGML และ HTML 4.0 - บทที่ 6" . www.is-thought.co.uk . เก็บถาวรจากต้นฉบับเมื่อ 2009-02-05
  • การจัดการเอนทิตีใน SGML
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=SGML_entity&oldid=1353118594 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เอนทิตี SGML

ในภาษามาร์กอัปทั่วไปมาตรฐาน (SGML) เอนทิตีเป็นชนิดข้อมูลพื้นฐาน ที่เชื่อมโยงสตริงกับนามแฝงที่ไม่ซ้ำกัน (เช่น ชื่อที่ผู้ใช้กำหนด) หรือคำสงวนของ SGML (เช่น `@ `)

ประเภทของเอนทิตี

เอนทิตีถูกจำแนกออกเป็นแบบทั่วไปหรือแบบพารามิเตอร์:

หน่วยงานภายในและภายนอก

เอน ทิตีภายใน จะมีค่าเป็น สตริง ตามตัวอักษร หรือสตริงที่ผ่านการแยกวิเคราะห์ซึ่งประกอบด้วยมาร์กอัปและเอนทิตีที่กำหนดไว้ในเอกสารเดียวกัน (เช่น การประกาศประเภทเอกสาร หรือเอกสารย่อย) ในทางตรงกันข้าม เอนทิตีภายนอก จะมี คำประกาศ ที่เรียกใช้เอกสารภายนอก...

ไวยากรณ์

เอนทิตีถูกกำหนดผ่าน การประกาศเอนทิตี ใน คำจำกัดความประเภทเอกสาร (DTD) ของเอกสารตัวอย่างเช่น: