![]() |
|
||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ¡@ |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ¤å¥ó (Document) | ||||
|
¬Û²Ådocument²£¥Í³W«h¦¡·N¿×µÛ¡G
¦p¦¹°µªºµ²ªG¬O¡A°w¹ï¨CÓ«D®Úªº¤¸¯À
C¡A¤å¥ó¤¤¥t¦³¤@Ó¤¸¯À P¡AC ¦ì©ó P ªº¤º®e¤¤¡A¦Ó¤£¦ì©ó¨ä¥L³Q
P ©Ò¥]§tªº¥ô¦ó¤¸¯Àªº¤º®e¤¤¡CP «hºÙ¬° C ªº¤÷¤¸¯À
(parent or parent element)¡A¦Ó C «hºÙ¬° P ªº¤l¤¸¯À
(child or child element) ¡C
¤@ÓåªR¹L¹êÅé¥]§t¤å¥» (text)¡A¤å¥»¬°¤@¦ê ¦r¤¸(character)§Ç¦C¡A¥i¥Nªí¼Ð¥Ü©Î¦r¤¸¸ê®Æ¡C¤@Ó ¦r¤¸¬O ISO/IEC 10646[ISO/IEC 10646]¤¤©w¸qªº¤å¥»³Ì¤p°ò¥»³æ¤¸¡C¦Xªkªº¦r¤¸¥]¬A¸õ¦ì¦r¤¸ (Tab)¡BÂk¦ì¦r¤¸ (Carriage return)¡B´«¦æ¦r¤¸ (Line feed) ¥H¤Î Unicode ©M ISO/IEC 10646 ¤¤©w¸qªº¦Xªk¹Ï§Î¦r¤¸¡C¤£«ØÄ³¨Ï¥Î[Unicode] 6.8 ¸`¤¤©w¸qªº"¬Û®e¦r¤¸(compatibility characters)"¡C
| ¦r¤¸½d³ò (Character Range) | ||||||
|
±N¦r¤¸¥N½X«ü©w¦¨¦ì¤¸«¬ºAªº¾÷¨î¡A¦U¹êÅé¶¡¥i¯à¤£ºÉ¬Û¦P¡C©Ò¦³ªº XML ³B²z¾¹¥²¶·³£¯à±µ¨ü 10646 ¤¤ªº UTF-8 ©M UTF-16 ½s½X¡F«ü©w¨Ï¥Î¦¹¨âºØ½s½Xªº¨ä¤¤¤@ºØ©Î«ü©w¨Ï¥Î¨ä¥L½s½Xªº¾÷¨î¡A±N¦bµy«áªº" 4.3.3 ¹êÅ餤ªº¦r¤¸½s½X "¤¤°Q½×¡C
¥»¸`¤¤©w¸q¤F¤@¨Ç¦b¤åªk¤¤¼sªx¨Ï¥Îªº²Å¸¹¡C
S (ªÅ¥Õ White space)
¥]¬A¤@өΦhӪŮæ¦r¤¸ (#x20)¡BÂk¦ì¦r¤¸¡A´«¦æ¦r¤¸¤Î¸õ¦ì¦r¤¸¡C
| ªÅ¥Õ (White Space) | ||||
|
¬°¤F¤è«K°_¨£¡A¦r¤¸³Q¤ÀÃþ¦¨¦r¥À (Letters)¡A¼Æ¦r (Digits) ©M¨ä¥L¦r¤¸¤TÃþ¡C¦r¥À¥i¥H¬O^¤å¦r¥Àªí¤¤ªº¦r¥À¡A©Î¬O¤@Óµ¸`¦r¤¸ (Syllabic base character) «á±¸òµÛ¤@©Î¦hÓ²Õ¦X¦r¤¸¡A¤]¥i¥H¬O¤@Óªí·N¦r¤¸ (Ideographic character)¡C¦b"B. ¦r¤¸ªº¤ÀÃþ"¤¤·|µ¹¤©¨CÃþ¦r¤¸ªº§¹¾ã©w¸q¡C
¦WºÙ(name)¬O¥H¦r¥À©Î¬Y¨Ç¼ÐÂI²Å¸¹¦r¤¸¶}ÀYªº²Å°O(token)¡A«á±·|±µµÛ¦r¥À¡B¼Æ¦r¡B³s¦r¤¸¡B©³½u¡B«_¸¹©Î¥y¸¹¡A³o¨Ç²Å¸¹²ÎºÙ¬°¦WºÙ¦r¤¸(Name
character)¡C¥H"xml"©Î¨ä¥L¥ô¦ó¬Û²Å©ó (('X'|'x')
('M'|'m') ('L'|'l'))
ªº¦r¦ê¶}ÀY¦WºÙ¡A¦b¦¹ª©¥»©Î«áÄòª©¥»ªº³W®æ®Ñ¤¤³Q«O¯d¨Ï¥Î¡C(͵ù:
ªí¥Ü¦WºÙ¦r¤¸¤£¯à¥H xml¡AXml¡A...XML ¬°¶}ÀY)
ª`·N¡GXML ¦WºÙ¤¤ªº«_¸¹³Q«O¯dµ¹¦WºÙªÅ¶¡ (name space) ´ú¸Õ¹êÅç®É¨Ï¥Î¡C¥¦ªº·N¸q¥²¶·µ¥«Ý¥¼¨Ó¦WºÙªÅ¶¡ªº³W®æ¼Ð·Ç¤Æ¡A¦Ó¨º®É±N«_¸¹¥Î©ó¹êÅç¥Î³~ªº¤å¥ó¥i¯à»Ýn§ó·s¡C(¤£«OÃÒ¥¼¨Ó XML ªº¦WºÙªÅ¶¡¾÷¨î¡A·|±Ä¥Î«_¸¹§@¬°©w¬É²Å¡C)¹ê»Ú¤W¡A³o·N¿×µÛ°£«D¦b´ú¸Õ¦WºÙªÅ¶¡´ú¸Õ¹êÅç®É¨Ï¥Î¡AXML ¤å¥ó§@ªÌ¤£À³¸Ó¦b XML ¦WºÙ¤¤¨Ï¥Î«_¸¹¡A¦ý XML ³B²z¾¹À³¸Ó±µ¨ü±N«_¸¹µø¬°¤@Ó¦WºÙ¦r¤¸ (Name Character)¡C
Nmtoken(¦WºÙ°O²Å¡Aname token)
¬O¥ô¦ó¦WºÙ¦r¤¸ªº²V¦XÅé¡C
| ¦WºÙ©M°O²Å (Names and Tokens) | ||||||||||||||||||||
|
¦r±¸ê®Æ (Literal data)
¬O¥ô¦ó¨Ï¥Î¤Þ¸¹¬A°_¨Óªº¦r¦ê¡A¦ý¤£¥]¬A¥Î¨Ó§@©w¬É²Å (Delimiter)
ªº¤Þ¸¹¡C¦r±¸ê®Æ¥Î¨Ó«ü©ú¤º³¡¹êÅ骺¤º®e (EntityValue)¡BÄÝ©ÊÈ
(AttValue)¥H¤Î¥~³¡ÃѧO¦r (SystemLiteral)¡Cª`·N¡G¹ï©ó SystemLiteralªº»yªk¤ÀªR¤£»Ý±½´y¼Ð¥Ü¡A
¤]¯à°÷§@åªR¡C
| ¦r±¸ê®Æ (Literals) | ||||||||||||||||||||||||||||
|
¤å¥»¥Ñ¦r¤¸¸ê®Æ©M¼Ð¥Ü²V¦Xºc¦¨¡C¼Ð¥Ü¥]¬A°_©l¼ÐÅÒ¡Bµ²§ô¼ÐÅÒ¡BªÅ¤¸¯À¼ÐÅÒ(Empty-element tags)¡B¹êÅé°Ñ¤Þ(Entity references)¡B¦r¤¸°Ñ¤Þ(Character references)¡Bµù¸Ñ¡BCDATA ¬q(CDATA section delimiters)©w¬É²Å¡A¤å¥óÃþ«¬«Å§i(Document type declarations) ©M³B²z«ü¥Ü¡C
©Ò¦³«D¼Ð¥Üªº¤å¥»²Õ¦¨¤å¥óªº¦r¤¸¸ê®Æ¡C
" And " ²Å¸¹ (&) ©M¥ª¤T¨¤¬A©· (<) ¥u¦³
§@¬°¼Ð¥Ü©w¬É²Å¡A©Î¦bµù¸Ñ¡B³B²z«ü¥Ü¡A©ÎCDATA¬q¤¤®É¤~¯à¥H¦r±¸ê®Æ§Î¦¡¥X²{¡C¥¦Ì¦b¤@Ó¤º³¡¹êÅé«Å§iªº¦r±¸ê®Æ¹êÅé¼ÆÈ¤¤¤]¬O¦Xªkªº¡A°Ñ¨£"4.3.2 §Î¦¡¦XªkªºåªR¹L¹êÅé"¡C¦pªG¦b¨ä¥L¦a¤è»Ýn¨Ï¥Î¨ì¦¹¨â¦r¤¸¡A¥¦Ì¥²¶·¥Î¼Æ¦r¦r¤¸°Ñ¤Þ¨Ó¸õ²æ (escaped)
¥»·N©Î¤À§O¥Î¦r¦ê "&" ©M "<"
¨Óªí¥Ü¡C¥k¤T¨¤¬A©·(>)¥i¥H¥Î ">"
¦r¦ê¨Óªí¥Ü¡A¦Ó·í¥¦¥X²{¦b¤å¥ó¤º®eªº"]]>"
¦r¦ê¤¤¡A¦Ó¦¹¦r¦ê¨Ã¤£¥Nªí¤@ÓCDATA ¬qªºµ²§ô©w¬É²Å®É¡A¬°¤F¬Û®e©Êªº¦Ò¶q¡A¥²¶·¨Ï¥Î ">"
©Î¤@Ó¦r¤¸°Ñ¤Þ¨Ó¸õ²æ¥»·N (©ÎÂà¸q)¡C
¦b¤¸¯Àªº¤º®e¤¤¡A¦r¤¸¸ê®Æ¬O¤£¥i¥]¬A¥ô¦ó¼Ð¥Üªº°_©l©w¬É²Å¤§¥ô·N¦r¦ê¡C¦b¤@Ó
CDATA¬q¤¤¡A¦r¤¸¸ê®Æ«h¬°¤£¥]¬A CDATA ¬qµ²§ô©w¬É²Å"]]>"ªº¥ô·N¦r¦ê¡C
¬°¤F¤¹³\¦bÄÝ©ÊȤ¤¥]§t³æ¤Þ¸¹©MÂù¤Þ¸¹¡A¬Ù²¤²Å¸¹©ÎºÙ³æ¤Þ¸¹
(')¥i¥H³Qªí¥Ü¬° "'"¡A¦ÓÂù¤Þ¸¹ (")
¥i¥H³Qªí¥Ü¬° """¡C
| ¦r¤¸¸ê®Æ (Character Data) | ||||
|
µù¸Ñ¥i¥H¥X²{¦b¤å¥ó¤¤¨ä¥L¼Ð¥Ü¥~ªº¥ô¦ó¦ì¸m¤W¡C¦¹¥~¡A¥¦Ì¥i©ñ¸m¦b¤å¥óÃþ«¬«Å§i¤¤¤åªk©Ò¤¹³\¥X²{ªº¦ì¸m¡C¥¦Ì¤£¬O¤å¥ó¤¤¦r¤¸¸ê®Æªº¤@³¡¤À¡AXML³B²z¾¹¥i¥H¡A¦ý¤£¥²¶·´£¨Ñ¡AÅý¤@ÓÀ³¥Î¯à°÷À˯Á¥Xµù¸Ñ¤å¦r¡C°w¹ï¬Û®e©Êªº¦Ò¶q¡A¦r¦ê "--" (Âù³s¦r¤¸)
¤£¯à¦bµù¸Ñ¤¤¥X²{¡C
| µù¸Ñ (Comments) | ||||
|
µù¸Ñªº¤@Ó¨Ò¤l¡G
<!-- declarations for <head> & <body> --> |
³B²z«ü¥Ü (PIs)¤¹³\¤å¥ó¤¤¯à°÷¥]§tÀ³¥Îªº«ü¥O¡C
| ³B²z«ü¥Ü (Process Instructions) | ||||||||
|
PI ¨Ã¤£¬O¤å¥ó¦r¤¸¸ê®Æªº¤@³¡¤À¡A¦ý¥²¶·¶Ç»¼µ¹À³¥Îµ{¦¡³B²z¡CPI
¥H¤@ӥؼЦWºÙ(PITarget)¬°¶}ÀY¡A¦¹¥Ø¼Ð¦WºÙ
(target) ¬O¥Î¨Ó¿ë§O«ü¥Ü©Ò«ü¦VªºÀ³¥Îµ{¦¡¡A¥Ø¼Ð¦WºÙ"XML"¡A"xml"¡Aµ¥µ¥¡A«O¯d¥Î©ó¥»³W½dªº¦¹ª©¥»©Î«áÄòª©¥»ªº¼Ð·Ç¤Æ¡CXML°Oªk (notation)¾÷¨î¥i¥H¥Î©ó PI ¥Ø¼Ðªº§Î¦¡¤Æ«Å§i¡C
CDATA¬q¯à°÷©ñ¸m¦b¥ô¦ó¦r¤¸¸ê®Æ¥i¥X²{ªº¦ì¸m¤W¡A¥¦Ì¥Î¨Ó±N·|³QÃѧO¬°¼Ð¥Ü¦r¦êªº¤å¦r°Ï¶ô¸õ²æ¥»·N
(͵ù:·N¿×µÛ CDATA ¬q¤¤ªº¼Ð¥Ü¸ê®Æ¤£·|³Q·í¦¨¼Ð¥Ü)¡CCDATA¬q¥H"<![CDATA["¦r¦ê°µ¬°¶}©l¡A¥H"]]>"¦r¦ê°µ¬°µ²§ô¡G
| CDATA ¬q (CDATA Sections) | ||||||||||||||||
|
¦b¤@Ó CDATA ¬q¤º¡A¥u¦³CDEnd¦r¦ê·|³QÃѧO¦¨¼Ð¥Ü¡A¦]¦¹¥ª¤T¨¤¬A©·©M"&"
²Å¸¹¯à°÷¥H¥¦Ìªº¦r±¸ê®Æ§Î¦¡¥X²{¡A¤£»Ýn (¤]¤£¯à) ¨Ï¥Î "<"
©M "&" ¨â¦r¦ê¨Ó¸õ²æ¥»·N (͵ù:
¦]¬°¥iª½±µ¨Ï¥Î¥¦Ìªº¦r±¸ê®Æ§Î¦¡)¡CCDATA¬q¤£¯à¨Ï¥Î±_ª¬µ²ºc¡C
¤@ÓCDATA¬qªº¨Ò¤l¡A¨ä¤¤"<greeting>"©M"</greeting>"³QÃѧO¬°¦r¤¸¸ê®Æ¡A¦Ó¨Ã«D¼Ð¥Ü¡G
<![CDATA[<greeting>Hello, world!</greeting>]]> |
XML¤å¥ó¥i¥H¥BÀ³¸Ó¥Ñ¤@ÓXML«Å§i°µ¬°¤å¥ó¶}ÀY¡A¨ä¤¤«ü©ú¨Ï¥Îªº XML ª©¥»¡C ¨Ò¦p¡A¥H¤U¬O¤@Ó§¹¾ãªº XML¤å¥ó¡A¥¦¬O§Î¦¡¦Xªkªº¡A¦ý¤£¬O¥¿½T¦Xªkªº¡G
<?xml version="1.0"?> |
¤U±¦¹¨Ò¤]¦P¼Ë¦p¦¹¡G
<greeting>Hello, world!</greeting> |
ª©¥»½s¸¹ "1.0"¬O¥Î¨Óªí¥Ü¸Ó¤å¥ó²Å¦X¦¹ª©¥»ªº³W®æ®Ñ³W©w¡A¦pªG¤å¥ó¤¤¨Ï¥Îª©¥»½s¸¹
"1.0" ¤£¹L¨Ã¤£²Å¦X¦¹ª©¥»ªº³W®æ®Ñ¡A«h·|¦³¿ù»~¡CXML
¤u§@²Õp¹º¶}µo¥»³W®æ®Ñªº«áÄòª©¥»¡A¦Ó¸Óª©¥»½s¸¹´N·|¤£¦P©ó"1.0"
(͵ù: ¥i¯à¬° 1.1 ©Î 1.2)¡A¦ý³o¨Ã¤£ªí¥Ü¤@©w·|¶}µo«áÄòª©¥»¡A¤]¤£ªí¥Ü¦pªG¦³¤F«áÄòª©¥»¡A·|¨Ï¥Î¥ô¦ó¯S®íª©¥»½s¸¹ªº©R¦W¤è¦¡¡C¥Ñ©ó¨Ã¤£±Æ°£¦³«áÄòª©¥»ªº¥i¯à¡A¦]¦¹´£¨Ñ¥»«Øºc
(Construct)
§@¬°¤@¥¹»Ýn®É¯à¦Û°ÊÃѧOª©¥»ªº¤èªk¡C·í³B²z¾¹±µ¦¬ªº¤å¥ó¼ÐÅÒ¤¤¦³³B²z¾¹¤£¤ä´©ªºª©¥»®É¡A·|°e¥X¤@Ó¿ù»~°T®§¡C
XML¤å¥ó¤¤¼Ð¥Üªº¥\¯à¬O´yz¤å¥óªºÀx¦s®æ¦¡©MÅÞ¿èµ²ºc¡A¨Ã±NÄݩʻPȲÕ(Attribute-value pairs) ©MÅÞ¿èµ²ºc°µÃöÁp¡CXML´£¨Ñ¤@ºØ¤å¥óÃþ«¬«Å§i (Document type declaration) ªº¾÷¨î¡A¥Î¨Ó©w¸qÅÞ¿èµ²ºcªº¨î¡A¨Ã¤ä´©¨Ï¥Î¹w¥ý©w¸qÀx¦s³æ¤¸¡C¦pªG¤@Ó XML ¤å¥ó¦³¹ïÀ³ªº¤å¥óÃþ«¬«Å§i¨Ã¥B¿í´`¨ä¤¤©Ò´yzªº¨î¡A«hºÙ¦¹¤å¥ó¬O¥¿½T¦Xªkªº (valid)¡C
¤å¥óÃþ«¬«Å§i¥²¶·¦ì©ó¤å¥ó²Ä¤@Ó¤¸¯À (͵ù: §Y®Ú¤¸¯À) ¤§«e¡C
| «e¨¥ (Prolog) | ||||||||||||||||||||||||
|
XML¤å¥óÃþ«¬«Å§i¥]§t©Î«ü¦V¼Ð¥Ü«Å§i¡A¦¹¼Ð¥Ü«Å§i´£¨Ñ¬Y¤@Ãþ¤å¥óªº¤åªk¡C¦¹ºØ¤åªk³QºÙ¬°¤å¥óÃþ«¬©w¸q (Document type definition¡ADTD)¡C¤å¥óÃþ«¬©w¸q¥i¥H«ü¦V¤@Ó¥]§t¼Ð¥Ü«Å§iªº¥~³¡¤l¶° (¤@ºØ¯S®íÃþ«¬ªº¥~³¡¹êÅé)¡A©Î¥i¥H¦b¤@Ó¤º³¡¤l¶°¤¤ª½±µ¥]§t¼Ð¥Ü«Å§i¡A©Î¨âªÌ²V¦X¨Ï¥Î¡C¤@Ó¤å¥óªº¤å¥ó®æ¦¡©w¸q¥Ñ¦¹¨â¤l¶°¦X¤@¦P²Õ¦¨¡C
¼Ð¥Ü«Å§i¥i¥H¬O¤¸¯ÀÃþ«¬«Å§i(Element type declaration)¡BÄݩʪí«Å§i(Attribute-list declaration)¡B¹êÅé«Å§i©Î¬O°Oªk«Å§i¡C³o¨Ç«Å§i¥i¥H¥þ³¡©Î³¡¤À¦a¥]§t¦b°Ñ¼Æ¹êÅ餤¡A¦p¦P±µ¤U¨Ón»¡©úªº§Î¦¡¦Xªk©Ê (well-formedness) ©M¥¿½T¦Xªk©Ê (valid) ªº¨î¡A§¹¾ãªº¸ê°T°Ñ¨£"4. ª«²zµ²ºc"¡C
| ¤å¥óÃþ«¬©w¸q (Document Type Definition) | ||||||||||||||||||
|
¼Ð¥Ü«Å§i¥i¥H¥þ³¡©Î³¡¤À¦a¥Ñ°Ñ¼Æ¹êÅ骺¸m´«¤å¥» (replacement text)
©Ò²Õ¦¨¡C¥»³W®æ®Ñµy«áÓ§O«D²×ºÝ²Å¸¹(elementdecl¡AAttlistDecl¡Aµ¥µ¥)
ªº²£¥Í³W«h¦¡·|´yz±N©Ò¦³°Ñ¼Æ¹êÅé³Q¥]§t(include)¤§«áªº«Å§i¡C
¥¿½T¦Xªk©Ê¨î: ®Ú¤¸¯ÀÃþ«¬ (Root Element Type)
¤å¥óÃþ«¬«Å§i¤¤ªºName¥²¶·¬Û²Å®Ú¤¸¯ÀªºÃþ«¬¡C
¥¿½T¦Xªk©Ê¨î: ÄY®æªº«Å§i / PE ±_ª¬µ²ºc
°Ñ¼Æ¹êÅ骺¸m´«¤å¥»¥²¶·¥Î¼Ð¥Ü«Å§iÄY®æ¦a¨Ï¥Î±_ª¬¦¸§Ç¨Ó±Æ¦C¡C¤]´N¬O»¡¡A¦pªG¤@ӼХܫŧi
(¤W±ªºmarkupdecl)
ªº²Ä¤@Ó¡A©ÎªÌ³Ì«á¤@Ó¦r¤¸³Q¥]§t©ó¤@ӰѼƹêÅé°Ñ¤Þªº¸m´«¤å¥»¤¤¡A¨âªÌ¥²¶·³£¥]§t¦b¦¹¸m´«¤å¥»¤¤¡C
§Î¦¡¦Xªk©Ê¨î: ¤º³¡¤l¶°¤¤ªº PEs
¦b¤º³¡ DTD ¤l¶°¤¤¡A°Ñ¼Æ¹êÅé°Ñ¤Þ¥u¯à¥X²{¦b¼Ð¥Ü«Å§i¥i¥H¥X²{ªº¦a¤è¡A¦Ó¤£¯à¦b¼Ð¥Ü«Å§i¤º³¡¥X²{¡C(³oӨ¾A¥Î©ó¥X²{¦b¥~³¡°Ñ¼Æ¹êÅ餺ªº°Ñ¤Þ¡A¤]¤£¾A¥Î©ó¥~³¡¤l¶°¡C)
¦p¦P¤º³¡¤l¶°¤@¼Ë¡A¥~³¡¤l¶°©M¥ô¦óDTD¤¤°Ñ¤Þªº¥~³¡°Ñ¼Æ¹êÅé¡A¥²¶·¥Ñ¤@¨t¦C«D²×ºÝ²Å¸¹markupdecl©Ò¤¹³\ªº§¹¾ã¼Ð¥Ü«Å§i©Ò²Õ¦¨¡A¨ä¤¤¥i¥H²VÂøªÅ¥Õ¦r¤¸©Î°Ñ¼Æ¹êÅé°Ñ¤Þ¡CµM¦Ó¡A¥~³¡¤l¶°©M¥~³¡°Ñ¼Æ¹êÅ骺³¡¤À¤º®e¥i¥H¸g¥Ñ¨Ï¥Î±ø¥ó¬q (conditional section)¦³±ø¥ó¦a±N¤§©¿²¤¡A¦b¤º³¡¤l¶°¤¤«h¤£¤¹³\³o¶µ°Ê§@¡C
| ¥~³¡¤l¶° (External Subset) | ||||||||
|
¥~³¡¤l¶°©M¥~³¡°Ñ¼Æ¹êÅé»P¤º³¡¤l¶°ÁÙ¦³¤£¦P¤§³B¦b©ó¡G°Ñ¼Æ¹êÅé°Ñ¤Þ¤£¶È¥u¯à¥X²{¦b¼Ð¥Ü«Å§i¤§¶¡¡A¤]¤¹³\¥X²{¦b¼Ð¥Ü«Å§i¤§¤º¡C
¥H¤U¬O¤@Ó¾Ö¦³¤å¥óÃþ«¬«Å§iªº XML¤å¥ó¨Ò¤l¡G
<?xml version="1.0"?> |
¨t²ÎÃѧO¦r (system identifier) "hello.dtd"´£¨Ñ¤F¤å¥ó
DTD ªº URI¡C
¤]¥i¦p¦P¤U±¨Ò¤l¤@¼Ë¦b¦PÓ¤å¥ó¤W (locally) ª½±µ´£¨Ñ«Å§i¡G
<?xml version="1.0" encoding="UTF-8" ?> |
¦pªG¦P®É¨Ï¥Î¥~³¡©M¤º³¡¤l¶°¡A¤º³¡¤l¶°·|¦b¥~³¡¤l¶°¤§«eµo¥Í¡A³oªí¥Ü¤º³¡¤l¶°¤¤ªº¹êÅé©MÄݩʦCªí«Å§iªºÀu¥ý¶¶§Çn¤ñ¥~³¡¤l¶°¬°¥ý¡C
·í¤å¥ó±qXML ³B²z¾¹¶Ç»¼µ¹À³¥Îµ{¦¡¨Ó³B²z®É¡A¼Ð¥Ü«Å§i·|¼vÅT¥¦ªº¤º®e¡AÄݩʹw³]È©M¹êÅé«Å§i´N¬O¨ä¤¤ªº¨Ò¤l¡C¿W¥ß¤å¥ó«Å§i¬° XML «Å§iªº¤@³¡¥÷¡A¥¦¯à«ü¥X¤å¥ó¹êÅé¬O§_¦s¦b¥~³¡ªº«Å§i¡C
| ¿W¥ß¤å¥ó«Å§i (Standalone Document Declaration) | ||||||
|
¦b¤@Ó¿W¥ß¤å¥ó«Å§i¤¤¡A³]©wÈ"yes"ªí¥Ü¤å¥ó¹êÅé¨S¦³¥~³¡ªº¼Ð¥Ü«Å§i (¤£½×¬O¦b DTD
¥~³¡¤l¶°¤¤¡AÁÙ¬O±q¤º³¡¤l¶°¤¤ªº¥~³¡°Ñ¼Æ¹êÅé°Ñ¤Þ)¡A¦p¦¹·|¼vÅT±q
XML ³B²z¾¹¶Ç»¼µ¹À³¥Îµ{¦¡ªº¸ê°T¡C³]©wÈ"no"ªí¥Ü¦³©Î¥i¯à¦s¦b¥~³¡¼Ð¥Ü«Å§i¡C½Ðª`·N¿W¥ß¤å¥ó«Å§i¥u¬Oªí¥Ü¥~³¡«Å§iªº¦s¦b¡A¦pªG¤å¥ó¤¤¦s¦b¹ï¥~³¡¹êÅ骺¤Þ¥Î¡A¦Ó·í³o¨Ç¹êÅé¦b¤º³¡«Å§i®É¡A¨Ã¤£¼vÅT¤å¥óªº¿W¥ßª¬ºA¡C
¦pªG¨S¦³¥~³¡¼Ð¥Ü«Å§i¡A¿W¥ß¤å¥ó«Å§i¨S¦³·N¸q¡C¦pªG¦³¥~³¡¼Ð¥Ü«Å§i¡A¦ý¨S¦³¿W¥ß¤å¥ó«Å§i¡A«h°²©w³]©wȬ°
"no"¡C
¥ô¦ó¾Ö¦³standalone="no"³]©wªº XML
¤å¥ó¥i³q¹Lºtºâªk±N¤§Âà´«¦¨¿W¥ß¤å¥ó¡C¦Ó¬Y¨Çºô¸ô¶Ç¿éÀ³¥Îµ{¦¡¥i¯à»Ýn¿W¥ßªº¤å¥ó¡A
¥¿½T¦Xªk©Ê¨î : ¿W¥ß¤å¥ó«Å§i
¿W¥ß¤å¥ó«Å§i¥²¶·±Nȳ]©w¬° "no"¡A¦pªG¥ô¦ó¥~³¡¼Ð¥Ü«Å§i¤¤¥]§t¡G
amp¡Alt¡Agt¡Aapos¡Aquotªº¹êÅ餧¥~)
°Ñ¤Þ¥X²{¦b¤å¥ó¤¤ªº¸Ü¡A©Î¨ã¦³¿W¥ß¤å¥ó«Å§iªº XML«Å§i¨Ò¤l¡G
<?xml version="1.0" standalone='yes'?> |
¦b½s¿è XML ¤å¥ó®É¡A¨Ï¥Î"ªÅ¥Õ"(ªÅ®æ¡B¸õ¦ì¦r¤¸¤ÎªÅ¦æ¡A¦b¥»³W®æ®Ñ¤¤¥Î«D²×ºÝ²Å¸¹S ¨Óªí¥Ü)
¨Ó±N¼Ð¥Ü¤À¹j¥H¼W¶i¥iŪ©Ê¬O«Ü¤è«Kªº¡C¤@¯ë¤å¥ó¥i¥æ¥Iªºª©¥»
(delivered version)
¤¤¨Ã¤£·Qn¥]¬A³o¨ÇªÅ¥Õ¡C¥t¤@¤è±¡A¦b¥i¥æ¥Iªºª©¥»¤¤¥²¶·«O¯d¦³·N¸qªºªÅ¥Õ¦r¤¸¤]¬OÆZ±`¨£ªº¡A¨Ò¦p¦b¸Öºq¤Îì©l½X¤¤ªºªÅ¥Õ¦r¤¸¡C
XML ³B²z¾¹Á`¬O¥²¶·±N©Ò¦³¤£¬O¼Ð¥Üªº¦r¤¸¶Ç°eµ¹À³¥Îµ{¦¡¡C¤@ÓÅçÃÒ¥¿½T¦Xªkªº XML ³B²z¾¹¥²¶·¦P®É³qª¾À³¥Îµ{¦¡¦b³o¨Ç¦r¤¸¤¤¡A¨º¨Ç¦r¤¸²Õ¦¨¤F¥X²{¦b¤¸¯À¤º®e¤¤ªºªÅ¥Õ¡C
¥i¦b¤¸¯À¤¤ªþ¥[¤@Ó¦WºÙ¬°xml:spaceªº¯S®íÄݩʡA¥H³qª¾À³¥Îµ{¦¡À³¸Ó«O¯d¦¹¤¸¯À¤¤ªºªÅ¥Õ¡C¦b¥¿½T¦Xªkªº¤å¥ó¤¤¡A¦¹ÄݩʩM¨ä¥LÄݩʤ@¼Ë¡A¨Ï¥Î®É¥²¶·¥ý«Å§i¡C«Å§i®É¥¦¥²¶·³Q³]©w¬°¦CÁ|Ãþ«¬
(enumerated type)¡A¦¹Ãþ«¬¥u¦³"default"©M"preserve"¨âÓ¥i¯àªºÈ¡C¨Ò¦p¡G
<!ATTLIST poem xml:space (default|preserve) 'preserve'> |
"default"
ªí¥Ü¦¹¤¸¯À¥i¥H±µ¨ü¨Ï¥ÎÀ³¥Îµ{¦¡ªº¹w³]ªÅ¥Õ³B²z¼Ò¦¡¡A"preserve"ªí¥ÜÀ³¥Îµ{¦¡·|±N©Ò¦³ªºªÅ¥Õ«O¯d¡C¦¹Äݩʷ|®M¥Î©ó©Ò³]©w¤¸¯Àªº¤º®e¤¤©Ò¦³¤¸¯À¡A°£«D³Q¥t¤@Óxml:spaceÄݩʪº³]©wȩҨú¥N¡C
¥ô¦ó¤å¥óªº®Ú¤¸¯À¨Ã¤£n¨DÀ³¥Îµ{¦¡ªºªÅ¥Õ³B²z¤è¦¡¡A°£«D¥¦´£¨Ñµ¹¦¹Äݩʳ]©wÈ¡A©Î±N¦¹Äݩʫŧi¦¨¹w³]È¡C
XMLåªR¹L¹êÅé¸g±`·|Àx¦s¦b¹q¸£Àɮפ¤¡A¥B¬°¤F½s¿èªº¤è«K¡A·|¥H¦æªº¤è¦¡¨Ó²Õ´¡C¤@¯ë³o¨Ç¦æ·|¨Ï¥ÎÂk¦ì¦r¤¸(#xD)©M´«¦æ¦r¤¸(#xA) ªº²Õ¦X¨Ó°µ¤À¹j¡C
¬°¤F²¤ÆÀ³¥Îµ{¦¡ªº¤u§@¡A¹ï©ó¤@Ó¥~³¡åªR¹L¹êÅé©Î¤º³¡åªR¹L¹êÅ骺¦r±¸ê®Æ¹êÅéȤ¤¥]§tªº¥ô¦ó¨â¦r¤¸¦r±¸ê®Æ§Ç¦C"#xD#xA"©Î³æ¿Wªº¦r±¸ê®Æ#xD¡AXML³B²z¾¹³£À³´«¦¨#xA¶Ç»¼µ¹À³¥Îµ{¦¡¡C(³o¥i¥H¦b¶i¦æåªR«e±N©Ò¦³¦æ¤À¹j²Å¸¹³W½d¦¨#xA¦Ó¤è«K¦a¹ê²{¡C)
¦b¶i¦æ¤å¥ó³B²z®É¡A³q±`³£¬On¿ëÃÑ¥X¨ä¤º®e©Ò¨Ï¥Îªº¦ÛµM©Î¥¿¦¡ªº»y¨¥¡C¥i¥H¦b¤å¥ó¤¤´¡¤J¤@Ó¦W¬°
xml:lang ªº¯S®íÄݩʡA¦¹ÄݩʥΩó«ü¥X XML
¤å¥ó¤¤¥ô¦ó¤¸¯Àªº¤º®e©MÄݩʩҨϥΪº»y¨¥¡C¦b¥¿½T¦Xªkªº¤å¥ó¤¤¡A©M¨ä¥LÄݩʤ@¼Ë¡A¨Ï¥Î¦¹Äݩʮɥ²¶·¥ý«Å§i¡C¦¹Äݩʪº³]©wȬO¦b[IETF RFC
1766]¡A"¬°¤F¿ëÃÑ»y¨¥ªº¼ÐÅÒ"¤¤©w¸qªº»y¨¥ÃѧO¦r¡G
| »y¨¥¿ëÃÑ (Lang Identification) | ||||||||||||||||||||||||
|
Langcode¥i¥H¬O¦p¤U³]©wÈ¡G
i-"(©Î"I-")ªº«e¸m¦r
(prefix) ¬°¶}ÀY¡Cx-"©Î"X-"
ªº«e¸m¦r¬°¶}ÀY¡A¥H«OÃÒ¥¦Ì¤£·|©M¥¼¨Ó¸g¥Ñ IANA ¼Ð·Ç¤Æ©Î¦b IANA
µù¥Uªº¦WºÙ¬Û½Ä¬ð¡C¥i¥H¦³¥ô·N¦hÓ¤l¥N½X(Subcode)°Ï¬q¡A¦pªG¦s¦b²Ä¤@Ó¤l¥N½X°Ï¬q¡A¨Ã¥B¤l¥N½X¥Ñ¨âÓ¦r¥À²Õ¦¨¡A«h¦¹¤l¥N½X¥²¶·¬O[ISO3166]¡A"ªí¥Ü°ê®a¦WºÙªº¥N½X"¤¤©w¸qªº°ê®a¥N½X¡C¦pªG²Ä¤@Ó¤l¥N½X¦h©ó¨âÓ¦r¥À¡A«h¥¦¥²¶·¬O¦b
IANA µù¥U»y¨¥ªº¤l¥N½X¡A°£«DLangcode¬O¨Ï¥Î"x-"©Î"X-"«e¸m¦r¬°¶}ÀY¡C
²ßºD¤W»y¨¥¥N½X·|¨Ï¥Î¤p¼g¦r¥À¡A°ê®a¥N½X (¦pªG¦³ªº¸Ü) ·|¨Ï¥Î¤j¼g¦r¥À¡C½Ðª`·N³o¨ÇÈ»P XML ¤å¥ó¤¤¨ä¥L¦WºÙ¤£¦P¡A¥¦Ì¬O»P¤j¤p¼gµLÃöªº¡C
Á|¨Ò¦p¤U¡G
<p xml:lang="en">The quick brown fox jumps over the lazy dog.</p> |
xml:langªí¥Ü©Ò«ü©wªº»y¨¥³]©w¯à®M¥Î©ó©Ò³B¤¸¯Àªº©Ò¦³ÄݩʩM¤º®e¡A°£«D³Q¤º®e¤¤¤¸¯À¤ºªº¥t¤@Óxml:langÄݩʪº³]©wȩҨú¥N¡C
¤@Ó²³æªºxml:lang«Å§i¥i¥H±Ä¥Î¦p¤U§Î¦¡¡G
xml:lang NMTOKEN #IMPLIED |
µM¦ÓY¦b¾A·íªº±¡ªp¤U¤]¥i¥H«ü©w¯S©wªº¹w³]È¡C¦b¤@¥»µ¹^°ê¾Ç¥Í¨Ï¥Îªºªk¤å¸Öºq¿ï¶°¤¤¡Aµûµù (glosses) ©Mµù¸Ñ (notes) ¨Ï¥Î^»y¡A«h xml:langÄݩʥi¥H¦p¤U¦C¤è¦¡«Å§i¡G
<!ATTLIST poem xml:lang NMTOKEN 'fr'> |
¨CÓXML¤å¥ó¥]§t¤@өΦhÓ¤¸¯À¡A³o¨Ç¤¸¯ÀªºÃä¬É¨Ï¥Î°_©l¼ÐÅÒ©Mµ²§ô¼ÐÅÒ¤À¹j¡A©ÎªÌ¹ï©óªÅ¤¸¯À¨Ó»¡¡A¨Ï¥Î¤@ӪŤ¸¯À¼ÐÅÒ¨Ó¤À¹j¡C¨C¤@Ó¤¸¯À¨Ï¥Î¦WºÙ¨Ó¿ëÃѺØÃþ¡A³o¨Ç¦WºÙ¦³®ÉºÙ¬°¤¸¯Àªº"³q¥ÎÃѧO¦r (generic identifier)"(GI)¡A¦P®É¥¦¥i¥H¦³¤@ÓÄÝ©Êȳ]©w (attribute specification)¶°¡C¨C¤@ÓÄÝ©Êȳ]©w¦³¤@Ó¦WºÙ©M¤@Ó³]©wÈ¡C
| ¤¸¯À (element) | ||||||||||||||||
|
°£¤F¨º¨Ç¶}ÀY¬Û²Å (('X'|'x')('M'|'m')('L'|'l'))
ªº¦r¦ê¡A¦b¦¹ª©¥»©Î«áÄòª©¥»ªº³W®æ®Ñ¤¤³Q«O¯d¨Ï¥Î¥~¡A¥»³W®æ®Ñ¤£¹ï¤¸¯ÀºØÃþ©MÄݩʪº»y¸q¡A¥Îªk©M¦WºÙ
(»yªk¤§¥~) °µ¥ô¦ó¨î¡C
§Î¦¡¦Xªk©Ê¨î: ¤¸¯ÀºØÃþ¬Û²Å
¤¸¯Àµ²§ô¼ÐÅÒ¤¤ªº¦WºÙ¥²¶·©M°_©l¼ÐÅÒ¤¤ªº¤¸¯ÀºØÃþ¬Û²Å¡C
¥¿½T¦Xªk¨î: ¤¸¯À¥¿½T¦Xªk©Ê
¦pªG¦³¤@Ó»Pelementdecl¬Û²Åªº«Å§i¦WºÙ»P¤¸¯ÀÃþ«¬¬Û²Å¥B¤Uz¥ô¤@¶µ¦¨¥ß®É¡A«hºÙ¦¹¤¸¯À¬O¥¿½T¦Xªkªº¡G
EMPTY¬Û²Å¡A¦P®É¦¹¤¸¯À¨S¦³¤º®e¡Cchildren¬Û²Å¡A¦P®É¤l¤¸¯Àªº§Ç¦CÄݩ󤺮e¼Ò«¬¤¤ªº¥¿«h¹Bºâ¦¡©Ò²£¥Íªº»y¨¥¡A¦b¨C¹ï¤l¤¸¯À¶¡¤¹³\¦³ªÅ¥Õ(¬Û²Å«D²×ºÝ²Å¸¹Sªº¦r¤¸)¡CMixed¬Û²Å¡A¨Ã¥B¤º®e¥ÑºØÃþ¬Û²Å©ó¤º®e¼Ò«¬¤¤¦WºÙªº¦r¤¸¸ê®Æ©M¤l¤¸¯À²Õ¦¨¡CANY¬Û²Å¡A¨Ã¥B¥ô¦ó¤l¤¸¯ÀªººØÃþ³£¤w¸g«Å§i¡C¨CÓ¤£¬OªÅªº XML ¤¸¯À¨Ï¥Î¤@Ó°_©l¼ÐÅÒ§@¬°¶}©l¼Ð¥Ü¡C
| °_©l¼ÐÅÒ (Start-tag) | ||||||||||||||||||||||||
|
°_©l¼ÐÅÒ©Mµ²§ô¼ÐÅÒ¤¤ªºName´£¨Ñ¤¸¯ÀªººØÃþ¡CName-AttValue¹ï³QºÙ¬°¤¸¯ÀªºÄÝ©Êȳ]©w¡A¨ä¤¤¨C¤@¹ï¤¤ªºName³QºÙ¬°ÄݩʦWºÙ¡AAttValueªº¤º®e(¦b'©Î"©w¬É²Å¤§¶¡ªº¤å¦r)
³QºÙ¬°ÄÝ©ÊÈ¡C
§Î¦¡¦Xªk©Ê¨î: °ß¤@ªºÄÝ©Êȳ]©w
¤@ÓÄݩʦWºÙ¥u¯à¦b¦P¤@Ó°_©l¼ÐÅҩΪŤ¸¯À¼ÐÅÒ¤¤¥X²{¤@¦¸¡C
¥¿½T¦Xªk¨î: ÄÝ©ÊȺØÃþ
Äݩʥ²¶·³Q«Å§i¡A¨äÈ¥²¶·¬O¨ã¦³«Å§iªººØÃþ¡C(ÄݩʺØÃþ°Ñ¨£"3.3 Äݩʪí«Å§i"¡C)
§Î¦¡¦Xªk©Ê¨î: µL¥~³¡¹êÅé°Ñ¤Þ
ÄÝ©ÊȤ£¯à¥]§t¹ï¥~³¡¹êÅ骽±µ©Î¶¡±µªº¹êÅé°Ñ¤Þ¡C
¥¿½T¦Xªk©Ê¨î: ¦bÄÝ©ÊȤ¤¨S¦³<
¦b¤@ÓÄÝ©ÊȤ¤ª½±µ©Î¶¡±µ¹êÅé°Ñ¤Þªº¸m´«¤å¥»
(°£¤F"<")¤£¯à¥]§t<¡C
°_©l¼ÐÅÒªº¤@Ó¨Ò¤l¡G
<termdef id="dt-dog" term="dog"> |
¨CӥѤ@Ó°_©l¼ÐÅÒ¶}©lªº¤¸¯À¥²¶·¨Ï¥Î¤@Óµ²§ô¼ÐÅҼХܨ䵲§ô¡Aµ²§ô¼ÐÅÒ¤¤ªº¦WºÙ¥²¶·»P°_©l¼ÐÅÒ¤¤µ¹¤©ªº¤¸¯ÀºØÃþ¬Û¦P¡G
| µ²§ô¼ÐÅÒ (End-tag) | ||||
|
µ²§ô¼ÐÅÒªº¤@Ó¨Ò¤l¡G
</termdef> |
¦b°_©l¼ÐÅÒ©Mµ²§ô¼ÐÅÒ¤¤ªº¤å¥»³QºÙ¬°¤¸¯Àªº¤º®e¡G
| ¤¸¯Àªº¤º®e (Content of Elements) | ||||
|
¦pªG¤¸¯Àªº¤º®e¬OªÅªº¡A¥¦¥²¶·³Qªí¥Ü¬°¤@Ó°_©l¼ÐÅÒºò¸ò¤@Óµ²§ô¼ÐÅҩΪŤ¸¯À¼ÐÅÒ¡CªÅ¤¸¯À¼ÐÅұĥΤ@ºØ¯S®íªº§Î¦¡¡G
| ªÅ¤¸¯À¼ÐÅÒ (Tags for Empty Elements) | ||||||
|
¤£½×¤¸¯À¬O§_¥ÎÃöÁä¦rEMPTY¨Ó«Å§i¡AªÅ¤¸¯À¼ÐÅÒ³£¥i¥H¥Î©ó¥ô¦ó¨S¦³¤º®eªº¤¸¯À¡CY°w¹ï©ó¤¬³q¨Ï¥Î¡A«hªÅ¤¸¯À¥²¶·¥Î©ó¥B¥u¯à¥Î©ó«Å§i¦¨EMPTYªº¤¸¯À¡C
ªÅ¤¸¯Àªº¨Ò¤l¡G
<IMG align="left" |
¬°¤FÅçÃÒ (validation) ªº¥Øªº¡A¥i¥H¨Ï¥Î¤¸¯ÀÃþ«¬©MÄݩʪí«Å§i¨Ó¨îXML¤å¥ó¤¤¤¸¯Àªºµ²ºc¡C¤¸¯ÀÃþ«¬«Å§i¨î¤F¤¸¯Àªº¤º®e¡C
¤¸¯ÀÃþ«¬«Å§i³q±`¨î¤F¤l¤¸¯À¥i¥H¥X²{ªºÃþ«¬¡C¥Ñ¨Ï¥ÎªÌ¿ï¾Ü¡A·í«Å§i´£¨ìªº¤¸¯ÀÃþ«¬¨S¦³¬Û¹ïÀ³ªº«Å§i®É¡AXML ³B²z¾¹¥i¥H´£¥Xĵ§i¡A¦ý³o¨Ã¤£¬O¤@Ó¿ù»~¡C
¤¸¯ÀÃþ«¬«Å§i§Î¦¡¦p¤U¡G
| ¤¸¯ÀÃþ«¬«Å§i (Element type declaration) | ||||||||||
|
¨ä¤¤Name³]©w¤F©Ò«Å§iªº¤¸¯ÀÃþ«¬¡C
¥¿½T¦Xªk©Ê¨î: °ß¤@ªº¤¸¯ÀÃþ«¬«Å§i
¤¸¯ÀÃþ«¬¥u¯à«Å§i¤@¦¸¡C
¤¸¯ÀÃþ«¬«Å§iªº¨Ò¤l¡G
<!ELEMENT br EMPTY> |
·í¬Y¤@Ãþ«¬ªº¤¸¯À¥u¯à¥]§t¤l¤¸¯À(µL¦r¤¸¸ê®Æ)¡A¥B¥i¿ï¥ÎªÅ¥Õ (¬Û²Å«D²×ºÝ²Å¸¹S) ¨Ó°µ¤À¹j®É¡AºÙ¦¹¤¸¯ÀÃþ«¬¨ã¦³¤¸¯À«¬¤º®e¡C¦b³oºØ±¡ªp¤U¡A³o¨î¥]§t¤F¤º®e¼Ò«¬¡A¤º®e¼Ò«¬¬O¥Î¨Ó±±¨î¤l¤¸¯À¥i¥X²{ªºÃþ«¬©M¤l¤¸¯À¥i¥X²{¶¶§Çªº¤@ºØÂ²³æ¤åªk¡C¦¹¤åªk¥Î¤º®e²É¤l(Content Particles¡Acp)¨Ó«Øºc¡A¤º®e²É¤l¥Ñ¦WºÙ¡A¤º®e²É¤lªº¿ï¾Üªí(choice
list)©Î¤º®e²É¤lªº§Ç¦Cªí(sequence list)²Õ¦¨¡G
| ¤¸¯À«¬¤º®eªº¼Ò«¬ (Element-content Models) | ||||||||||||||||||||
|
¨ä¤¤¨CÓName¬O¥i¥H¥X²{ªº¤l¤¸¯À¤¸¯ÀÃþ«¬¡C¥ô¦ó¦b¿ï¾Üªí¤¤¥X²{ªº¤º®e²É¤l¦b¤¸¯À«¬¤º®e¤¤¤¹³\¥X²{ªº¦ì¸m¹ïÀ³©ó¿ï¾Üªí¦b¤åªk¤¤ªº¦ì¸m¡C§Ç¦Cªí¤¤¥X²{ªº©Ò¦³¤º®e²É¤l¥²¶·¥H¬Û¦Pªº¶¶§Ç¥X²{¦b¤¸¯À«¬¤º®e¤¤¡C¦b¦WºÙ©Î¦Cªí¤§«áªº¥i¿ï¦r¤¸
(optional character) ¨M©w¤Fªí¤¤¤¸¯À©Î¤º®e²É¤l¥i¥H¥X²{¤@¦¸©Î¦h¦¸(+)¡AÁÙ¬O¹s¦¸©Î¦h¦¸(*)¡A©Î¬O¹s¦¸©Î¤@¦¸(?)¡CY¨S¦³¨Ï¥Î¦p¦¹ªº¾Þ§@²Å¸¹ªí¥Ü¤¸¯À©Î¤º®e²É¤l¥²¶·«ê¦n¥X²{¤@¦¸¡C³oºØ»yªk©M·N¸q©M¥»³W®æ®Ñ¤¤ªº²£¥Í³W«h¦¡¤¤©Ò¨Ï¥Îªº¬Û¦P¡C
¥u¦³·í¤¸¯Àªº¤º®e¥i¥H³z¹L¤º®e¼Ò«¬ªº°lÂܸô®|¡A¤Î¿í¦u§Ç¦C¡A¿ï¾Ü»P«½Æ¾Þ§@²Å¸¹¡A¨Ã¥B¤º®e¤¤ªº¨C¤@Ó¤¸¯À»P¤º®e¼Ò«¬¤¤ªº¤@ºØ¤¸¯ÀÃþ«¬¬Û²Å®É¡A«h¦¹¤¸¯Àªº¤º®e»P¸Ó¤º®e¼Ò«¬¬Û²Å¡C°w¹ï¬Û®e©Êªº¦Ò¶q¡AY¤å¥óªº¬YÓ¤¸¯À¥i¥H»P¤º®e¼Ò«¬¤¤ªº¤¸¯ÀÃþ«¬¤£¥u¤@¦¸¬Û²Å¡A«h·|µo¥Í¿ù»~¡C§ó¸Ô²Óªº¸ê°T°Ñ¨£"E. ½T©w«¬¤º®e¼Ò«¬"¡C
¥¿½T¦Xªk©Ê¨î: ÄY®æªº¸s²Õ/PE±_ª¬µ²ºc
°Ñ¼Æ¹êÅ骺¸m´«¤å¦rÄY®æ¦a¥H±_ª¬µ²ºc¨Ï¥Î¬A©·¨Ó²Õ¦¨¡C³o´N¬O»¡¡A¦pªGchoice¡Aseq©ÎMixed²Õ¦¨¤å¦rªº¶}©l©Îµ²§ô¬A©·¥X²{¦b¬YӰѼƹêÅ骺¸m´«¤å¦r¤¤¡A«h¨âªÌ¥²¶·¥]§t¦b¦P¤@Ó¸m´«¤å¦r¤¤¡C°ò©ó¤¬³q©Ê¦Ò¶q¡A¦pªG¤@ӰѼƹêÅé°Ñ¤Þ¥X²{¦bchoice¡Aseq©ÎMixed²Õ¦¨¤å¦r¤¤®É¡A¥¦ªº¸m´«¤å¦r¤£À³¸Ó¬°ªÅ¡A¦P®É¨ä¸m´«¤å¦rªº²Ä¤@Ó©M³Ì«á¤@Ó«DªÅ¦r¤¸¤£À³¬°¤@Ó³s±µ²Å¸¹
(|©Î,)¡C
¥H¤U¬O¤¸¯À«¬¤º®e¼Ò«¬ªº¹ê¨Ò¡G
<!ELEMENT spec (front, body, back?)> |
·í¬YÃþ«¬ªº¤¸¯À¥i¥H¥]§t¦r¤¸¸ê®Æ¡A¥B¨ä¶¡¥i¥H¥ô·N´¡¤J¤l¤¸¯À®É¡AºÙ¦¹¤¸¯ÀÃþ«¬¨ã¦³²V¦X«¬¤º®e¡C¦b³oºØ±¡ªp¤U¡A¹ï¤l¤¸¯ÀªºÃþ«¬¥i¯à¦³©Ò¨î¡A¦ý¹ï¶¶§Ç©M¥X²{¦¸¼Æ«h¨ÃµL¨î¡G
| ²V¦X«¬¤º®e«Å§i (Mixed Content) | ||||||||||||||||
|
¨ä¤¤Nameµ¹¤©¤l¤¸¯À¥i¥X²{ªº¤¸¯ÀÃþ«¬¡C
¥¿½T¦Xªk©Ê¨î: µL«ÂÐÃþ«¬
¦P¤@¦WºÙ¦b³æÓ²V¦X«¬¤º®e«Å§i¤¤¥u¯à¥X²{¤@¦¸¡C
²V¦X¤º®e«Å§iªº¨Ò¤l¡G
<!ELEMENT p (#PCDATA|a|ul|b|i|em)*> |
ÄݩʬO¥Î©ó±N¤@¹ï¦WºÙ»PÈ (name-value pair)©M¤¸¯ÀÃöÁp°_¨Ó¡CÄÝ©Êȳ]©w¥u¯à¦b°_©l¼ÐÅÒ©MªÅ¤¸¯À¼ÐÅÒ¤¤¥X²{; ¦]¦¹¡A¥Î©óÃѧO¥¦Ìªº²£¥Í³W«h¦¡·|¦b"3.1 °_©l¼ÐÅÒ¡Bµ²§ô¼ÐÅÒ©MªÅ¤¸¯À¼ÐÅÒ"¤¤¥X²{¡CÄݩʪí«Å§i¥i¥H¥Î©ó¡G
Äݩʪí«Å§i³]©w¤Fµ¹©w¤¸¯ÀÃþ«¬¬ÛÃöÁpªº¨CÓÄݩʤ§ªº¦WºÙ¡A¸ê®ÆÃþ«¬©M¹w³]È (¦pªG¦³ªº¸Ü)¡G
| Äݩʪí«Å§i (Attribute-list Delcaration) | ||||||||
|
AttlistDecl³W«h¤¤Name¬O¤¸¯ÀªºÃþ«¬¡C¥Ñ¨Ï¥ÎªÌ¿ï¾Ü¡A·íÄݩʫŧiªº¬ÛÃö¤¸¯ÀÃþ«¬¨Ã¨S¦³³Q«Å§i®É¡AXML
³B²z¾¹¥i¥Hµo¥Íĵ§i¡A¦ý³o¨Ã«D¬OÓ¿ù»~¡CAttDef³W«h¤¤ªºName¬OÄݩʪº¦WºÙ¡C
·íµ¹©w¤¸¯ÀÃþ«¬ªºAttlistDecl¶W¹L¤@ӮɡA³o¨Ç«Å§iªº¤º®e·|³Q¦X¨Ö°_¨Ó¡C·íµ¹©w¤¸¯ÀÃþ«¬ªº¦P¤@ÓÄݩʪº©w¸q¶W¹L¤@ӮɡA·|³sµ²¨ì²Ä¤@Ó©w¸q¡A©¹«áªº©w¸q·|³Q©¿²¤¡C°ò©ó¤¬°Ê©Êªº¦Ò¶q¡ADTD
ªº¼¶¼gªÌ¥i¯à·|¿ï¾Ü¹ï©óµ¹©wªº¤¸¯ÀÃþ«¬¡A³Ì¦h¦³¤@ÓÄݩʪí«Å§i¡A¤@Óµ¹©wªºÄݩʦWºÙ³Ì¦h¤@ÓÄݩʩw¸q¡A¥H¤Î¨CÓÄݩʪí«Å§i³Ì¤Ö¦³¤@ÓÄݩʩw¸q¡C°ò©ó¤¬°Ê©Êªº¦Ò¶q¡A·íµ¹©w¤¸¯À¦³¶W¹L¤@ÓªºÄݩʪí«Å§i©Îµ¹©wÄݩʦ³¶W¹L¤@ÓªºÄݩʩw¸q®É¡AXML
³B²z¾¹¥i¥H¨Ì·Ó¨Ï¥ÎªÌ¿ï¾Üµ¹¤©Äµ§i¡A¤£¹L³o¨Ã«D¬OÓ¿ù»~¡C
XML Äݩʦ³¤TºØÃþ«¬¡G¦r¦êÃþ«¬¡B¤@²Õ²Å°O¤Æ (tokenized) Ãþ«¬©M¦CÁ| (enumerated) Ãþ«¬¡C¦r¦êÃþ«¬¥i¥H¨Ï¥Î¥ô·N¦r±¸ê®Æ¦r¦ê¬°È;¦UӲŰO¤ÆÃþ«¬¦³¤£¦Pªºµü·Jªk©M»y·N¨î¡A¦p¤U©Ò¥Ü¡G
| ÄÝ©ÊÃþ«¬ (Attribute Types) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
¡@
¥¿½T¦Xªk©Ê¨î: ID
IDÃþ«¬ªºÈ¥²¶·¬Û²Å©óNameªº²£¥Í³W«h¦¡¡C§@¬°
ID Ãþ«¬Èªº¦WºÙ¦b XML ¤å¥ó¤¤¥u¯à¥X²{¤@¦¸;¥ç§Y ID
ªºÈ¥²¶·¬O°ß¤@¯à¼Ð§O¤¸¯ÀªºÈ¡C
¥¿½T¦Xªk©Ê¨î: ¨CºØÄÝ©ÊÃþ«¬¤@Ó ID
¨CºØÄÝ©ÊÃþ«¬¥u¯à¦³¤@Ó ID ÄݩʡC
¥¿½T¦Xªk©Ê¨î: ID Äݩʪº¹w³]È
ID Äݩʥ²¶·¦³¤@ӫŧi¬°#IMPLIED©Î#REQUIREDªº¹w³]È¡C
¥¿½T¦Xªk©Ê¨î: IDREF
IDREFÃþ«¬ªºÈ¥²¶·¬Û²Å©óNameªº²£¥Í³W«h¦¡¡AIDREFSÃþ«¬ªºÈ¥²¶·¬Û²ÅNamesªº²£¥Í³W«h¦¡¡F¨C¤@ÓName¥²¶·¬Û²Å
XML ¤å¥ó¤¤¬Y¨Ç¤¸¯À ID ÄݩʪºÈ¡F¤]´N¬O»¡¡AIDREFÃþ«¬ªºÈ¥²¶·¬Û²Å¬Y¨Ç
ID ÄݩʪºÈ¡C
¥¿½T¦Xªk©Ê¨î: ¹êÅé¦WºÙ
ENTITYÃþ«¬ªºÈ¥²¶·¬Û²Å©óNameªº²£¥Í³W«h¦¡¡AENTITIESÃþ«¬ªºÈ¥²¶·¬Û²Å©óNamesªº²£¥Í³W«h¦¡¡F¨C¤@ÓName¥²¶·¬Û²ÅDTD¤¤«Å§iªº¥¼åªR¹êÅ骺¦WºÙ¡C
¥¿½T¦Xªk©Ê¨î: ¦WºÙ²Å°O
NMTOKENÃþ«¬ªºÈ¥²¶·¬Û²Å©óNmtokenªº²£¥Í³W«h¦¡;NMTOKENSÃþ«¬ªºÈ¥²¶·¬Û²Å©óNmtokensªº²£¥Í³W«h¦¡¡C
¦CÁ|Ãþ«¬ªºÄݩʥi¥H¦b«Å§i´£¨ÑªºÈ¦Cªí¤¤¨ú±o¨ä¤¤ªº³]©wÈ¡C¦³¨âºØ¦CÁ|Ãþ«¬¡G
| ¦CÁ|ÄÝ©ÊÃþ«¬ (Enumerated Attribute Types) | ||||||||||||||||
|
¤@ÓNOTATIONÃþ«¬ªºÄݩʥiÃѧO¤@ºØ°Oªk¡A¦b
DTD ¤¤«Å§i¤¤¡A¦¹°Oªk¨Ï¥Î¬ÛÃöªº¨t²Î (system) ©M/©Î¤½¦@ (public)
ÃѧO¦r¡A¥B¥Î©ó¸Ñͦ¹Äݩʪº¬ÛÃö¤¸¯À¡C
¥¿½T¦Xªk©Ê¨î: °OªkÄÝ©Ê
¦¹Ãþ«¬ªºÈ¥²¶·»P«Å§i¤¤©Ò¥]§tªº°Oªk¦WºÙ¤§¤@¬Û²Å¦X;«Å§i¤¤ªº©Ò¦³°Oªk¦WºÙ³£¥²¶·«Å§i¡C
¥¿½T¦Xªk©Ê¨î: ¦CÁ|
¦¹Ãþ«¬ªºÈ¥²¶·»P«Å§i¤¤¥]§tªºNmtoken°O¸¹¤§¤@¬Û²Å¦X¡C
°ò©ó¤¬³q©Ê¦Ò¶q¡A¦P¤@Nmtoken¥u¯à¦b³æÓ¤¸¯ÀÃþ«¬ªº¦CÁ|ÄÝ©ÊÃþ«¬¤¤¥X²{¤@¦¸¡C
Äݩʫŧi´£¨Ñ¬YÄݩʬO§_¶·n¥X²{ªº¸ê°T¡AY¤£»Ý¥X²{ªº¸Ü¡A¥B¤å¥ó¤¤¨S¦³¥X²{¦¹«Å§iªºÄÝ©Ê®É XML ³B²z¾¹À³¦p¦ó³B²z¡C
| Äݩʹw³]È (Attribute Defaults) | ||||||||||||||||||||||||||||
|
¦b¤@ÓÄݩʫŧi¤¤¡A#REQUIREDªí¥Ü¥²¶·¥Ã»·´£¨ÑÄݩʡA#IMPLIEDªí¥Ü¤£´£¨Ñ¹w³]È¡C¦pªG«Å§i¬J¤£¬O#REQUIRED¡A¤]¤£¬O#IMPLIED¡A«hAttValueÈ¥]§t¤F©Ò«Å§iªº¹w³]È;ÃöÁä¦r#FIXED³W©w¦¹Äݩʥ²¶·¥Ã»·¦³¹w³]È¡C¦pªG«Å§i¤F¤@Ó¹w³]È¡A·í
XML ³B²z¾¹¹J¨ìÄݩʳQ¬Ù²¤®É¡A¦¹Äݩʷ|¥H«Å§i®Éªº¹w³]Ȧs¦b
¥¿½T¦Xªk©Ê¨î: ¥²¶·ªºÄÝ©Ê
¦pªG¹w³]ȫŧi¨Ï¥ÎÃöÁä¦r#REQUIRED¡A«hÄݩʪí«Å§i©Ò«üÃþ«¬ªº¤¸¯À¤¤³£¥²¶·¦³¦¹ÄݩʡC
¥¿½T¦Xªk©Ê¨î: ¦XªkªºÄݩʹw³]È
³Q«Å§iªºÄݩʹw³]È¥²¶·º¡¨¬³Q«Å§iÄÝ©ÊÃþ«¬ªºµüªk¨î¡C
¥¿½T¦Xªk©Ê¨î: ©T©wªºÄݩʹw³]È
¦pªG¬YÄݩʪº¹w³]È¥ÎÃöÁä¦r#FIXED«Å§i¡A¦¹Äݩʪº¹ê¨Ò¥²¶·¬Û²Å©ó¸Ó¹w³]È¡C
Äݩʪí«Å§iªº¨Ò¤l¡G
<!ATTLIST termdef |
¦b±NÄÝ©Êȶǰeµ¹À³¥Îµ{¦¡©ÎÀËÅ祿½T¦Xªk©Ê¤§«e¡AXML ³B²z¾¹¥²¶·¨Ì·Ó¤U¦C±N¨ä³W½d¤Æ¡G
¦pªG³Q«Å§iªºÈ¤£¬O CDATA¡A«h XML ³B²z¾¹¥²¶·¶i¤@¨B³B²z³W½d¤Æ«áÄݩʪºÈ¡A¥h±¼¨ä«e¸m©M§ÀÀHªºªÅ®æ (#x20) ¦r¤¸¡A¨Ã±NªÅ®æ (#x20) ¦r¤¸§Ç¦C´À´«¦¨³æÓªÅ®æ (#x20) ¦r¤¸¡C
©Ò¦³¥¼«Å§iªºÄݩʡAÀ³¸Ó³Q«D¶i¦æÅçÃÒåªR¾¹ (non-validating parser)
·í¦¨«Å§i¬°CDATA¡C
±ø¥ó¬q¬O¤å¥óÃþ«¬«Å§i¥~³¡¤l¶°ªº¤@³¡¤À¡A¥¦Ì³Q¥]§t¦b DTD ÅÞ¿èµ²ºc¤§¤º¡A©Î³Q±Æ°£¦b DTD ÅÞ¿èµ²ºc¤§¥~¡A®Ú¾Ú©ó¤ä°t¥¦ÌªºÃöÁä¦r¡C
| ±ø¥ó¬q (Conditional Section) | ||||||||||||||||||||
|
´N¹³¤º³¡©Î¥~³¡ DTD ¤l¶°¤@¼Ë¡A±ø¥ó¬q¥i¥H¥]§t¤@өΦhÓ§¹¾ãªº«Å§i¡Aµù¸Ñ¡A³B²z«ü¥Ü¡A©Î±_ª¬ªº±ø¥ó¬q¡A¨ä¤¤¥i¥H§¨ÂøªÅ¥Õ¡C
¦pªG±ø¥ó¬qªºÃöÁä¦r¬O INCLUDE ¡A«h±ø¥ó¬qªº¤º®e¬O DTD
ªº¤@³¡¤À¡A¦pªG±ø¥ó¬qªºÃöÁä¦r¬OIGNORE¡A«h±ø¥ó¬qªº¤º®e¤£¬O
DTD
ÅÞ¿è¤Wªº¤@³¡¤À¡C°w¹ï¥i¾aªºåªR¹Lµ{¨Ó»¡¡A³Q©¿²¤ªº±ø¥ó¬q¤º®e¥²¶·³QŪ¨ú¡A¥Øªº¬O¬°¤FÀË´ú±ø¥ó¬qªº±_ª¬µ²ºc¡A¨Ã«OÃÒ¯à¾A·í¦aÀË´ú¨ì³Ì¥~¼hªº
(³Q©¿²¤ªº) ±ø¥ó¬qµ²§À¡C¦pªG¤@ӨϥÎÃöÁä¦rINCLUDEªº±ø¥ó¬q¥X²{¦b¨Ï¥ÎÃöÁä¦rIGNOREªº§ó¤j±ø¥ó¬q¤¤¡A¤º¥~¨âÓ±ø¥ó¬q³£·|³Q©¿²¤¡C
¦pªG±ø¥ó¬qªºÃöÁä¦r¬O¤@ӰѼƹêÅé°Ñ¤Þ¡A³B²z¾¹¦b¨M©w¬O§_¥]§t©Î©¿²¤¦¹±ø¥ó¬q«e¡A¥²¶·¥ý±N¸Ó°Ñ¼Æ¹êÅé¸m´«¦¨¨ä¤º®e¡C
¤@Ó¨Ò¤l¡G
<!ENTITY % draft 'INCLUDE' > |
¤@Ó XML ¤å¥ó¥i¯à¥]§t¤@өΦhÓÀx¦s³æ¤¸¡C¥¦Ì³QºÙ¬°¹êÅé(entity);¥¦Ì³£¨ã¦³¤º®e¨Ã¥B³£¥H¦WºÙ¨Ó°µÃѧO (°£¤F¤å¥ó¹êÅé©M¥~³¡ DTD ¤l¶°¤§¥~¡A¸Ô¨£¤U±»¡©ú)¡C¨C¤@Ó XML ¤å¥ó³£¦³¤@ÓºÙ¬°¤å¥ó¹êÅé (document entity)ªº¹êÅé¡A¥¦§@¬°XML ³B²z¾¹ªº³B²z°_ÂI¡A¨Ã¥i¥H¥]§t¤F¾ãÓ¤å¥ó¡C
¹êÅé¥i¥H¬O¤wåªRªº©Î¥¼åªRªº¡CåªR¹L¹êÅé(parsed entity)ªº¤º®e³QºÙ¬°¥¦ªº¸m´«¤å¥»;¦¹¤å¥»³Q¬Ý¦¨¬O¤å¥ó¾ãÅ骺¤@³¡¤À¡C
¥¼åªR¹êÅé(unparsed entity)¬O¤@ºØ¸ê·½¡A¨ä¤º®e¥i¥H¬O¤]¥i¥H¤£¬O¤å¦r¡A¥BY¬°¤å¦rªº¸Ü¡A¥i¥H¤£¬O XML¡C¨CÓ¥¼åªR¹êÅ馳¤@Ó¬ÛÃöªº°Oªk¡A¦¹°Oªk¨Ï¥Î¦WºÙ¨Ó°µÃѧO¡C°£¤Fn¨D XML ³B²z¾¹¯à¦VÀ³¥Îµ{¦¡´£¨Ñ¹êÅé©M°OªkªºÃѧO¦r¤§¥~¡AXML ¹ï¥¼åªR¹êÅ骺¤º®e¤£§@¥ô¦ó¨î¡C
åªR¹L¹êÅé¥H¹êÅé°Ñ¤Þªº¤è¦¡¨Ï¥Î¦WºÙ¨Ó°µ¤Þ¥Î;¥¼åªR¹êÅé¥ÎENTITY©ÎENTITIESÄݩʤ¤©Ò´£¨Ñªº¦WºÙ¨Ó¤Þ¥Î¡C
³q¥Î¹êÅé (general entity)¬O¨º¨Ç¦b¤å¥ó¤º®e¤¤¨Ï¥Îªº¹êÅé¡C¦b¥»³W®æ®Ñ¤¤¡A³q¥Î¹êÅ馳®É·|¨Ï¥Î¥¼®Ö¥iªº³N»yentity¨Óªí¥Ü¡C°Ñ¼Æ¹êÅé¬O¥Î©óDTD ¤ºªºåªR¹L¹êÅé¡C³o¨âÃþ¹êÅé¥Î¤£¦P§Î¦¡ªº°Ñ¤Þ¤è¦¡¡A¥B¦b¤£¦Pªº¤W¤U¤å¤¤³QÃѧO¡C¦¹¥~¡A¥¦Ì¨Ï¥Î¤£¦Pªº¦WºÙªÅ¶¡;¨ã¦³¬Û¦P¦WºÙªº°Ñ¼Æ¹êÅé©M³q¥Î¹êÅé¬O§¹¥þ¤£¦Pªº¨âÓ¹êÅé¡C
¤@Ó¦r¤¸°Ñ¤Þ·|¤Þ¥Î ISO/IEC 10646 ¦r¤¸¶°¤¤ªº¤@Ó¦r¤¸¡C¨Ò¦p¤£¯à¥Î¿é¤J³]³Æª½±µ¿é¤Jªº¦r¤¸¡C
| ¦r¤¸°Ñ¤Þ (Character and Entity References) | ||||||||||
|
¡@
§Î¦¡¦Xªk©Ê¨î: ¦Xªk¦r¤¸
¥Î¦r¤¸°Ñ¤Þ¤Þ¥Îªº¦r¤¸¥²¶·¬Û²Å©óCharªº²£¥Í³W«h¦¡¡C
¦pªG¦r¤¸°Ñ¤Þ¥H"&#x"¬°¶}ÀY¡A¥B¼Æ¦r©M¦r¥À«á±±µ¤W²×µ²²Å¸¹©Î¤À¸¹
";" ¡A¦p¦¹´£¨Ñ¤F¬Y¦r¤¸¦b ISO/IEC 10646
¤¤¥N½Xªº¤@Ó¤Q¤»¶i¦ìªí¥Ü¡C¦pªG¥¦¶È¥H"&#"¶}ÀY¡A¼Æ¦r«á±±µ¤W²×µ²²Å¸¹©Î¤À¸¹
(";")¡A«h´£¨Ñ¤F¬Y¦r¤¸ªº¥N½Xªº¤Q¶iȪí¥Ü¡C
¹êÅé°Ñ¤Þ(entity reference)¤Þ¥Î¤@Ó¦WºÙ¹êÅ骺¤º®e¡C¹ï¤wåªR³q¥Î¹êÅé¤Þ¥Î¨Ï¥Î "and" ²Å¸¹ (&)
©M¤À¸¹ (;)§@¬°©w¬É²Å¡C°Ñ¼Æ¹êÅé°Ñ¤Þ«h¨Ï¥Î¦Ê¤À¸¹(%)©M¤À¸¹(;)§@¬°©w¬É²Å¡C
| ¹êÅé¤Þ¥Î (Entity Reference) | ||||||||||||||||||||||||||||||||||||||||||||||
|
¡@
§Î¦¡¦Xªk©Ê¨î: «Å§i¹êÅé
¦b¤@¥÷¨S¦³¥ô¦ó DTD ªº¤å¥ó¡A©Î¤@¥÷¤£¥]§t°Ñ¼Æ¹êÅé°Ñ¤Þ¥Îªº¤º³¡ DTD
¤l¶°ªº¤å¥ó¡A©Î¤@¥÷"standalone='yes'"ªº¤å¥ó¤º¡A¦b¹êÅé°Ñ¤Þ¤¤´£¨ÑªºName¥²¶·»P¹êÅé«Å§i¤¤©Ò´£¨Ñªº¬Û²Å¦X¡A°£¤F§Î¦¡¦Xªkªº¤å¥ó¤£»Ýn«Å§i¤U¦Cªº³o¨Ç¹êÅé¡Gamp¡Alt¡Agt¡Aapos©Mquot¡C°Ñ¼Æ¹êÅ饲¶·¦b¥ô¦ó¹ï¥¦ªº¤Þ¥Î¤§«e«Å§i¡C¬Û¦P¦a¡A¥X²{¦bÄݩʪí«Å§i¹w³]Ȥ¤ªº³q¥Î¹êÅ饲¶·¦b¥ô¦ó¹ï¥¦ªº¤Þ¥Î¤§«e«Å§i¡Cnª`·NY¦b¥~³¡¤l¶°©Î¥~³¡°Ñ¼Æ¹êÅ餤«Å§iªº¹êÅé¡A¤£¶i¦æÅçÃÒªº³B²z¾¹¤£¥²nŪ¨ú©M³B²z¥¦Ìªº«Å§i;¹ï©ó¦p¦¹ªº¤å¥ó¡A¥u·í³]©w¬°standalone='yes'®É¡A¹êÅ饲¶·³Q«Å§iªº³W«h¤~¬O¤@ӧΦ¡¦Xªk©Êªº¨î¡C
¥¿½T¦Xªk©Ê¨î: «Å§i¹êÅé
¦b¤@Ó¦³¥~³¡¤l¶°©Î¥~³¡°Ñ¼Æ¹êÅé¥B³]©w¬°"standalone='no'"ªº¹êÅ餤¡A¹êÅé°Ñ¤Þ¤¤´£¨ÑªºName¥²¶·»P¹êÅé«Å§i¤¤©Ò´£¨Ñªº¬Û²Å¦X¡C°ò©ó¤¬³q©Ê¦Ò¶q¡A¥¿½T¦Xªkªº¤å¥óÀ³¸Ó¨Ï¥Î"4.6 ¹w©w¸q¹êÅé"¤¤©Òzªº§Î¦¡¨Ó«Å§i¹êÅéamp¡Alt¡Agt¡Aapos©Mquot¡C°Ñ¼Æ¹êÅ饲¶·¦b¥ô¦ó¹ï¥¦ªº¤Þ¥Î¤§«e«Å§i¡C¬Û¦P¦a¡A¥X²{¦bÄݩʪí«Å§i¹w³]Ȥ¤ªº³q¥Î¹êÅ饲¶·¦b¥ô¦ó¹ï¥¦ªº¤Þ¥Î¤§«e«Å§i¡C
§Î¦¡¦Xªk©Ê¨î: åªR¹L¹êÅé
¹êÅé°Ñ¤Þ¤£¯à¥]§t¤@Ó¥¼åªR¹êÅ骺¦WºÙ¡C¥¼åªR¹êÅé¥u¯à¦b«Å§i¬°ENTITY©ÎENTITIESªºÄÝ©ÊȤ¤¤Þ¥Î¡C
§Î¦¡¦Xªk©Ê¨î: µL»¼°j
åªR¹L¹êÅ餣¯àª½±µ©Î¶¡±µ¦a¥]§t¹ï¥»¨ªº»¼°j¤Þ¥Î¡C
§Î¦¡¦Xªk©Ê¨î: ¦bDTD¤º
°Ñ¼Æ¹êÅé°Ñ¤Þ¥u¯à¦bDTD¤¤¥X²{¡C
¦r¤¸©M¹êÅé¤Þ¥Îªº¨Ò¤l¡G
Type <key>less-than</key> (<) to save options. |
°Ñ¼Æ¹êÅé¤Þ¥Îªº¨Ò¤l¡G
<!-- declare the parameter entity "ISOLat2"... --> |
¹êÅé¨Ï¥Î¤U¦C¤è¦¡«Å§i¡G
| ¹êÅé«Å§i (Entity Declaration) | ||||||||||||||||||||
|
Name¿ëÃѤF¦b¹êÅé°Ñ¤Þ¤¤ªº¹êÅé;©Î°w¹ï¥¼åªR¹êÅ骺±¡ªp¡A¿ëÃѤFENTITY©ÎENTITIESÄÝ©ÊȤ¤ªº¹êÅé¡C¦pªG¦P¼Ëªº¹êÅé³Q«Å§i¤F¤£¤î¤@¦¸¡A«h·|³sµ²¨ì²Ä¤@Ó¹J¨ìªº«Å§i¡C¥Ñ¨Ï¥ÎªÌ¿ï¾Ü¡A¦pªG¹êÅé³Q¦h¦¸«Å§i¡AXML³B²z¾¹¥i¥H´£¥Xĵ§i¡C
¦pªG¹êÅé©w¸q¬O¤@ÓEntityValue¡A³Q©w¸qªº¹êÅé³QºÙ¬°¤º³¡¹êÅé¡C¤º³¡¹êÅé¨S¦³³æ¿Wªºª«²z
(Physical) Àx¦sª«¥ó¡A¹êÅ骺¤º®e¦b«Å§i¤¤´£¨Ñ¡Cª`·N¦r±¹êÅéȤ¤¤@¨Ç¹êÅé©M¦r¤¸°Ñ¤Þªº³B²z¥i¯àn¨D²£¥Í¥¿½Tªº¸m´«¤å¦r¡G°Ñ¨£"4.5 ¤º³¡¸m´«¤å¦rªººc³y"¡C
¤º³¡¹êÅé¬OåªR¹L¹êÅé¡C
¤º³¡¹êÅé«Å§iªº¨Ò¤l¡G
<!ENTITY Pub-Status "This is a pre-release of the |
¦pªG¹êÅ餣¬O¤º³¡ªº¡A«h¥¦¬O¤@Ó¥~³¡¹êÅé¡A«Å§i¦p¤U¡G
| ¥~³¡¹êÅé«Å§i (external entity) | ||||||||||||||
|
¦pªG¦³NDataDecl¡A«h¦¹¬°¤@¯ëªº¥¼åªR¹êÅé;§_«h¥¦¬O¤@ÓåªR¹L¹êÅé¡C
¥¿½T¦Xªk©Ê¨î: «Å§i°Oªk
Name¥²¶·»P°Oªkªº¦WºÙ¬Û²Å¡C
SystemLiteral³QºÙ¬°¸Ó¹êÅ骺¨t²ÎÃѧO¦r¡C¦¹¬°¤@Ó
URI¡A¥i¥H¥Î¨Ó¦s¨ú¦¹¹êÅé¡Cª`·N¤«¸¹ (#) ©M URI
¤¤±`¨Ï¥ÎªºÃѧO¦r¤ù¬q¦b§Î¦¡¤W¨Ã«D URI
ªº¤@³¡¤À¡F¦pªG©Ò´£¨ÑªºÃѧO¦r¤ù¬q¬°¨t²ÎÃѧO¦rªº¤@³¡¤À¡A«h XML
³B²z¾¹¥i¥H°e¥X¤@Ó¿ù»~°T®§¡C°£«D¦b¥»³W½d®Ñ½d³ò¤§¥~ªº¸ê°T¡A©Ò´£¨Ñªº¨Ò¥~±¡ªp
(¨Ò¦p¤@Ó¯S®í DTD ¤¤©w¸qªº¯S©w¨Ï¥Îªº XML
¤¸¯ÀÃþ«¬¡A©Î¤@Ó¯S®íÀ³¥Îµ{¦¡³W½d¤¤©w¸qªº³B²z«ü¥Ü)¡A¬Û¹ï URI
¬O«ü¬Û¹ï©ó¹êÅé«Å§iµo¥Íªº¸ê·½¦ì¸m¡C¦]¦¹¡A¤@Ó URI ¥i¯à¬Û¹ï©ó¤å¥ó¹êÅé¡A©Î¬Û¹ï©ó¥]§t¥~³¡ DTD
¤l¶°ªº¹êÅé¡A©Î¬Û¹ï©ó¤@¨Ç¨ä¥Lªº¥~³¡°Ñ¼Æ¹êÅé¡C
XML ³B²z¾¹³B²z URI ¤¤ªº«D ASCII ¦r¤¸®É¡AÀ³¸Ó±N UTF-8 ¤¤ªº¦r¤¸¥Î¤@өΦhӦ줸²Õªí¥Ü¡AµM«á±N³o¨Ç¦r¤¸¨Ï¥Î URI ¸õ²æ¾÷¨î¨Ó¸õ²æ¥»·N (§Y¬°±N¨CӦ줸²ÕÂà´«¦¨ %HH¡A¨ä¤¤ HH ¬O¦ì¤¸²ÕȪº¤Q¤»¶i¦ì°Oªk)¡C
°£¤F¨t²ÎÃѧO¦r¤§¥~¡A¥~³¡ÃѧO¦rÁÙ¥i¥H¥]§t¤½¦@ÃѧO¦r¡C¸Õ¹Ï¦s¨ú¹êÅ餺®eªº XML ³B²z¾¹¡A¥i¥H¨Ï¥Î¤½¦@ÃѧO¦r¸ÕµÛ²£¥Í¥t¤@Ó¤£¦Pªº URI¡C¦pªG³B²z¾¹µLªk°µ¨ì¦¹ÂI¡A«h¥¦¥²¶·¨Ï¥Î¨t²ÎÃѧO¦r (systemLiteral) ©Ò«ü©wªº URI¡C¦b¸Õ¹Ï¬Û²Å¤§«e¡A¤½¦@ÃѧO¦r¤¤©Ò¦³ªÅ¥Õ¦r¦ê¥²¶·³Q³W½d¦¨¬°³æ¿WªºªÅ®æ¦r¤¸(#x20)¡A¦P®É¥²¶·±N«e¸m¤Î§ÀÀHªÅ¥Õ²¾°£¡C
¥~³¡¹êÅé«Å§iªº¨Ò¤l¡G
<!ENTITY open-hatch |
¨CÓ¥~³¡åªR¹L¹êÅé¥i¨Ï¥Î¤å¥»«Å§i§@¬°¶}©l¡C
| ¤å¥»«Å§i (Text Declaration) | ||||
|
¤å¥»«Å§i¥²¶·¥H¦r±¤Wªº§Î¦¡¨Ó´£¨Ñ¡A¦Ó¤£¯à³z¹LåªR¹L¹êÅ骺¤Þ¥Î¡C¤å¥»«Å§i°£¤F¯à¥X²{¦b¥~³¡åªR¹L¹êÅ骺¶}ÀY¤§¥~¡A¨Ã¤£¤¹³\¦b¨ä¥L¥ô¦ó¦ì¸m¥X²{¡C
¦pªG¤å¥ó¹êÅé¬Û²Ådocument²£¥Í³W«h¦¡¡A«h¥¦¬O§Î¦¡¦Xªkªº¡C¦pªG¥~³¡´¶³qåªR¹L¹êÅé¬Û²ÅextParsedEnt²£¥Í³W«h¦¡¡A«h¥¦¬O§Î¦¡¦Xªkªº¡C¦pªG¥~³¡°Ñ¼Æ¹êÅé¬Û²ÅextPE²£¥Í³W«h¦¡¡A«h¥¦¬O§Î¦¡¦Xªkªº¡C
| ³W½dªº¥~³¡åªR¹L¹êÅé (Well-Formed Parsed Entity) | ||||||||
|
¦pªG¤º³¡´¶³qåªR¹L¹êÅ骺¸m´«¤å¦r¬Û²Åcontent²£¥Í³W«h¦¡¡A«h¥¦¬O§Î¦¡¦Xªkªº¡C®Ú¾Ú©w¸q¡A©Ò¦³¤º³¡ªº°Ñ¼Æ¹êÅé³£¬O§Î¦¡¦Xªkªº¡C
¦b¹êÅ餤²Å¦X§Î¦¡¦Xªk©Êªºµ²ªG¬O¡AXML ¤å¥ó¤¤ªºÅÞ¿è©Mª«²zµ²ºc¬OÄY®æ²Å¦X±_ª¬µ²ºcªº;°_©l¼ÐÅ