เหตุใดความคิดเห็น xml จึงไม่สามารถมียัติภังค์สองรายการได้


16

ฉันใช้ความคิดเห็นมาร์คดาวน์ในความคิดเห็น xml ของไฟล์กำหนดค่าเมื่อ XmlParser รายงานว่า--ไม่อนุญาตให้ใช้เครื่องหมายขีดคั่นสองตัว ( ) ในความคิดเห็น xml

ตรวจสอบข้อมูลจำเพาะ XMLดูเหมือนว่าข้อคิดเห็น xml ไม่ได้ถูกออกแบบมาเพื่อมียัติภังค์สองรายการเนื่องจากเหตุผลด้านความเข้ากันได้กับตัวแยกวิเคราะห์ SGML

ทำไมตัวแยกวิเคราะห์ SGML จึงไม่อนุญาตให้ใช้เครื่องหมายขีดคั่นคู่ในความคิดเห็น


2
ฉันไม่คิดว่าคุณจะได้คำตอบที่ดีไปกว่า "เพราะนั่นคือสิ่งที่มาตรฐานกล่าว"
jk

เป็นคำตอบเดียวจากนั้นฉันก็ไม่มีทางเลือก :-( แม้ว่าอาจมีคำตอบที่ดีกว่านั้น
OnesimusUnbound

คำตอบ:


30

หน้านี้สรุปประวัติ HTML / SGML นิดหน่อยและกฎที่ค่อนข้างซับซ้อนของยัติภังค์ทั้งสองที่ต่อเนื่องกัน (เส้นประสองเส้น)

ส่วนที่เกี่ยวข้องเกี่ยวกับ SGML:

หากต้องการใส่เพียงแค่เครื่องหมายขีดกลางคู่ที่จุดเริ่มต้นและจุดสิ้นสุดของความคิดเห็นจะไม่เริ่มต้นและสิ้นสุดความคิดเห็น เส้นประสองครั้งบ่งบอกถึงการเปลี่ยนแปลงในความคิดเห็นที่ได้รับอนุญาตให้มี แรก - เริ่มความคิดเห็นและบอกเบราว์เซอร์ว่าความคิดเห็นที่ได้รับอนุญาตให้มี> ตัวละครโดยไม่ต้องจบความคิดเห็น ที่สอง - ไม่สิ้นสุดความคิดเห็น มันบอกเบราว์เซอร์ว่าหากพบตัวอักษร> มันจะต้องจบความคิดเห็น หากมีการเพิ่ม - อื่นแล้วจะกลับไปที่การอนุญาต> อักขระ


7
ส่วนคุณกำลังหมายถึง เมื่อฉันอ่านรายละเอียดที่ SGML กำหนดไว้สำหรับ--ความคิดเห็นในหัวของฉันจะหมุนไปตามความซับซ้อนที่จะแนะนำในภายหลัง
OnesimusUnbound

1
คำแนะนำที่ไม่เคยใช้--ในการแสดงความคิดเห็นดูดีสำหรับฉัน แต่มีวิธีมาตรฐานในการหลบหนีหรือไม่ สมมติว่าฉันต้องการสร้าง (และแชร์) ตัวกรองผลลัพธ์เพื่อให้แน่ใจว่าจะfoo -- barไม่ทำให้เกิดปัญหา SGML มีค่าเทียบเท่าfoo -\- barหรือไม่ (ฉันแน่ใจว่ามันไม่ใช่แบ็กสแลช!) หรือ-(ดูคำตอบนี้ ) หรืออย่างอื่น? หากเราเพียงแทนที่--ด้วย-หรือ- -การหลบหนีนั้นไม่สามารถย้อนกลับได้
fazy

12

เนื่องจากเครื่องหมายขีดคั่นคู่คือตัวคั่นความคิดเห็นใน SGML <!เริ่มต้นการเรียนการสอน SGML ที่--บ่งชี้ว่าการแสดงความคิดเห็น ดังนั้นโดยทั่วไปเป็นเหตุผลเดียวกับที่ความคิดเห็น C ++ ไม่สามารถมี*/ได้


1
ฉันคิดว่า-->เป็นตัวคั่นความคิดเห็น
OnesimusUnbound

10
ไม่มันไม่ใช่. <!เริ่มคำสั่ง SGML >จบลง ภายในคำสั่ง SGML --ทั้งเริ่มและสิ้นสุดความคิดเห็น
Jörg W Mittag

7
อ่าเพิ่มความคิดเห็นของคุณลงในคำตอบนี่คือความสว่างเพราะมันหมายความว่าคุณสามารถเขียน <! someRelevantSgmlTag - ความคิดเห็น - someAttribute = "blabla" - ความคิดเห็นอื่น -> และความหมายทางตรรกจะเป็น <! someRelevantSgmlTag someAttribute = " blabla ">
Jimmy Hoffa

1
อ่าเหมาะสมแล้ว --> จริง ๆ แล้วเป็นโทเค็นสองโทเค็นการ--จำกัด ข้อคิดเห็นและ>การสิ้นสุดคำสั่ง SGML ตอนนี้ฉันมีความคิดเกี่ยวกับที่<![CDATA[... ]]>มา
OnesimusUnbound

ฉันได้รวมความคิดเห็น
Joris Timmermans
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.