Los Angeles Chinese Learning Center, providing private Chinese Mandarin classes, Chinese tutors, Mandarin interpreter and translators, China investment report, investment opportunity report, China intelligence report, information on Chinese herbal medicines in Los Angeles
Corporate Services Other Services
Private Instruction Invest in China
Curriculum FAQ
Business Culture Health Education
Textbooks Our Staff
Hours and Location Contact Us
¡@

W3C ¥iÂX®i¼Ð°O»y¨¥¡]XML¡^1.0¡]²Ä¤Gª©¡^

W3C «ØÄ³ 2000¦~10¤ë6¤é

Extensible Markup Language (XML) 1.0 (Second Edition)

¥»¤åÀɬO W3C «ØÄ³ XML 1.0 ²Ä¤Gª©¡]2000 ¦~ 10 ¤ë 6 ¤é¡^ªºÂ²Ê^¤¤¤å½Ķª©¡A¨ä¤¤¥i¯à¦³¿ù»~©M¤£§´¤§³B¡C

­^¤åª©¬O°ß¤@ªº¥¿¦¡ª©¡A¦ì¤_¡G

http://www.w3.org/TR/2000/REC-xml-20001006

¥»¤åÀɸgĶªÌ¦P·N©ñ¤_¦¹³B¡A²`ªíÁ·N¡C¥»¤åÀÉÁÙ¥i¨£¤_ĶªÌÊI¯¸¡G

http://chinese-school.netfirms.com/XML10-TC.html

ĶªÌ¡G
  • ¸Ê±j¡]qqiu@yeah.net¡^
  • Traditional Chinese Code Conversion: Samuel Chong

µÛ§@ÅvÁn©ú¦ì¤_¡Ghttp://www.w3.org/Consortium/Legal/copyright-documents.html

Copyright  © 1998 W3C® (MIT, INRIA, Keio ), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.

¡@

¥»ª©¥»:
http://www.w3.org/TR/2000/REC-xml-20001006 ¡]XHTML ®æ¦¡¡AXML ®æ¦¡¡APDF ®æ¦¡¡A¥Î¤£¦PÃC¦â¼Ð¥Ü¼W§R§ïªº XHTML ¼f¾\ª©¡^
³Ì·sª©¥»:
http://www.w3.org/TR/REC-xml
¥H«eª©¥»:
http://www.w3.org/TR/2000/WD-xml-2e-20000814
http://www.w3.org/TR/PR-xml-971208
½sªÌ:
Tim Bray¡ATextuality and Netscape mailto:tbray@textuality.com
Jean Paoli¡AMicrosoft mailto:jeanpa@microsoft.com
C. M. Sperberg-McQueen¡AUniversity of Illinois at Chicago and Text Encoding Initiative mailto:cmsmcq@uic.edu
Eve Maler, Sun Microsystems, Inc. mailto:elm@east.sun.com - ²Ä¤Gª©

ºK­n

¥»¤åÀɧ¹¾ã¦a´y­z¤F¥iÂX®i¼Ð°O»y¨¥¡]Extensible Markup Language¡AXML¡^¡A¥¦¬O¼Ð­ã³q¥Î¼Ð°O»y¨¥¡]Standard Generic Markup Language¡ASGML¡^ªº¤@­Ó¤l¶°¡C¨ä¥Øªº¦b¤_¨Ï±o¦b Web ¤W¯à¥H²{¦³¶W¤å¥»¼Ð°O»y¨¥¡]Hypertext Markup Language¡AHTML¡^ªº¨Ï¥Î¤è¦¡´£¨Ñ¡A±µ¦¬©M³B²z³q¥Îªº SGML ¦¨¬°¥i¯à¡CXML ªº³]­p¬J¦Ò¼{¤F¹ê²{ªº¤è«K©Ê¡A¦P®É¤]ÅU¤Î¤FÉO SGML ©M HTML ªº¤¬¾Þ§@©Ê¡C

¥»¤åÀɪºª¬ºA

¥»¤åÀɤw¥Ñ W3C ²Õ´¦¨­û©M¨ä¥L¬ÛÃö¦U¤è¼f¾\¡A¦}¤w³Q²Õ´²z¨Æ§å­ã¬° W3C «ØÄ³¡C³o¬O¤@¥÷í©wªº¤åÀÉ¡A¥i¥H¥Î§@°Ñ¦Ò§÷®Æ¡A¤]¥i¥H§@¬°¨ä¥L¤åÀɪº¥¿¦¡°Ñ¦Ò¤åÄm¡CW3C ¦b«ØÄ³¨î©w¹Lµ{¤¤ªº§@¥Î¬O§l¤Þ¹ï¥»«ØÄ³ªºª`·N¦}«P¶i¥¦ªº¼sªx¨Ï¥Î¡C³o¯à¼W±jWebªº¥\¯à©M¤¬¾Þ§@©Ê¡C

¥»¤åÀɳW©w¤F¤@Ïú¥Î¤_ World Wide Web ªº»yªk¡A¦¹»yªk¬O³q¹L¨ú¤@­Ó·~¤w¦s¦b¦}¤w¼sªx¨Ï¥Îªº¤å¥»³B²z°ê»Ú¼Ð­ã¡]¼Ð­ã³q¥Î¼Ð°O»y¨¥¡A¸g¼W¸É©M§ó¥¿ªº ISO 8879:1986(E)¡^ªº¤l¶°¦Ó³Ð«Øªº¡C¥¦¬O W3C XML ¦æ°Ê²Õ¡]XML Activity¡^ªº¤u§@¦¨ªG¡AÃö¤_ XML ¦æ°Ê²Õªº¸Ô²Ó«H®§¥i¥H¦b http://www.w3.org/XML §ä¨ì¡C­^¤åª©¬O°ß¤@ªº¥¿¦¡ª©¡C¥»¤åÀɪºÂ½Ä¶¨£ http://www.w3.org/XML/#trans¡C¦b http://www.w3.org/TR ¥i¥H§ä¨ì²{¦³ W3C «ØÄ³©M¨ä¥L§Þ³N¤åÀɪº¤@­Ó¦Cªí¡C

XML 1.0 ²Ä¤Gª©¤£¬O XML ªº¤@­Ó·sª©¥»¡]1998 ¦~ 2 ¤ë 10 ¤é­º¦¸µoªí¡^¡F¥¦¥u¬O¬°¤F¤è«KŪªÌ¡A¦}¤J¤F²Ä¤@ª©°É»~ªí¤¤«ü¥Xªº¿ù»~©M­×§ï¡]¦b http://www.w3.org/XML/xml-19980210-errata¡^¡C ¥»²Ä¤Gª©ªº°É»~ªí¦b http://www.w3.org/XML/xml-V10-2e-errata¡C

½Ð±N¥»¤åÀɤ¤ªº¿ù»~³ø§iµ¹ xml-editor@w3.org¡C¥i¥H¦b¦¹§ä¨ì¬ÛÃöªº¦sÀÉ¡C

ª`¡G

C. M. Sperberg-McQueen ¦b²Ä¤@ª©µoªí¤§¦Z¨Ñ¾¤§³B¤w¦³ÅܤơC¥L²{¦b¨Ñ¾¤_ W3C¡A¥i¥H³q¹L cmsmcq@w3.org ©M¥LÁp¨t¡C

¥Ø¿ý

1. ºü½×
    1.1 ¶}µoªÌ©M¶}µo¥Ø¼Ð
    1.2 ³N»y
2. ¤å¥ó
    2.1 ®æ¦¡¥¿Ú̪º XML ¤å¥ó
    2.2 ¦r²Å
    2.3 ³q¥Î»yªk¦¨¤À
    2.4 ¦r²Å¼ÆÕu©M¼Ð°O
    2.5 ª`ÄÀ
    2.6 ³B²z«ü¥O
    2.7 CDATA ¬q
    2.8 §Ç¨¥©M¤å¥óÃþ«¬Án©ú
    2.9 ¿W¥ß¤å¥óÁn©ú
    2.10 ªÅ¥Õ³B²z
    2.11 ¦æ§À³B²z
    2.12 »y¨¥¼ÐÃÑ
3. ÅÞ¿èµ²ÌÛ
    3.1 °_©l¼Ðñ¡Aµ²§ô¼Ðñ©MªÅ¤¸¯À¼Ðñ
    3.2 ¤¸¯ÀÃþ«¬Án©ú
        3.2.1 ¤¸¯À«¬¤º®e
        3.2.2 ²V¦X«¬¤º®e
    3.3 ÄݩʪíÁn©ú
        3.3.1 ÄÝ©ÊÃþ«¬
        3.3.2 Äݩʪº¯Ê¬Ù­È
        3.3.3 ÄÝ©Ê-­È¹ïªº³W­S¤Æ
    3.4 ±ø¥ó¬q
4. ª«²zµ²ÌÛ
    4.1 ¦r²Å©M¹êÊ^¤Þ¥Î
    4.2 ¹êÊ^Án©ú
        4.2.1 ¤º³¡¹êÊ^
        4.2.2 ¥~³¡¹êÊ^
    4.3 ¤wªR¹êÊ^
        4.3.1 ¤å¥»Án©ú
        4.3.2 ®æ¦¡¥¿Ú̪º¤wªR¹êÊ^
        4.3.3 ¹êÊ^¤¤ªº¦r²Å½s½X
    4.4 ¤£³QÃѧO
        4.4.2 ³Q¥]§t
        4.4.3 ¶i¦æÅçµý®É³Q¥]§t
        4.4.4 ³Q¸T¤î
        4.4.5 §@¬°±`¶q³Q¥]§t
        4.4.6 ³qª¾
        4.4.7 ¤£³B²z
        4.4.8 §@¬°°Ñ¼Æ¹êÊ^³Q¥]§t
    4.5 ¤º³¡¹êÊ^¸m´«¤å¥»ªºÌÛ«Ø
    4.6 ¹w©w¸q¹êÊ^
    4.7 °OªkÁn©ú
    4.8 ¤å¥ó¹êÊ^
5. ¤@­P©Ê
    5.1 ¶i¦æÅçµý©M¤£¶i¦æÅçµýªº³B²z¾¹
    5.2 ¨Ï¥Î XML ³B²z¾¹
6. °Oªk

ªþ¿ý

A. °Ñ¦Ò¤åÄm
    A.1 ¥¿¦¡°Ñ¦Ò¤åÄm
    A.2 ¨ä¥L°Ñ¦Ò¤åÄm
B. ¦r²Åªº¤ÀÃþ
C. XML ©M SGML¡]«D¥¿¦¡¡^
D. ¹êÊ^©M¦r²Å¤Þ¥Îªº®i¶}¡]«D¥¿¦¡¡^
E. ÚÌ©w«¬¤º®e¼Ò«¬¡]«D¥¿¦¡¡^
F. ¦r²Å½s½Xªº¦Û°ÊÀË´ú¡]«D¥¿¦¡¡^
    F.1 µL¥~³¡½s½X«H®§®ÉªºÀË´ú
    F.2 ¦³¥~³¡½s½X«H®§®ÉªºÉ¬¥ý¯Å
G. W3C XML ¤u§@²Õ¡]«D¥¿¦¡¡^
H. W3C XML ®Ö¤ß¤u§@²Õ¡]«D¥¿¦¡¡^
I. ¤åÀɨî§@»¡©ú¡]«D¥¿¦¡¡^


1. ºü½×

¥iÂX®i¼Ð°O»y¨¥¡AÁY¼g¬° XML¡A´y­z¤F¤@ÃþºÙ¬° XML ¤å¥óªº¼ÆÕu¹ï¶H¡A¦P®É¤]³¡¤À¦a´y­z¤F³B²z³o¨Ç¼ÆÕu¹ï¶Hªº­pºâÉóµ{§Çªº°Ê§@¡CXML ¬O SGML¡]¼Ð­ã³q¥Î¼Ð°O»y¨¥ [ISO 8879]¡^°w¹ï¯S©wÀ³¥Î»â°ìªº¤@­Ó¤l¶°¡A©ÎªÌ»¡¬O SGML ªº¤@Ïú¨ü­­§Î¦¡¡C®ÚÕu©w¸q¡AXML ¤å¥ó¬O¦X¥G³W­Sªº SGML ¤å¥ó¡C

XML ¤å¥ó¥ÑºÙ¬°¹êÊ^ªº¦sÀx³æ¤¸²Õ¦¨¡A¹êÊ^¥i¥H¥]§t¤wªR¡]parsed¡^¼ÆÕu©Î¥¼ªR¡]unparsed¡^¼ÆÕu¡C¤wªR¼ÆÕu¥Ñ¦r²Å²Õ¦¨¡A¨ä¤¤¤@¨Ç¦r²Å²Õ¦¨¦r²Å¼ÆÕu¡A¥t¤@¨Ç¦r²Å²Õ¦¨¼Ð°O¡C¼Ð°O¤¤¥]§t¤F¹ï¤å¥ó¦sÀx®æ¦¡¡]storage layout¡^©MÅÞ¿èµ²ÌÛªº´y­z¡CXML ´£¨Ñ¤F¤@ÏúÉó¨î¥Î¤_¬ù§ô¦sÀx®æ¦¡©MÅÞ¿èµ²ÌÛ¡C

[©w¸q¡GºÙ¬° XML ³B²z¾¹ªº³n¥ó¼Ò¶ô¥Î¤_Ū¨ú XML ¤å¥ó¡A¦s¨ú¨ä¤¤ªº¤º®e©Mµ²ÌÛ¡C] [©w¸q¡GXML ³B²z¾¹³Q³]·Q¬°¬O¬°¥t¤@­ÓºÙ¬°À³¥Îªº¼Ò¶ô§@³B²z¡C] ¥»³W­S±q XML ³B²z¾¹À³¦p¦óŪ¨ú XML ¼ÆÕu¥H¤ÎÀ³¦VÀ³¥Î´£¨Ñ­þ¨Ç«H®§ªº³o¨â­Ó¤è­±¡A´y­z¤F­n¨D XML ³B²z¾¹§@¥Xªº°Ê§@¡C

1.1 ¶}µoªÌ©M¶}µo¥Ø¼Ð

XML ¥Ñ XML ¤u§@²Õ¡]­ì¥ýªº SGML ½s¿è¼f¬d©e­û·|¡^¶}µo¡A¦¹¤u§@²Õ¥Ñ World Wide Web Consortium (W3C) ¦b 1996 ¦~¥D«ù¦¨¥ß¡C¤u§@²Õ¥Ñ Sun Microsystems ªº Jon Bosak ­t³d¡A¦P¼Ë¥Ñ W3C ²Õ´ªº XML SIG (Special Interest Group)¡]­ì¥ýªº SGML ¤u§@²Õ¡^¿nÌå°ÑÉO¤F XML ¤u§@²Õªº¤u§@¡CXML ¤u§@²Õªº¦¨­û¦bªþ¿ý¤¤µ¹¥X¡C¤u§@²ÕÉO W3C ªºÁp¨t¤H¬O Dan Connolly¡C

XML ªº³]­p¥Ø¼Ð¦p¤U¡G

  1. XML À³¸Ó¥i¥Hª½±µ¦b¦]¯SÊI¡]Internet¡^¤W¨Ï¥Î¡C
  2. XML À³¸Ó¤ä«ù¤j¶q¤£¦PªºÀ³¥Î¡C
  3. XML À³¸ÓÉO SGML ­Ý®e¡C
  4. ³B²z XML ¤å¥óªºµ{§ÇÀ³¸Ó®e©ö½s¼g¡C
  5. XML ¤¤ªº¥i¿ï¶µÀ³µL±ø¥ó¦a«O«ù³Ì¤Ö¡A²z·Qª¬ªp¤UÀ³¸Ó¬° 0 ­Ó¡C
  6. XML ¤å¥óÀ³¸Ó¯à°÷Åý¤Hª½±µ¾\Ū¡A¦Ó¥BÀ³¸Ó¦³¨¬°÷ªº¥iŪ©Ê¡C
  7. XML ªº³]­pÀ³§Ö³t§¹¦¨¡C
  8. XML ªº³]­pÀ³¸Ó¬O§Î¦¡¤Æªº¡A²ϡªº¡C
  9. XML ¤å¥óÀ³©ö¤_³Ð«Ø¡C
  10. XML ¼Ð°OªºÂ²Ï¡©Ê¬O³Ì¤£­«­nªº³]­p¥Ø¼Ð¡C

¥»³W­SÉO¨ä¥L¬ÛÃöªº¼Ð­ã¤@°_¡]Unicode ©M ISO/IEC 10646 ©w¸q¤F¦r²Å¶°¡AInternet RFC1766 ©w¸q¤F»y¨¥ÃѧO½X¡AISO 639 ©w¸q¤F»y¨¥¦WºÙ¥N½X¡AISO 3166 ©w¸q¤F°ê®a¦WºÙ¥N½X¡^¡A´£¨Ñ¤F²z¸Ñ XML ª©¥» 1.0 ©MÌ۫جÛÀ³­pºâÉó³B²zµ{§Ç©Ò»Ýªº©Ò¦³«H®§¡C

¦b§¹¾ã«O¯d©Ò¦³¤å¥»©Mªk«ßª`·N¨Æ¶µªº«e´£¤U¡A¥»ª©¥»ªº XML ³W­S¥i¥H¦Û¥Ñ¤Àµo¡C

1.2 ³N»y

¥Î¤_´y­z XML ¤å¥óªº³N»y¦b¦¹³W­Sªº¥¿¤å¤¤©w¸q¡C¦b³o¨Ç©w¸q¤¤¥H¤Î´y­z¤@­Ó XML ³B²z¾¹ªº°Ê§@®É¡A¨Ï¥Î¤F¤Uªí¤¤ªº³N»y¡G

¥i¥H¡]may¡^
[©w¸q¡G¤¹³\¦X¥G³W­Sªº¤å¥ó©M XML ³B²z¾¹«ö©Ò´y­zªº¤è¦¡¤u§@¡A¦ý¤£­n¨D¥²¶·¦p¦¹¡C]
¥²¶·¡]must¡^
[©w¸q¡G­n¨D¦X¥G³W­Sªº¤å¥ó©M XML ³B²z¾¹«ö©Ò´y­zªº¤è¦¡¤u§@; §_«h¥¦­Ì¥X²{¿ù»~¡C]
¿ù»~¡]error¡^
[©w¸q¡G¹ï¥»³W­S¤¤ªº³W«hªº¹H¤Ï¡F¨äµ²ªG¤£ÚÌ©w¡C¦X¥G³W­Sªº³n¥ó¥i¥HÀË´ú©M³ø§i¿ù»~¡A¦}¥i¥H±q¤¤«ìÎ`¡C]
ÄY­«¿ù»~¡]fatal error¡^
[©w¸q¡G¦X¥G³W­Sªº XML ³B²z¾¹¥²¶·ÀË´ú¨ì¡A¦}¦VÀ³¥Î³ø§iªº¤@Ãþ¿ù»~¡C¦b¹J¨ìÄY­«¿ù»~¤§¦Z¡A³B²z¾¹¥i¥HÄ~Äò³B²z¼ÆÕu¥Hµo²{§ó¦hªº¿ù»~¦}¥i¥H¦VÀ³¥Î³ø§i³o¨Ç¿ù»~¡C¬°¤F¤ä«ù¿ù»~ªº§ó¥¿¡A³B²z¾¹¥i¥H¦VÀ³¥Î´£¨Ñ¤å¥ó¤¤¥¼¸g³B²zªº¼ÆÕu¡]¦r²Å¼ÆÕu©M¼Ð°Oªº²V¦XÊ^¡^¡C¦ý¬O¡A¤@¥¹ÀË´ú¨ì¤@­ÓÄY­«¿ù»~¡A³B²z¾¹¥²¶·°±¤î¥¿±`ªº³B²z¡]¤]´N¬O»¡¡A¥¦¥²¶·°±¤î¥H¥¿±`ªº¤è¦¡¦VÀ³¥Î´£¨ÑÉO¤å¥óÅÞ¿èµ²ÌÛ¦³Ãöªº¼ÆÕu©M«H®§¡^¡C]
¥Ñ¨Ï¥ÎªÌ¿ï¾Ü¡]at user option¡^
[©w¸q¡G¦X¥G³W­Sªº³n¥ó¥i¥H©ÎªÌ¥²¶·¡]¨ú¨M¤_¥y¤l¤¤ªº±¡ºA°Êµü¡^«ö©Ò´y­zªº¤è¦¡¤u§@; ¦pªG¥¦º¡¨¬³o­Ó±ø¥ó¡A¥¦¥²¶·¦P®É´£¨Ñ¨Ï¥ÎªÌ¤@Ïú¤â¬q¡A¨Ï±o¨Ï¥ÎªÌ¯à°÷±Ò¥Î©M¸T¥Î©Ò´y­zªº¤u§@¤è¦¡¡C]
¦³®Ä©Ê¬ù§ô¡]validity constraint¡^
[©w¸q¡GÓì¥Î¤_©Ò¦³¦³®Äªº XML ¤å¥óªº¤@Ïú³W«h¡C¹H¤Ï¦³®Ä©Ê¬ù§ôÄݤ_¿ù»~¡F¶i¦æÅçµýªº XML ³B²z¾¹¥²¶·¡A¥Ñ¨Ï¥ÎªÌ¿ï¾Ü¡A³ø§i³o¨Ç¿ù»~¡C]
®æ¦¡¥¿Ú̩ʬù§ô¡]well-formedness constraint¡^
[©w¸q¡GÓì¥Î¤_©Ò¦³®æ¦¡¥¿Ú̪º XML ¤å¥óªº¤@Ïú³W«h¡C¹H¤Ï®æ¦¡¥¿Ú̩ʬù§ôÄݤ_ÄY­«¿ù»~¡C]
¤Ç°t¡]match¡^
[©w¸q¡G¡]¹ï¤_¦r²Å¦ê©M¦W¦r¡G¡^³Q¤ñ¸ûªº¨â­Ó¦r²Å¦ê©Î¦W¦r¥²¶·§¹¥þ¬Û¦P¡C¦b ISO/IEC 10646 ¤¤¦³¦hÏú¥i¯àªí¥Ü¤è¦¡ªº¦r²Å¡]¨Ò¦p¡A¬J¦³¹w©w¸q (precomposed¡^ §Î¦¡©M°ò¦r²Å (base¡^ + ÅÜ­µ²Å§Î¦¡ªº¦r²Å¡^¥u¦b¨â­Ó¦r²Å¦ê¤¤ªºªí¥Ü¤è¦¡¬Û¦P®É¤~¤Ç°t¡C¤£¶i¦æ¦r²Åªº¤j¤p¼gÂà´«¡C¡]¹ï¤_¤åªk¤¤ªº¦r²Å¦ê©M³W«h¡G¡^¦pªG¤@­Ó¦r²Å¦êÄݤ_¤@­Ó¤åªk²£¥Í¦¡²£¥Íªº»y¨¥¡A«h¥¦¤Ç°t³o­Ó²£¥Í¦¡¡C¡]¹ï¤_¤º®e©M¤º®e¼Ò«¬¡G¡^·í¤@­Ó¤¸¯À²Å¦X "¤¸¯À¦³®Ä©Ê"¬ù§ô¤¤ªº´y­z®É¡A¥¦¤Ç°t¨äÁn©ú¡C]
¥X¤_­Ý®e©Ê¦Ò¼{¡]for compatibility¡^
[©w¸q¡G«ü¥X¦¹¥y´y­zªº XML ¯S©Ê§¹¥þ¥u¬O¬°¤F©M SGML «O«ù­Ý®e ¡C]
¥X¤_¤¬¾Þ§@©Ê¦Ò¼{¡]for interoperability¡^
[©w¸q¡G«ü¥X¦¹¥y¬O¤@­Ó¤£¨ã¬ù§ô©Êªº«ØÄ³¡A¥Øªº¬O¼W¥[ XML ¤å¥ó¯à³Q¦b ISO 8879 ªº WebSGML §ï½sªþ¥ó¤§«e¤w¦³ªº SGML ³B²z¾¹³B²zªº¥i¯à©Ê¡C]

2. ¤å¥ó

[©w¸q¡G¦pªG¤@­Ó¼ÆÕu¹ï¶Hº¡¨¬¥»³W­S¤¤®æ¦¡¥¿Ú̪º¤§©w¸q®É¡A¥¦¬O¤@­Ó XML ¤å¥ó¡C¤@­Ó®æ¦¡¥¿Ú̪º XML ¤å¥ó¥i¥H§ó¶i¤@¨B¬O¦³®Äªº¡A¦pªG¥¦º¡¨¬¬Y¨Ç¶i¤@¨Bªº¬ù§ôªº¸Ü¡C]

¨C¤@­Ó XML ¤å¥ó³£¦³ÅÞ¿è©Mª«²zµ²ÌÛ¡Cª«²z¤W¦Ó¨¥¡A¤å¥ó¥ÑºÙ¬°¹êÊ^ªº³æ¤¸²Õ¦¨¡C¤@­Ó¹êÊ^¥i¥H¤Þ¥Î¡]refer¡^¨ä¥L¹êÊ^¡A±N¥¦­Ì¥]§t¦b¤å¥ó¤¤¡C¤å¥ó¶}©l¤_"®Ú¡]root¡^"©Î¤å¥ó¹êÊ^¡CÅÞ¿è¤W¦Ó¨¥¡A¤å¥ó¥ÑÁn©ú¡A¤¸¯À¡Aª`ÄÀ¡A¦r²Å¤Þ¥Î©M³B²z«ü¥O²Õ¦¨¡A©Ò¦³³o¨Ç³£¦b¤å¥ó¤¤¥ÎÅ㦡¼Ð°O«ü©ú¡CÅÞ¿è©Mª«²zµ²ÌÛ¥²¶·¦p"4.3.2 ®æ¦¡¥¿Ú̪º¤wªR¹êÊ^"¤¤©Ò´y­zªº¨º¼ËÄY®æ¦a´O®M¡C

2.1 ®æ¦¡¥¿Ú̪º XML ¤å¥ó¡]Well-Formed XML Documents¡^

[©w¸q¡G¤@­Ó¤å¥»¹ï¶H¬O¤@­Ó®æ¦¡¥¿Ú̪º XML ¤å¥ó¦pªG¥¦º¡¨¬¡G]

  1. §@¬°¤@­Ó¾ãÊ^¡A¥¦¤Ç°t document ²£¥Í¦¡¡C
  2. ¥¦º¡¨¬¥»³W­S¤¤©w¸qªº©Ò¦³®æ¦¡¥¿Ú̩ʬù§ô¡C
  3. ¦¹¤å¥ó¤¤ª½±µ©Î¶¡±µ¤Þ¥Îªº¨C¤@­Ó¤wªR¹êÊ^³£¬O®æ¦¡¥¿Ú̪º¡C
¤å¥ó
[1]    document    ::=    prolog element Misc*

¤Ç°t document ²£¥Í¦¡·N¨ýµÛ¡G

  1. ¥¦¥]§t¤@­Ó©Î¦h­Ó¤¸¯À¡C
  2. [©w¸q¡G¦³¥B¶È¦³¤@­ÓºÙ¬°®Ú¡]root¡^©Î¤å¥ó¤¸¯Àªº¤¸¯À¡A¥¦¤£¥X²{¦b¨ä¥L¥ô¦ó¤¸¯Àªº¤º®e¡]content¡^¤¤¡C] ¹ï¤_¨ä¥L©Ò¦³¤¸¯À¡A¦pªG°_©l¼Ðñ¦b¥t¤@­Ó¤¸¯Àªº¤º®e¤¤¡A«h¨äµ²§ô¼Ðñ¤]¦b¦P¤@¤¸¯Àªº¤º®e¤¤¡C´«¤@­Ó§ó²³æªº»¡ªk¡A¥H°_©l¼Ðñ©Mµ²§ô¼Ðñ¬°¬Éªº¦U­Ó¤¸¯À¡A¥²¶·ÄY®æ¦a´O®M¡C

[©w¸q¡G³o¼Ë°µªºµ²ªG¬O¡A¹ï¤_¨C¤@­Ó«D®Úªº¤¸¯À C¡A¤å¥ó¤¤¥t¦³¤@­Ó¤¸¯À P¡AC ¦b P ªº¤º®e¤¤¡A¦Ó¤£¦b¨ä¥L¥ô¦ó³Q P ©Ò¥]§tªº¤¸¯Àªº¤º®e¤¤¡CP ³QºÙ¬° C ªº¤÷¤¸¯À¡]parent¡^¡A¦Ó C ³QºÙ¬° P ªº¤l¤¸¯À¡]child¡^¡C]

2.2 ¦r²Å

[©w¸q¡G¤@­Ó¤wªR¹êÊ^¥]§t¤å¥»¡]text¡^¡A¤å¥»¬O¤@­Ó¦r²Å¡]character¡^§Ç¦C¡A¥i¥Hªí¥Ü¼Ð°O©Î¦r²Å¼ÆÕu¡C] [©w¸q¡G¤@­Ó¦r²Å¬O ISO/IEC 10646 [ISO/IEC 10646]¡]©Î [ISO/IEC 10646-2000]¡^¤¤©w¸qªº¤å¥»³Ì¤p³æ¤¸¡C¦Xªkªº¦r²Å¥]¬A¨îªí²Å¡A¦^¨®¡A´«¦æ¥H¤Î Unicode ©M ISO/IEC 10646 ¤¤©w¸qªº¦Xªk¦r²Å¡C¦b¨î©w¥»¤åÀɮɡA¦bªþ¿ý A.1 ¥¿¦¡°Ñ¦Ò¤åÄm¤¤¤Þ¥Îªº¼Ð­ã³£¬O·í®Éªº³Ì·sª©¥»¡A¦b³o¨Ç¼Ð­ãªº¼W¸Éª©©Î·sª©¤¤¥i¯à·|¥[¤J·sªº¦r²Å¡C¦]¦¹¡AXML ³B²z¾¹¥²¶·¯à±µ¨ü²£¥Í¦¡ Char ¤¤©Ò©w¸q­S³ò¤ºªº¥ô·N¦r²Å¡C¤£´£­Ò¨Ï¥Î [Unicode] 6.8 ¸`¡]©Î [Unicode3] 3.6 ¸` D21 ¡^¤¤©w¸qªº"­Ý®e¦r²Å¡]compatibility characters¡^"¡C]

¦r²Å­S³ò
[2]    Char    ::=    #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] /* °£¤F¥N¥Î¶ô¡]surrogate block¡^¡AFFFE ©M FFFF ¥H¥~ªº¥ô·N Unicode ¦r²Å¡C*/

±N¦r²Å¥N½X½s½X¦¨¦ì¼Ò¦¡ªºÉó¨î¦U­Ó¹êÊ^¶¡¥i¯à·|¦³©Ò¤£¦P¡C©Ò¦³ªº XML ³B²z¾¹¥²¶·±µ¨ü 10646 ¤¤ªº UTF-8 ©M UTF-16 ½s½X¡F¥Î¤_«ü¥X©Ò¥Î½s½X©Î«ü©w¨Ï¥Î¨ä¥L½s½XªºÉó¨î¦b¦Z­±ªº"4.3.3 ¹êÊ^¤¤ªº¦r²Å½s½X"¤¤°Q½×¡C

2.3 ³q¥Î»yªk¦¨¤À

¥»¸`¤¤©w¸q¤F¤@¨Ç¦b¤åªk¤¤¼sªx¨Ï¥Îªº²Å¸¹¡C

S¡]ªÅ¥Õ¡^¥]¬A¤@­Ó©Î¦h­ÓªÅ®æ¦r²Å¡]#x20¡^¡A¦^¨®¡A´«¦æ©M¨îªí²Å¡C

ªÅ¥Õ
[3]    S    ::=    (#x20 | #x9 | #xD | #xA)+

¬°¤è«K°_¨£¡A¦r²Å³Q¤À¬°¦r¥À¡A¼Æ¦r©M¨ä¥L¦r²Å¤TÃþ¡C¦r¥À¥i¥H¬O¦r¥Àªí¤¤ªº¦r¥À¡A©Î¬O¤@­Ó­µ¸`°ò¦r²Å¡]syllabic base character¡^¡A¤]¥i¥H¬O¤@­Óªí·N¦r²Å¡C¦b"B. ¦r²Åªº¤ÀÃþ"¤¤µ¹¥X¤F¨C¤@Ãþ¦r²Åªº§¹¾ã©w¸q¡C

[©w¸q¡G¦W¦r¡]name¡^¬O¥H¦r¥À©Î¬Y¨Ç¼ÐÂI²Å¸¹¶}ÀYªº°O¸¹¡A¦Z¸ò¦r¥À¡A¼Æ¦r¡A³s¦r²Å¡A¤U¦E½u¡A«_¸¹©Î¥y¸¹¡A³o¨Ç²Å¸¹²ÎºÙ¬°©R¦W¦r²Å¡]name character¡^¡C] ¥H "xml" ©Î¨ä¥L¥ô¦ó¤Ç°t (('X'|'x') ('M'|'m') ('L'|'l')) ªº¦r²Å¦ê¶}ÀYªº¦W¦r¡A³Q«O¯d¥Î¤_¥»³W­Sªº¦¹ª©¥»©Î¦ZÄòª©¥»ªº¼Ð­ã¤Æ¡C

ª`¡G

XML «ØÄ³¤¤ªº¦W°ì [XML Names] ½á¤©¤F¥]§t«_¸¹ªº¦W¦r¬YÏú§t¸q¡C¦]¦¹°£«D¥Î¤_¦W°ì¡AXML ¤å¥ó§@ªÌ¤£À³¸Ó¦b XML ¦W¦r¤¤¨Ï¥Î«_¸¹¡A¦ý XML ³B²z¾¹À³¸Ó±µ¨ü«_¸¹§@¬°¤@­Ó©R¦W¦r²Å¡C

Nmtoken¡]¦W¦r°O¸¹¡Aname token¡^¬O¥ô¦ó©R¦W¦r²Åªº²V¦XÊ^¡C

¦W¦r©M°O¸¹
[4]    NameChar    ::=    Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender
[5]    Name    ::=    (Letter | '_' | ':') (NameChar)*
[6]    Names    ::=    Name (S Name)*
[7]    Nmtoken    ::=    (NameChar)+
[8]    Nmtokens    ::=    Nmtoken (S Nmtoken)*

±`¶q¼ÆÕu¬O¥ô¦ó¥Î¤Þ¸¹¬A°_ªº¦r²Å¦ê¡A¤£¥]¬A¥Î§@©w¬É²Åªº¤Þ¸¹¡C±`¶q¥Î¤_«ü©ú¤º³¡¹êÊ^ªº¤º®e¡]EntityValue¡^¡AÄݩʭȡ]AttValue¡^¡A¥H¤Î¥~³¡¼ÐÃѲš]SystemLiteral¡^¡Cª`·N¡A¹ï SystemLiteral ªº»yªk¤ÀªR¥i¥H¤£±½´y¼Ð°O¡C

±`¶q
[9]    EntityValue    ::=    '"' ([^%&"] | PEReference | Reference)* '"'
|  "'" ([^%&'] | PEReference | Reference)* "'"
[10]    AttValue    ::=    '"' ([^<&"] | Reference)* '"'
|  "'" ([^<&'] | Reference)* "'"
[11]    SystemLiteral    ::=    ('"' [^"]* '"') | ("'" [^']* "'")
[12]    PubidLiteral    ::=    '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"
[13]    PubidChar    ::=    #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]

ª`¡G

ÁöµM²£¥Í¦¡ EntityValue ¤¹³\©w¸q¥u¥]§t³æ­Ó < ªº¹êÊ^¡]¦p¡A<!ENTITY mylt "<">¡^¡A¦ý¬O±j¯P«ØÄ³Á×§K³oÏú¥Îªk¡A¦]¬°¹ï¦¹¹êÊ^ªº¥ô¦ó¤Þ¥Î³£·|¤Þ°_¤@­Ó®æ¦¡¥¿Ú̩ʿù»~¡C

2.4 ¦r²Å¼ÆÕu©M¼Ð°O

¤å¥»¥Ñ¦r²Å¼ÆÕu©M¼Ð°O²V¦XÌÛ¦¨¡C[©w¸q¡G¼Ð°O¥]¬A°_©l¼Ðñ¡Aµ²§ô¼Ðñ¡AªÅ¤¸¯À¼Ðñ¡A¹êÊ^¤Þ¥Î¡A¦r²Å¤Þ¥Î¡Aª`ÄÀ¡ACDATA ¬q©w¬É²Å¡A¤å¥óÃþ«¬Án©ú¡A³B²z«ü¥O¡AXML Án©ú¡A¤å¥»Án©ú¡A¥H¤Î¥ô¦ó¦b¤å¥ó¹êÊ^³»¼hªºªÅ¥Õ¡]§Y¡A¦b¤å¥ó¤¸¯À¤§¥~¥B¤£¦b¥ô¦ó¨ä¥Lªº¼Ð°O¤¤¡^¡C]

[©w¸q¡G¨ä¥L©Ò¦³«D¼Ð°Oªº¤å¥»²Õ¦¨¤å¥óªº¦r²Å¼ÆÕu¡C]

"and"¸¹¡]&¡^©M¥ª¦y¬A¸¹¡]<¡^¥u¦³§@¬°¼Ð°O©w¬É²Å¡A©Î¦bª`ÄÀ¡A³B²z«ü¥O¡A©Î CDATA ¬q¤¤®É¤~¯à¥H±`¶q§Î¦¡¥X²{¡C¦pªG¦b¨ä¥L¦a¤è»Ý­n¥Î¨ì³o¨â­Ó¦r²Å¡A¥¦­Ì¥²¶·¥Î¼Æ­È¦¡¦r²Å¤Þ¥Î¨ÓÂà¸q©Î¤À§O¥Î¦r²Å¦ê"&amp;"©M"&lt;"ªí¥Ü¡C¥k¦y¬A¸¹(>¡^¥i¥H¥Î"&gt;"ªí¥Ü¡A¦Ó·í¥¦¦b¤º®e¤¤ªº¦r²Å¦ê"]]>"¤¤¥X²{¡A¦ý¦¹¦r²Å¦ê¤£ªí¥Ü¤@­Ó CDATA ¬qªºµ²§ô®É¡A¥X¤_­Ý®e©Ê¦Ò¼{¡A¥²¶·¥Î"&gt;"©Î¤@­Ó¦r²Å¤Þ¥ÎÂà¸q±o¨ì¡C

¦b¤@­Ó¤¸¯Àªº¤º®e¤¤¡A¦r²Å¼ÆÕu¥i¥H¬O¤£¥]¬A¥ô¦ó¼Ð°Oªº°_©l©w¬É²Åªº¥ô·N¦r²Å¦ê¡C¦b¤@­Ó CDATA ¬q¤¤¡A¦r²Å¼ÆÕu¥i¥H¬O¤£¥]¬A CDATA ¬qµ²§ô©w¬É²Å"]]>"ªº¥ô·N¦r²Å¦ê¡C

¬°¤F¤¹³\¦bÄݩʭȤ¤¥]§t³æ¤Þ¸¹©MÂù¤Þ¸¹¡A¬Ù²¤²Å©ÎºÙ³æ¤Þ¸¹¡]'¡^¥i¥H³Qªí¥Ü¬°"&apos;"¡A¦ÓÂù¤Þ¸¹¡]"¡^¥i¥H³Qªí¥Ü¬°"&quot;"¡C

¦r²Å¼ÆÕu
[14]    CharData    ::=    [^<&]* - ([^<&]* ']]>' [^<&]*)

2.5 ª`ÄÀ

[©w¸q¡Gª`ÄÀ¥i¥H¦b¨ä¥L¼Ð°O¤§¥~ªº¤å¥ó¤¤ªº¥ô¦ó¦ì¸m¥X²{¡C¥t¥~¡A¥¦­Ì¥i¥H¦b¤å¥óÃþ«¬Án©ú¤¤¤åªk¤¹³\ªº¦a¤è¥X²{¡C¥¦­Ì¤£¬O¤å¥ó¦r²Å¼ÆÕuªº¤@³¡¤À¡AXML ³B²z¾¹¥i¥H¡A¦ý¤£¬O¥²¶·¡A¤¹³\¤@­ÓÀ³¥ÎÀ˯Áª`ÄÀªº¤å¥»¡C¥X¤_­Ý®e©Ê¦Ò¼{¡A¦r²Å¦ê"--"¡]Âù³s¦r²Å¡^¤£¯à¦bª`ÄÀ¤¤¥X²{¡C] ª`ÄÀ¤¤ªº°Ñ¼Æ¹êÊ^¤£³QÃѧO¡C

ª`ÄÀ
[15]    Comment    ::=    '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'

ª`ÄÀªº¤@­Ó¨Ò¤l¡G

<!-- declarations for <head> & <body> -->

ª`·N¡A¦¹¤åªk¤£¤¹³\ª`ÄÀ¥H ---> µ²§À¡C¤U­±ªº¨Ò¤l¤£¬O®æ¦¡¥¿Ú̪º¡C

<!-- B+, B, or B--->

2.6 ³B²z«ü¥O

[©w¸q¡G³B²z«ü¥O¡]PI¡^¤¹³\¤å¥ó¤¤¥]§t¥ÑÀ³¥Î¨Ó³B²zªº«ü¥O¡C]

³B²z«ü¥O
[16]    PI    ::=    '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>'
[17]    PITarget    ::=    Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))

PI ¤£¬O¤å¥ó¦r²Å¼ÆÕuªº¤@³¡¤À¡A¦ý¥²¶·¶Ç»¼µ¹À³¥Î¡CPI ¥H¥Î¤_«ü¥Ü¶Ç»¼µ¹­þ­ÓÀ³¥Îªº¥Ø¼Ð¡]PITarget¡^¶}ÀY¡C¥Ø¼Ð¦W¦r "XML"¡A"xml"¡Aµ¥µ¥¡A«O¯d¥Î¤_¥»³W­Sªº¦¹ª©¥»©Î¦ZÄòª©¥»ªº¼Ð­ã¤Æ¡CXML °OªkÉó¨î¥i¥H¥Î¤_ PI ¥Ø¼Ðªº§Î¦¡¤ÆÁn©ú¡C°Ñ¼Æ¹êÊ^¦b³B²z«ü¥O¤¤¤£³QÃѧO¡C

2.7 CDATA ¬q

[©w¸q¡GCDATA ¬q¥i¥H¥X²{¦b¦r²Å¼ÆÕu¥i¥H¥X²{ªº¥ô¦ó¦a¤è¡A¥¦­Ì¥Î¤_Âà¸q¥]§t·|³QÃѧO¬°¼Ð°Oªº¦r²Å¦êªº¤å¥»¶ô¡CCDATA ¬q¥H¦r²Å¦ê "<![CDATA[" ¶}©l¡A¥H¦r²Å¦ê "]]>" µ²§ô¡G]

CDATA ¬q
[18]    CDSect    ::=    CDStart CData CDEnd
[19]    CDStart    ::=    '<![CDATA['
[20]    CData    ::=    (Char* - (Char* ']]>' Char*))
[21]    CDEnd    ::=    ']]>'

¦b¤@­Ó CDATA ¬q¤º¡A¥u¦³ CDEnd ¦r²Å¦ê³QÃѧO¬°¼Ð°O¡A¦]¦¹¥ª¦y¬A¸¹©M"&"¥i¥H¥H¥¦­Ìªº±`¶q§Î¦¡¥X²{¡A¤£»Ý­n¡]¤]¤£¯à¡^³Q´«½X¬°"&lt;"©M"&amp;"¡CCDATA ¬q¤£¯à´O®M¡C

¤@­Ó CDATA ¬qªº¨Ò¤l¡A¨ä¤¤"<greeting>"©M"</greeting>"³QÃѧO¬°¦r²Å¼ÆÕu¡A¦Ó¤£¬O¼Ð°O¡G

<![CDATA[<greeting>Hello, world!</greeting>]]>

2.8 §Ç¨¥¡]prolog¡^©M¤å¥óÃþ«¬Án©ú

[©w¸q¡GXML ¤å¥óÀ³¸Ó¥H¤@­Ó XML Án©ú¶}©l¡A¨ä¤¤«ü©ú¤F©Ò¥Î XML ªºª©¥»¡C] ¨Ò¦p¡A¥H¤U¬O¤@­Ó§¹¾ãªº XML ¤å¥ó¡A¥¦¬O®æ¦¡¥¿Ú̪º¡A¦ý¤£¬O¦³®Äªº¡G

<?xml version="1.0"?>
<greeting>Hello, world!</greeting>

¤U­±³o­Ó¤]¦P¼Ë¡G

<greeting>Hello, world!</greeting>

ª©¥»¸¹ "1.0" À³¸Ó¥Î¤_ªí©úÉO¥»³W­Sªº¥»ª©¥»¬Û¤@­P¡A¦pªG¨Ï¥Î¤F­È "1.0" ¦ý¤SÉO¥»³W­Sªº¥»ª©¥»¤£¤@­P¡A¨º¤\³o¬O¤å¥óªº¤@­Ó¿ù»~¡CXML ¤u§@²Õ¥´ºâ½á¤©¥»³W­Sªº¦ZÄòª©¥»¤£¦P¤_ "1.0" ªº¼Æ­È¡A¦ý³o¦}¤£¥Nªí¶}µo¦ZÄòª©¥»ªº©Ó¿Õ¡A¤]¤£¥Nªí¦pªG¦³¦ZÄòª©¥»¡A·|¨Ï¥Î¥ô¦ó¯S®íªº©R¦W¤è®×ªº©Ó¿Õ¡C¦]¬°¤£±Æ°£¦³¦ZÄòª©¥»ªº¥i¯à©Ê¡A´£¨Ñ¤F¥»ÌÛ³y¡]construct¡^§@¬°¤@¥¹»Ý­n®É¶i¦æ¦Û°Êª©¥»ÃѧOªº¤â¬q¡C·í³B²z¾¹¦¬¨ìªº¤å¥ó¼Ð¦³¥¦­Ì¤£¤ä«ùªºª©¥»®É¡A¥i¥Hµ¹¥X¤@­Ó¿ù»~¡C

XML ¤å¥ó¤¤¼Ð°Oªº¥\¯à¬O´y­z¤å¥óªº¦sÀx®æ¦¡©MÅÞ¿èµ²ÌÛ¡A¦}±NÄÝ©Ê-­È¹ï©MÅÞ¿èµ²ÌÛÃöÁp°_¨Ó¡CXML ´£¨Ñ¤@ÏúºÙ¬°¤å¥óÃþ«¬Án©úªºÉó¨î¡A¥Î¤_©w¸q¹ïÅÞ¿èµ²ÌÛªº¬ù§ô¡A¤ä«ù¹w©w¸q¦sÀx³æ¤¸ªº¨Ï¥Î¡C[©w¸q¡G¦pªG¤@­Ó XML ¤å¥ó¦³¬ÛÀ³ªº¤å¥óÃþ«¬Án©ú¦}¥B¥¦¿í´`¨ä¤¤ªº¬ù§ô¡A«hºÙ¥¦¬O¦³®Äªº¡]valid¡^¡C]

¤å¥óÃþ«¬Án©ú¥²¶·¦ì¤_¤å¥ó²Ä¤@­Ó¤¸¯À¤§«e¡C

§Ç¨¥
[22]    prolog    ::=    XMLDecl? Misc* (doctypedecl Misc*)?
[23]    XMLDecl    ::=    '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'
[24]    VersionInfo    ::=    S 'version' Eq ("'" VersionNum "'" | '"' VersionNum '"')/* */
[25]    Eq    ::=    S? '=' S?
[26]    VersionNum    ::=    ([a-zA-Z0-9_.:] | '-')+
[27]    Misc    ::=    Comment | PI | S

[©w¸q¡GXML ¤å¥óÃþ«¬Án©ú¥]§t©Î«ü¦V¼Ð°OÁn©ú¡A¼Ð°OÁn©ú´£¨Ñ¬Y¤@Ãþ¤å¥óªº¤åªk¡C³oÏú¤åªk³QºÙ¬°¤å¥óÃþ«¬©w¸q¡]document type difinition¡ADTD¡^¡C¤å¥óÃþ«¬©w¸q¥i¥H«ü¦V¤@­Ó¥~³¡¤l¶°¡]¤@Ïú¯S®íÃþ«¬ªº¥~³¡¹êÊ^¡^¡A©ÎªÌ¥i¥H¦b¤@­Ó¤º³¡¤l¶°¤¤ª½±µ¥]§t¼Ð°OÁn©ú¡A©ÎªÌ¨âªÌ­Ý¥Î¡C¤@­Ó¤å¥óªº¤å¥óÃþ«¬©w¸q¥Ñ³o¨â­Ó¤l¶°¦X¦b¤@°_²Õ¦¨¡C]

[©w¸q¡G¼Ð°OÁn©ú¥i¥H¬O¤¸¯ÀÃþ«¬Án©ú¡AÄݩʪíÁn©ú¡A¹êÊ^Án©ú¡A©Î¬O°OªkÁn©ú¡C] ³o¨ÇÁn©ú¥i¥H¦p¤U­±®æ¦¡¥¿Ú̩ʩM¦³®Ä©Ê¬ù§ô¤¤©Ò­z¡A¥þ³¡©Î³¡¤À¦a¥]§t¦b°Ñ¼Æ¹êÊ^¤¤¡A"4. ª«²zµ²ÌÛ"¤¤¦³§ó¦hªº«H®§¡C

¤å¥óÃþ«¬©w¸q
[28]    doctypedecl    ::=    '<!DOCTYPE' S Name (S ExternalID)? S? ('[' (markupdecl | DeclSep)* ']' S?)? '>' [VC: ®Ú¤¸¯ÀÃþ«¬]
[WFC: ¥~³¡¤l¶°]
/* */
[28a]    DeclSep    ::=    PEReference | S [WFC: Án©ú¶¡ªº°Ñ¼Æ¹êÊ^]
/* */
[29]    markupdecl    ::=    elementdecl | AttlistDecl | EntityDecl | NotationDecl | PI | Comment [VC: ÄY®æªºÁn©ú/°Ñ¼Æ¹êÊ^´O®M]
[WFC: ¤º³¡¤l¶°¤¤ªº°Ñ¼Æ¹êÊ^]

ª`·N¡A­nÌÛ«Ø¥]§t¤F¤@­Ó¬J¤£«ü¦V¥~³¡¤l¶°¤]¤£¥]§t¤º³¡¤l¶°ªº doctypedecl ¦Ó®æ¦¡¥¿Ú̪º¤å¥ó¬O¥i¯àªº¡C

¼Ð°OÁn©ú¥i¥H¥þ³¡©Î³¡¤À¦a¥Ñ°Ñ¼Æ¹êÊ^ªº¸m´«¤å¥»²Õ¦¨¡C¥»³W­S¦Z­±ªº¦U­Ó«D²×µ²²Å¡]elementdecl¡AAttlistDecl¡Aµ¥µ¥¡^²£¥Í¦¡´y­zªº¬O¦b©Ò¦³ªº°Ñ¼Æ¹êÊ^³Q¥]§t¡]include¡^¤§¦ZªºÁn©ú¡C

°£¤F¦b±`¶q¡A³B²z«ü¥O¡Aª`ÄÀ©M³Q©¿²¤ªº±ø¥ó¬qªº¤º®e¤¤¥X²{ªº°Ñ¼Æ¹êÊ^¤Þ¥Î¥H¥~¡ADTD ¤¤ªº¨ä¥L¥ô¦ó¦a¤è¡]¤º³¡©Î¥~³¡¤l¶°¥H¤Î¥~³¡°Ñ¼Æ¹êÊ^¡^ªº°Ñ¼Æ¹êÊ^¤Þ¥Î³£³QÃѧO¡]¨£ 3.4 ±ø¥ó¬q¡^¡C¦b¹êÊ^­È±`¶q¤¤ªº°Ñ¼Æ¹êÊ^¤Þ¥Î¤]³QÃѧO¡C¤º³¡¤l¶°¤¤°Ñ¼Æ¹êÊ^¤Þ¥Îªº¨Ï¥Î­­¨î¦p¤U©Ò­z¡C

¦³®Ä©Ê¬ù§ô: ®Ú¤¸¯ÀÃþ«¬¡]Root Element Type¡^
¤å¥óÃþ«¬Án©ú¤¤ªº Name ¥²¶·¤Ç°t®Ú¤¸¯ÀªºÃþ«¬¡C

¦³®Ä©Ê¬ù§ô: ÄY®æªºÁn©ú/°Ñ¼Æ¹êÊ^´O®M
°Ñ¼Æ¹êÊ^ªº¸m´«¤å¥»¥²¶·¥Î¼Ð°OÁn©úÄY®æ´O®M¡C§Y¡A¦pªG¤@­Ó¼Ð°OÁn©ú¡]¤W­±ªº markupdecl¡^ªº²Ä¤@­Ó©Î³Ì¦Z¤@­Ó¦r²Å³Q¥]§t¤_¤@­Ó°Ñ¼Æ¹êÊ^¤Þ¥Îªº¸m´«¤å¥»¤¤¡A¨âªÌ¥²¶·³£¦b¦¹¸m´«¤å¥»¤¤¡C

®æ¦¡¥¿Ú̩ʬù§ô: ¤º³¡¤l¶°¤¤ªº°Ñ¼Æ¹êÊ^

¦b¤º³¡ DTD ¤l¶°¤¤¡A°Ñ¼Æ¹êÊ^¤Þ¥Î¥u¯à¥X²{¦b¼Ð°OÁn©ú¥i¥H¥X²{ªº¦a¤è¡A¦Ó¤£¯à¦b¼Ð°OÁn©ú¤º³¡¥X²{¡C¡]³o­Ó¬ù§ô¤£Óì¥Î¤_¥X²{¦b¥~³¡°Ñ¼Æ¹êÊ^¤ºªº¤Þ¥Î¡A¤]¤£Óì¥Î¤_¥~³¡¤l¶°¡C¡^

®æ¦¡¥¿Ú̩ʬù§ô: ¥~³¡¤l¶°

¥~³¡¤l¶°¡]¦pªG¦³ªº¸Ü¡^¥²¶·¤Ç°t²£¥Í¦¡ extSubset¡C

®æ¦¡¥¿Ú̩ʬù§ô: Án©ú¶¡ªº°Ñ¼Æ¹êÊ^

¤@­Ó DeclSep ¤ºªº°Ñ¼Æ¹êÊ^¤Þ¥Îªº¸m´«¤å¥»¥²¶·¤Ç°t²£¥Í¦¡ extSubsetDecl¡C

¦P¤º³¡¤l¶°¤@¼Ë¡A¥~³¡¤l¶°©M¥ô¦ó DeclSep ¤¤¤Þ¥Îªº¥~³¡°Ñ¼Æ¹êÊ^¡A¥²¶·¥Ñ¤@¨t¦C³Q«D²×µ²²Å markupdecl ©Ò¤¹³\ªº§¹¾ãªº¼Ð°OÁn©ú²Õ¦¨¡A¨ä¤¤¥i¥H§¨ÂøªÅ¥Õ¦r²Å©Î°Ñ¼Æ¹êÊ^¤Þ¥Î¡C¦ý¬O¡A¥~³¡¤l¶°©M¥~³¡°Ñ¼Æ¹êÊ^ªº³¡¤À¤º®e¥i¥H³q¹L¨Ï¥Î±ø¥ó¬q¡]conditional section¡^³Q¦³±ø¥ó¦a©¿²¤¡A¦b¤º³¡¤l¶°¤¤«h¤£¤¹³\³o¤\°µ¡C

¥~³¡¤l¶°
[30]    extSubset    ::=    TextDecl? extSubsetDecl
[31]    extSubsetDecl    ::=    ( markupdecl | conditionalSect | DeclSep)* /* */

¥~³¡¤l¶°©M¥~³¡°Ñ¼Æ¹êÊ^ÉO¤º³¡¹êÊ^¤£¦P¤§³BÁÙ¦b¤_¡G¦b¥¦­Ì¤º¡A°Ñ¼Æ¹êÊ^¤Þ¥Î¤£¶È¥i¥H¥X²{¦b¼Ð°OÁn©ú¶¡¡AÁÙ¥i¥H¥X²{¦b¼Ð°OÁn©ú¤º¡C

¦³¤å¥óÃþ«¬Án©úªº XML ¤å¥óªº¨Ò¤l¡G

<?xml version="1.0"?>
<!DOCTYPE greeting SYSTEM "hello.dtd">
<greeting>Hello, world!</greeting>

¨t²Î¼ÐÃѲŠ"hello.dtd" µ¹¥X¤F¦¹¤å¥óªº DTD ªº¦a§}¡]¤@­Ó URI ¤Þ¥Î¡^¡C

Án©ú¤]¥i¥H¦p¦P¤U­±³o­Ó¨Ò¤l¤@¼Ëª½±µ¡]locally¡^µ¹¥X¡G

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE greeting [
  <!ELEMENT greeting (#PCDATA)>
]>
<greeting>Hello, world!</greeting>

¦pªG¦P®É¨Ï¥Î¥~³¡©M¤º³¡¤l¶°¡A¤l¶°¤l¶°³Q¬Ý¦¨¥X²{¦b¥~³¡¤l¶°¤§«e¡A³o·N¨ýµÛ¤º³¡¤l¶°¤¤ªº¹êÊ^©MÄݩʪíÁn©úªºÉ¬¥ý¯Å­n¤ñ¦b¥~³¡¤l¶°¤¤ªº°ª¡C

2.9 ¿W¥ß¤å¥óÁn©ú

·í¤å¥ó±q XML ³B²z¾¹»¼µ¹À³¥Î®É¡A¼Ð°OÁn©ú¥i¥H¼vÅT¥¦ªº¤º®e¡AÄݩʯʬ٭ȩM¹êÊ^Án©ú¬O¨ä¤¤ªº¨Ò¤l¡C¥i¥H§@¬° XML Án©ú¤@­Ó¦¨¤Àªº¿W¥ß¤å¥óÁn©ú¡A«ü©ú¤F¬O§_¦s¦bµÛ¦b¤å¥ó¹êÊ^¥~©Î¦b°Ñ¼Æ¹êÊ^¤¤ªºÁn©ú¡C[©w¸q¡G¥~³¡¼Ð°OÁn©ú³Q©w¸q¬°¥X²{¦b¥~³¡¤l¶°©Î°Ñ¼Æ¹êÊ^¡]¥~³¡©Î¤º³¡¡A¥]¬A¤º³¡°Ñ¼Æ¹êÊ^¬O¦]¬°¦}¤£±j¨î¤£¶i¦æÅçµýªº³B²z¾¹Åª¨ú¨ä¤¤ªº¼Ð°OÁn©ú¡^¤¤ªº¼Ð°OÁn©ú¡C]

¿W¥ß¤å¥óÁn©ú
[32]    SDDecl    ::=    S 'standalone' Eq (("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no') '"')) [VC: ¿W¥ß¤å¥óÁn©ú]

¦b¤@­Ó¿W¥ß¤å¥óÁn©ú¤¤¡A­È "yes" ªí¥Ü¹ï¤_¤å¥ó¹êÊ^¨S¦³¥~³¡¼Ð°OÁn©ú¡]¤£½×¬O¦b DTD ¥~³¡¤l¶°¤¤¡AÁÙ¬O¦b¥Ñ¤º³¡¹êÊ^¤Þ¥Îªº¥~³¡°Ñ¼Æ¹êÊ^¤¤¡^·|¼vÅT±q XML ³B²z¾¹¶Ç»¼µ¹À³¥Îªº«H®§¡C­È "no" ªí¥Ü¦³©Î¥i¯à¦³³o¼Ëªº¥~³¡¼Ð°OÁn©ú¡Cª`·N¡A¿W¥ß¤å¥óÁn©ú¥u¬Oªí¥Ü¥~³¡Án©úªº¦s¦b¡A¦pªG¤å¥ó¤¤¦s¦b¹ï¥~³¡¹êÊ^ªº¤Þ¥Î¡A¦Ó³o¨Ç¹êÊ^¤w¦b¤º³¡Án©ú®É¡A¤£¼vÅT¥¦ªº¿W¥ßª¬ºA¡C

¦pªG¤£¦s¦b¥~³¡¼Ð°OÁn©ú¡A¿W¥ß¤å¥óÁn©ú¨S¦³·N¸q¡C¦pªG¦s¦b¥~³¡¼Ð°OÁn©ú¡A¦ý¨S¦³¿W¥ß¤å¥óÁn©ú¡A´N°²©w¨ú­È "no"¡C

¬Y¨ÇÊIµ¸¶Ç¿éÀ³¥Î¤]³\»Ý­n¿W¥ßªº¤å¥ó¡A¥ô¦óº¡¨¬ standalone="no" ªº XML ¤å¥ó¥i¥H³q¹L¤@©wªººâªkÂà´«¬°¿W¥ß¤å¥ó¡C

¦³®Ä©Ê¬ù§ô: ¿W¥ß¤å¥óÁn©ú
¿W¥ß¤å¥óÁn©ú¥²¶·¨ú­È¬° "no"¡A¦pªG¥ô¦ó¥~³¡¼Ð°OÁn©ú¤¤¥]§t¡G

  • ¦³¯Ê¬Ù­ÈªºÄݩʪºÁn©ú¡A¦pªGÓì¥Î³o¨ÇÄݩʪº¤¸¯À¥X²{¦b¤å¥ó¤¤¦Ó¤S¨S¦³µ¹³o¨ÇÄݩʽá­Èªº¸Ü¡C
  • ¡]°£¤F amp¡Alt¡Agt¡Aapos¡Aquot ¥~ªº¡^¹êÊ^ªºÁn©ú¡A¦Ó¹ï³o¨Ç¹êÊ^ªº¤Þ¥Î¥X²{¦b¤å¥ó¤¤ªº¸Ü¡C
  • ¨ä­È»Ý­n³W­S¤ÆªºÄݩʪºÁn©ú¡A¦pªG³o¨Ç¥X²{¦b¤å¥ó¤¤ªºÄݩʪº­È·|¦]³W­S¤Æ¦Ó§ïÅܪº¸Ü¡C
  • ¨ã¦³¤¸¯À«¬¤º®eªº¤¸¯ÀÃþ«¬ªºÁn©ú¡A¦pªG¦b³o¨ÇÃþ«¬ªº¥ô¤@¹ê¨Ò¤¤ª½±µ¥X²{ªÅ¥Õªº¸Ü¡C

¨ã¦³¿W¥ß¤å¥óÁn©úªº XML Án©úªº¨Ò¤l¡G

<?xml version="1.0" standalone='yes'?>

2.10 ªÅ¥Õ³B²z

¦b½s¿è XML ¤å¥ó®É¡A¨Ï¥Î"ªÅ¥Õ"¡]ªÅ®æ¡A¨îªí²Å¡AªÅ¦æ¡^¨Ó¤À¶}¼Ð°O¥HÀò±o§ó¦nªº¥iŪ©Ê¬O«Ü¤è«Kªº¡C³q±`¦b¤å¥óªº¥æ¥Iª©¥»¤¤¤£·Q¥]§t³o¨ÇªÅ¥Õ¡C¥t¤@¤è­±¡A¥²¶·«O¯d¦b¥æ¥Iª©¥»¤¤ªº¦³·N¸qªºªÅ¥Õ¬O«Ü±`¨£ªº¡A¦p¦b¸Öºq©M·½½X¤¤ªºªÅ¥Õ¡C

XML ³B²z¾¹¥²¶·©l²×§â¤£¬O¼Ð°Oªº©Ò¦³¦r²Å¶Ç»¼µ¹À³¥Î¡C¤@­Ó¶i¦æÅçµýªº XML ³B²z¾¹¥²¶·¦P®É³qª¾À³¥Î³o¨Ç¦r²Å¤¤ªº¨º¤@¨Ç²Õ¦¨¤F¥X²{¦b¤¸¯À«¬¤º®e¤¤ªºªÅ¥Õ¡C

¥i¥H¦b¤¸¯À¤¤ªþ¥[¤@­Ó¦W¬° xml:space ªº¯S®íÄݩʡA¥H³qª¾À³¥ÎÀ³¸Ó«O¯d¦¹¤¸¯À¤¤ªºªÅ¥Õ¡C¦b¦³®Äªº¤å¥ó¤¤¡A¦¹ÄݩʩM¨ä¥LÄݩʤ@¼Ë¡A¨Ï¥Î®É¥²¶·Án©ú¡C¥¦¥²¶·³QÁn©ú¬°ªTÁ|Ãþ«¬¡A¥i¥H¨ú­È "default" ©M "preserve" ¨âªÌ¤§¤@¡A¤]¥i¥H¨â­Ó³£¨ú¡C¨Ò¦p¡G

<!ATTLIST poem  xml:space (default|preserve) 'preserve'>

<!-- -->
<!ATTLIST pre xml:space (preserve) #FIXED 'preserve'>

"default" ªí¥Ü¥i¥H¹ï¦¹¤¸¯À¨Ï¥ÎÀ³¥Îªº¯Ê¬ÙªÅ¥Õ³B²z¼Ò¦¡¡A"preserve" ªí¥ÜÀ³¥ÎÀ³¸Ó«O¯d©Ò¦³ªºªÅ¥Õ¡C³oÓì¥Î¤_¨ä©Ò³B¤¸¯Àªº¤º®e¤¤ªº©Ò¦³¤¸¯À¡A°£«D³Q¥t¤@­Ó xml:space Äݩʪº¹ê¨Ò©ÒÂл\¡C

¥ô¦ó¤å¥óªº®Ú¤¸¯À³Q»{¬°¹ïÀ³¥ÎªºªÅ¥Õ³B²z¤è¦¡¤£§@­n¨D¡A°£«D¥¦µ¹¦¹Äݩʽá¤F­È©Î±N¦¹ÄÝ©ÊÁn©ú¬°±a¯Ê¬Ù­È¡C

2.11 ¦æ§À³B²z

¬°½s¿èªº¤è«K°_¨£¡A¦sÀx XML ¤wªR¹êÊ^ªº­pºâÉó¤å¥ó¸g±`¥Î¦æ¨Ó²Õ´¡C³q±`³o¨Ç¦æ¥Î¦^¨®²Å¡]#xD¡^©M´«¦æ²Å¡]#xA¡^ªº¤@¨Ç²Õ¦X¨Ó¤À¹j¡C

¬°¤F¨ÏÀ³¥Îªº¤u§@²³æ¤Æ¡AXML ³B²z¾¹À³¦b±N¦r²Å¶Çµ¹À³¥Î«e¡A±N¥~³¡¤wªR¹êÊ^¡]¥]¬A¤å¥ó¹êÊ^¡^¤¤ªº¨â¦r²Å§Ç¦C "#xD#xA" ©Î¨S¦³§ÀÀH #xA ªº #xD ¦b¶i¦æ»yªk¤ÀªR«eÂà´«¦¨³æ­Ó #xA ¦r²Å¡C

2.12 »y¨¥¼ÐÃÑ

¦b¶i¦æ¤å¥ó³B²z®É¡A¼ÐÃÑ¥X¨ä¤º®e©Ò¨Ï¥Îªº¦ÛµM©Î§Î¦¡¤Æ»y¨¥¸g±`¬O«Ü¦³¥Îªº¡C¥i¥H¦b¤å¥ó¤¤´¡¤J¤@­Ó¦W¬° xml:lang ªº¯S®íÄݩʥΤ_«ü¥X XML ¤å¥ó¤¤¥ô¦ó¤¸¯Àªº¤º®e©MÄݩʩҨϥΪº»y¨¥¡C¦b¦³®Äªº¤å¥ó¤¤¡A¦¹ÄݩʩM¨ä¥LÄݩʤ@¼Ë¡A¨Ï¥Î®É¥²¶·Án©ú¡C¦¹Äݩʪº­È¬O [IETF RFC 1766]¡ATags for the Identification of Languages ©Î¨ä¦Zªº ITEF ¼Ð­ã¤¤©w¸qªº»y¨¥¼ÐÃѲšC

ª`¡G

[IETF RFC 1766] ¤¤ªº¼Ðñ¥Ñ [ISO 639] ¤¤©w¸qªº¨â¦r¥À»y¨¥½X©M [ISO 3166] ¤¤©w¸qªº¨â¦r¥À°ê®a½XÌÛ¦¨¡A©ÎªÌ¥Ñ Internet Assigned Numbers Authority [IANA-LANGCODES] ª`¥Uªº»y¨¥¼ÐÃѲÅÌÛ¦¨¡C ¹w­p [IETF RFC 1766] ªº¦ZÄ~¼Ð­ã±N·|¤Þ¤J¤T¦r¥À»y¨¥½X¥Î¤_ªí¥Ü [ISO 639] ¤¤¨S¦³¯A¤Îªº»y¨¥¡C

¡]²£¥Í¦¡ 33 ¨ì 38 ¤w³Q§R°£¡C¡^

Á|¨Ò¦p¤U¡G

<p xml:lang="en">The quick brown fox jumps over the lazy dog.</p>
<p xml:lang="en-GB">What colour is it?</p>
<p xml:lang="en-US">What color is it?</p>
<sp who="Faust" desc='leise' xml:lang="de">
  <l>Habe nun, ach! Philosophie,</l>
  <l>Juristerei, und Medizin</l>
  <l>und leider auch Theologie</l>
  <l>durchaus studiert mit heißem Bemüh'n.</l>
  </sp>

xml:lang ©Òªí¥Üªº»y¨¥¿ï¾ÜÓì¥Î¤_¥¦©Ò³B¤¸¯Àªº©Ò¦³ÄݩʩM¤º®e¡A°£«D³Q¦¹¤º®e¤¤ªº¤¸¯À¤ºªº¥t¤@­Ó xml:lang ªº¹ê¨Ò©ÒÂл\¡C

xml:lang ªº¤@­Ó²³æÁn©ú¥i¥Hªö¥Î¦p¤U§Î¦¡¡G

xml:lang  NMTOKEN  #IMPLIED

¦ý¬O¦pªG¦XÓ쪺¸Ü¡A¤]¥i¥Hµ¹¥X¯S©wªº¯Ê¬Ù­È¡C¦b¤@¥»¨Ñ­^°ê¾Ç¥Í¨Ï¥Îªºªk¤å¸Öºq¶°¤¤¡Aµûª`©Mª`¸Ñ¨Ï¥Î­^»y¡Axml:lang Äݩʥi¥H³o¼ËÁn©ú¡G

    <!ATTLIST poem   xml:lang NMTOKEN 'fr'>
    <!ATTLIST gloss  xml:lang NMTOKEN 'en'>
    <!ATTLIST note   xml:lang NMTOKEN 'en'>

3. ÅÞ¿èµ²ÌÛ

[©w¸q¡G¨C­Ó XML ¤å¥ó¥]§t¤@­Ó©Î¦h­Ó¤¸¯À¡A¥¦­ÌªºÃä¬É¥Î°_©l¼Ðñ©Mµ²§ô¼Ðñ¤À¹j¡A©ÎªÌ¡A¹ï¤_ªÅ¤¸¯À¡A¥Î¤@­ÓªÅ¤¸¯À¼Ðñ¤À¹j¡C¨C¤@­Ó¤¸¯À¦³¤@­Ó¥Î¦W¦r¼ÐÃѪºÃþ«¬¡A¦³®ÉºÙ¤§¬°¥¦ªº"³q¥Î¼ÐÃѲš]generic identifier¡^"¡]GI¡^¡A¦P®É¥¦¥i¥H¦³¤@­ÓÄݩʭȻ¡©ú¡]attribute specification¡^¶°¡C] ¨C¤@­ÓÄݩʭȻ¡©ú¦³¤@­Ó¦W¦r©M¤@­Ó­È¡C

¤¸¯À
[39]    element    ::=    EmptyElemTag
| STag content ETag [WFC: ¤¸¯ÀÃþ«¬¤Ç°t]
[VC: ¤¸¯À¦³®Ä©Ê]

°£¤F¨º¨Ç¶}ÀY¤Ç°t(('X'|'x')('M'|'m')('L'|'l'))ªº¦W¦r«O¯d¥Î¤_¥»³W­Sªº¦¹ª©¥»©M¦ZÄ~ª©¥»ªº¼Ð­ã¤Æ¥~¡A¥»³W­S¤£¹ï¤¸¯ÀÃþ«¬©MÄݩʪº»y¸q¡A¥Îªk©M¦W¦r¡]»yªk¤§¥~¡^§@¥X­­¨î¡C

®æ¦¡¥¿Ú̩ʬù§ô: ¤¸¯ÀÃþ«¬¤Ç°t
¤¸¯Àµ²§ô¼Ðñ¤¤ªº Name ¥²¶·©M°_©l¼Ðñ¤¤ªº¤¸¯ÀÃþ«¬¬Û¤Ç°t¡C

¦³®Ä©Ê¬ù§ô: ¤¸¯À¦³®Ä©Ê
¦pªG¦³¤@­ÓÉO elementdecl ¬Û¤Ç°tªºÁn©úªº Name ÉO¤¸¯ÀÃþ«¬¬Û¤Ç°t¡A¥B¤U­z¤§¤@¦¨¥ß®É¡AºÙ¦¹¤¸¯À¬O¦³®Äªº¡G

  1. ¦¹Án©úÉO EMPTY ¬Û¤Ç°t¡A¦P®É¦¹¤¸¯À¨S¦³¤º®e¡C
  2. ¦¹Án©úÉO children ¬Û¤Ç°t¡A¦P®É¤l¤¸¯Àªº§Ç¦CÄݤ_¤º®e¼Ò«¬¤¤ªº¥¿«hªí¹F¦¡©Ò²£¥Íªº»y¨¥¡A¦b°_©l¼Ðñ©M²Ä¤@­Ó¤l¤¸¯À¤§¶¡¡A¤l¤¸¯À¤§¶¡¥H¤Î³Ì¦Z¤@­Ó¤l¤¸¯À©Mµ²§ô¼Ðñ¤§¶¡¤¹³\¦³ªÅ¥Õ¡]¤Ç°t«D²×µ²²Å S ªº¦r²Å¡^¡Cª`·N¡A¶È¥]¬AªÅ¥Õªº CDATA ¬q¤£¤Ç°t«D²×µ²²Å S¡A¦]¦¹¤£¯à¦b³o¨Ç¦ì¸m¥X²{¡C
  3. ¦¹Án©úÉO Mixed ¬Û¤Ç°t¡A¦P®É¤º®e¥Ñ¨äÃþ«¬¤Ç°t¤º®e¼Ò«¬¤¤ªº¦W¦rªº¦r²Å¼ÆÕu©M¤l¤¸¯À²Õ¦¨¡C
  4. ¦¹Án©úÉO ANY ¬Û¤Ç°t¡A¦P®É¨C­Ó¤l¤¸¯ÀªºÃþ«¬§¡¤wÁn©ú¡C

3.1 °_©l¼Ðñ¡Aµ²§ô¼Ðñ©MªÅ¤¸¯À¼Ðñ

[©w¸q¡G¨C¤@­Ó«DªÅ XML ¤¸¯À¥H¤@­Ó°_©l¼Ðñ§@¬°¶}©lªº¼Ð°O¡C]

°_©l¼Ðñ
[40]    STag    ::=    '<' Name (S Attribute)* S? '>' [WFC: °ß¤@ªºÄݩʭȻ¡©ú]
[41]    Attribute    ::=    Name Eq AttValue [VC: ÄݩʭÈÃþ«¬]
[WFC: µL¥~³¡¹êÊ^¤Þ¥Î]
[WFC: ¦bÄݩʭȤ¤¨S¦³<]

°_©l¼Ðñ©Mµ²§ô¼Ðñ¤¤ªº Name µ¹¥X¤F¤¸¯ÀªºÃþ«¬¡C[©w¸q¡GName-AttValue ¹ï³Q²ÎºÙ¬°¤¸¯ÀªºÄݩʭȻ¡©ú]¡A[©w¸q¡G¨ä¤¤¨C¤@¹ï¤¤ªº Name ³QºÙ¬°ÄݩʦW]¡A[©w¸q¡GAttValue ªº¤º®e¡]¦b'©Î"©w¬É²Å¶¡ªº¤å¥»¡^³QºÙ¬°ÄݩʭÈ]¡Cª`·N¡A¦b°_©l¼Ðñ©MªÅ¤¸¯À¼Ðñ¤¤¦U­ÓÄݩʭÈÁn©úªº¦¸§Ç¨S¦³·N¸q¡C

®æ¦¡¥¿Ú̩ʬù§ô: °ß¤@ªºÄݩʭȻ¡©ú
¤@­ÓÄݩʦW¥u¯à¦b¦P¤@­Ó°_©l¼Ðñ©ÎªÅ¤¸¯À¼Ðñ¤¤¥X²{¤@¦¸¡C

¦³®Ä©Ê¬ù§ô: ÄݩʭÈÃþ«¬
Äݩʥ²¶·³QÁn©ú¡A¨ä­È¥²¶·¨ã¦³©ÒÁn©úªºÃþ«¬¡C¡]ÄÝ©ÊÃþ«¬°Ñ¨£"3.3 ÄݩʪíÁn©ú"¡C¡^

®æ¦¡¥¿Ú̩ʬù§ô: µL¥~³¡¹êÊ^¤Þ¥Î
ÄݩʭȤ£¯à¥]§t¹ï¥~³¡¹êÊ^ª½±µ©Î¶¡±µªº¹êÊ^¤Þ¥Î¡C

®æ¦¡¥¿Ú̩ʬù§ô: ¦bÄݩʭȤ¤¨S¦³ <
¦b¤@­ÓÄݩʭȤ¤ª½±µ©Î¶¡±µ¤Þ¥Îªº¹êÊ^ªº¸m´«¤å¥»¤£¯à¥]§t < ¡C

°_©l¼Ðñªº¤@­Ó¨Ò¤l¡G

<termdef id="dt-dog" term="dog">

[©w¸q¡G¥Ñ¤@­Ó°_©l¼Ðñ¶}©lªº¨C¤@­Ó¤¸¯À¥²¶·¥Î¤@­Óµ²§ô¼Ðñ¼Ð°O¨äµ²§ô¡Aµ²§ô¼Ðñ¤¤ªº¦W¦r¥²¶·ÉO°_©l¼Ðñ¤¤µ¹¥Xªº¤¸¯ÀÃþ«¬¬Û¦P¡G]

µ²§ô¼Ðñ
[42]    ETag    ::=    '</' Name S? '>'

µ²§ô¼Ðñªº¤@­Ó¨Ò¤l¡G

</termdef>

[©w¸q¡G¦b°_©l¼Ðñ©Mµ²§ô¼Ðñ¤¤ªº¤å¥»³QºÙ¬°¤¸¯Àªº¤º®e¡G] ¤¸¯Àªº¤º®e

[43]    content    ::=    CharData? ((element | Reference | CDSect | PI | Comment) CharData?)* /* */

[©w¸q¡GºÙ¨S¦³¤º®eªº¤¸¯À¨ä¤º®e¬°ªÅ¡C] ªÅ¤¸¯À¥i¥H¥Î¤@­Ó°_©l¼Ðñºò¸ò¤@­Óµ²§ô¼Ðñªº¤è¦¡©ÎªÅ¤¸¯À¼Ðñ¨Óªí¥Ü¡C[©w¸q¡GªÅ¤¸¯À¼Ðñ¦³¤@Ïú¯S®íªº§Î¦¡¡G]

ªÅ¤¸¯À¼Ðñ
[44]    EmptyElemTag    ::=    '<' Name (S Attribute)* S? '/>' [WFC: °ß¤@ªºÄݩʭȻ¡©ú]

¤£½×¤¸¯À¬O§_¥ÎÃöÁä¦r EMPTY Án©ú¡AªÅ¤¸¯À¼Ðñ³£¥i¥H¥Î¤_¥ô¦ó¨S¦³¤º®eªº¤¸¯À¡C¥X¤_¤¬¾Þ§@©Ê¦Ò¼{¡AªÅ¤¸¯ÀÀ³¸Ó¥Î¤_¡A¥B¥uÀ³¥Î¤_Án©ú¬° EMPTY ªº¤¸¯À¡C

ªÅ¤¸¯Àªº¨Ò¤l¡G

<IMG align="left"
 src="http://www.w3.org/Icons/WWW/w3c_home" />
<br></br>
<br/>

3.2 ¤¸¯ÀÃþ«¬Án©ú

¥X¤_Åçµýªº¥Øªº¡A¥i¥H¥Î¤¸¯ÀÃþ«¬©MÄݩʪíÁn©ú­­¨î XML ¤å¥ó¤¤¤¸¯Àªºµ²ÌÛ¡C¤¸¯ÀÃþ«¬Án©ú­­¨î¤F¤¸¯Àªº¤º®e¡C

¤¸¯ÀÃþ«¬Án©ú³q±`­­¨î¤F¤l¤¸¯ÀªºÃþ«¬¡C¥Ñ¨Ï¥ÎªÌ¿ï¾Ü¡A·íÁn©ú´£¨ìªº¤¸¯ÀÃþ«¬¨S¦³¬ÛÀ³ªºÁn©ú®É¡AXML ³B²z¾¹¥i¥Hµ¹¥Xĵ§i¡A¦ý³o¤£¬O¤@­Ó¿ù»~¡C

[©w¸q¡G¤¸¯ÀÃþ«¬Án©úªº§Î¦¡¦p¤U¡G]

¤¸¯ÀÃþ«¬Án©ú
[45]    elementdecl    ::=    '<!ELEMENT' S Name S contentspec S? '>' [VC: °ß¤@ªº¤¸¯ÀÃþ«¬Án©ú]
[46]    contentspec    ::=    'EMPTY' | 'ANY' | Mixed | children

¨ä¤¤ Name µ¹¥X¤F©ÒÁn©úªº¤¸¯ÀÃþ«¬¡C

¦³®Ä©Ê¬ù§ô: °ß¤@ªº¤¸¯ÀÃþ«¬Án©ú
¤¸¯ÀÃþ«¬¥u¯àÁn©ú¤@¦¸¡C

¤¸¯ÀÃþ«¬Án©úªº¨Ò¤l¡G

<!ELEMENT br EMPTY>
<!ELEMENT p (#PCDATA|emph)* >
<!ELEMENT %name.para; %content.para; >
<!ELEMENT container ANY>

3.2.1 ¤¸¯À«¬¤º®e

[©w¸q¡G·í¬Y¤@Ãþ«¬ªº¤¸¯À¥u¯à¥]§t¥Î¥i¿ïªÅ¥Õ¡]¤Ç°t«D²×µ²²Å S¡^¤À¹jªº¤l¤¸¯À¡]µL¦r²Å¼ÆÕu¡^®É¡AºÙ¦¹¤¸¯ÀÃþ«¬¨ã¦³¤¸¯À«¬¤º®e¡C] [©w¸q¡G¦b³oÏú±¡ªp¤U¡A¦³¤º®e¼Ò«¬§@¬°Ãþ«¬­­¨î¤§¤@¡A¤º®e¼Ò«¬¬O¨M©w¤l¤¸¯ÀÃþ«¬©M¤l¤¸¯À¥X²{¶¶§Çªº¤@Ïú²³æ¤åªk¡C] ¦¹¤åªk¥Î¤º®e²É¤l¡] cp ¡^ÌÛ«Ø¡A¤º®e²É¤l¥Ñ¦W¦r¡A¤º®e²É¤lªº¿ï¾Üªí¡]choice list¡^©Î¤º®e²É¤lªº§Ç¦Cªí¡]sequence list¡^²Õ¦¨¡G

¤¸¯À«¬¤º®eªº¼Ò«¬
[47]    children    ::=    (choice | seq) ('?' | '*' | '+')?
[48]    cp    ::=    (Name | choice | seq) ('?' | '*' | '+')?
[49]    choice    ::=    '(' S? cp ( S? '|' S? cp )+ S? ')' /* */
/* */
[VC: ÄY®æªº²Õ/°Ñ¼Æ¹êÊ^´O®M]
[50]    seq    ::=    '(' S? cp ( S? ',' S? cp )* S? ')' /* */
[VC: ÄY®æªº²Õ/°Ñ¼Æ¹êÊ^´O®M]

¨ä¤¤¨C¤@­Ó Name ¬O¥i¥H§@¬°¤l¤¸¯Àªº¤¸¯ÀªºÃþ«¬¡C¿ï¾Üªí¤¤¥X²{ªº¥ô·N¤º®e²É¤l¦b¤¸¯À«¬¤º®e¤¤¤¹³\¥X²{ªº¦ì¸m¹ïÀ³¤_¿ï¾Üªí¦b¤åªk¤¤ªº¦ì¸m¡C§Ç¦Cªí¤¤¥X²{ªº©Ò¦³¤º®e²É¤l¥²¶·¥H¬Û¦Pªº¶¶§Ç¥X²{¦b¤¸¯À«¬¤º®e¤¤¡C¦b¦W¦r©Îªí¤§¦Zªº¥i¿ï¦r²Å¡]optional character¡^¨M©w¤Fªí¤¤¤¸¯À©Î¤º®e²É¤l¥i¥H¥X²{¤@¦¸©Î¦h¦¸¡]+¡^¡AÁÙ¬O¹s¦¸©Î¦h¦¸¡]*¡^¡A©Î¬O¹s¦¸©Î¤@¦¸¡]?¡^¡C¨S¦³³o¼Ë¤@­Ó¾Þ§@²Å·N¨ýµÛ¤¸¯À©Î¤º®e²É¤l¥²¶·«ê¦n¥X²{¤@¦¸¡C³oÏú»yªk©M·N¸q©M¥»³W­S¤¤ªº²£¥Í¦¡¤¤©Ò¨Ï¥Îªº¬Û¦P¡C

·í¥B¶È·í¤@­Ó¤¸¯Àªº¤º®e¥i¥H³q¹Lº¡¨¬¤º®e¼Ò«¬¤¤ªº¿ï¾Ü¡A§Ç¦C©M­«Î`¾Þ§@²Å±o¨ì¡A¦}¥B¤º®e¤¤ªº¨C¤@­Ó¤¸¯ÀÉO¤º®e¼Ò«¬¤¤ªº¤@Ïú¤¸¯ÀÃþ«¬¬Û¤Ç°t®É¡AºÙ¦¹¤¸¯Àªº¤º®eÉO¸Ó¤º®e¼Ò«¬¬Û¤Ç°t¡C¥X¤_­Ý®e©Ê¦Ò¼{¡A ¦pªG¤å¥óªº¬Y­Ó¤¸¯À¥i¥H©M¤º®e¼Ò«¬¤¤ªº¤@Ïú¤¸¯ÀÃþ«¬¦h¦¸¤Ç°t¡A³o¬O¤@­Ó¿ù»~¡C §ó¸Ô²Óªº«H®§°Ñ¨£"E. ÚÌ©w«¬¤º®e¼Ò«¬".

¦³®Ä©Ê¬ù§ô: ÄY®æªº²Õ/°Ñ¼Æ¹êÊ^´O®M
°Ñ¼Æ¹êÊ^ªº¸m´«¤å¥»¥²¶·¥Ñ¬A¸¹¬A°_ªº²ÕÄY®æ´O®M¡C§Y¡A¦pªG choice¡Aseq ©Î Mixed »yªk¦¨¤Àªº¶}©l©Îµ²§ô¬A¸¹¥X²{¦b¬Y­Ó°Ñ¼Æ¹êÊ^ªº¸m´«¤å¥»¤¤¡A¨âªÌ¥²¶·¦P¦b¦¹¸m´«¤å¥»¤¤¡C

¥X¤_¤¬¾Þ§@©Ê¦Ò¼{¡A¦pªG¤@­Ó°Ñ¼Æ¹êÊ^¤Þ¥Î¥X²{¦bchoice¡Aseq©ÎMixed»yªk¦¨¤À¤¤®É¡A¥¦ªº¸m´«¤å¥»¦Ü¤ÖÀ³¸Ó¥]§t¤@­Ó«DªÅ¦r²Å¡A¦P®É¨ä¸m´«¤å¥»ªº²Ä¤@­Ó©M³Ì¦Z¤@­Ó«DªÅ¦r²Å³£¤£À³¬°¤@­Ó³s±µ²Å¡]| ©Î ,¡^¡C

¤¸¯À«¬¤º®eªº¼Ò«¬Á|¨Ò¡G

<!ELEMENT spec (front, body, back?)>
<!ELEMENT div1 (head, (p | list | note)*, div2*)>
<!ELEMENT dictionary-body (%div.mix; | %dict.mix;)*>

3.2.2 ²V¦X«¬¤º®e¡]Mixed Content¡^

[©w¸q¡G·í¬Y¤¸¯ÀÃþ«¬¥i¥H¥]§t¦r²Å¼ÆÕu¡A¨ä¶¡¥i¥HÀH·N¬ï´¡¤l¤¸¯À®É¡AºÙ¦¹¤¸¯ÀÃþ«¬¨ã¦³²V¦X«¬¤º®e¡C] ¦b³oÏú±¡ªp¤U¡A¹ï¤l¤¸¯ÀªºÃþ«¬¥i¯à¦³©Ò­­¨î¡A¦ý¹ï¥¦­Ìªº¦¸§Ç©M¥X²{¦¸¼Æ¨S¦³­­¨î¡G

²V¦X«¬¤º®eÁn©ú
[51]    Mixed    ::=    '(' S? '#PCDATA' (S? '|' S? Name)* S? ')*'
| '(' S? '#PCDATA' S? ')' [VC: ÄY®æªº²Õ/°Ñ¼Æ¹êÊ^´O®M]
[VC: µL­«Î`Ãþ«¬]

¨ä¤¤ Name µ¹¥X¤F¤l¤¸¯Àªº¤¸¯ÀªºÃþ«¬¡CÃöÁä¦r #PCDATA ¨Ó¦Û³N»y"¤wªR¦r²Å¼ÆÕu¡]parsed character data¡^"¦Ó¨Ó

¦³®Ä©Ê¬ù§ô: µL­«Î`Ãþ«¬
¦P¤@¦W¦r¦b³æ­Ó²V¦X«¬¤º®eÁn©ú¤¤¥u¯à¥X²{¤@¦¸¡C

²V¦X¤º®eÁn©úªº¨Ò¤l¡G

<!ELEMENT p (#PCDATA|a|ul|b|i|em)*>
<!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* >
<!ELEMENT b (#PCDATA)>

3.3 ÄݩʪíÁn©ú

ÄݩʥΤ_ÃöÁp¦W¦r-­È¹ï©M¤¸¯À¡CÄݩʭȻ¡©ú¥u¯à¦b°_©l¼Ðñ©MªÅ¤¸¯À¼Ðñ¤¤¥X²{; ¦]¦¹¡A¥Î¤_ÃѧO¥¦­Ìªº²£¥Í¦¡¥X²{¦b"3.1 °_©l¼Ðñ¡Aµ²§ô¼Ðñ©MªÅ¤¸¯À¼Ðñ"¤¤¡CÄݩʪíÁn©ú¥i¥H¥Î¤_¡G

  • ©w¸qÉO¤@µ¹©w¤¸¯ÀÃþ«¬¦³ÃöªºÄݩʶ°¡C
  • ÚÌ©w³o¨ÇÄݩʪºÃþ«¬­­¨î¡C
  • ´£¨ÑÄݩʪº¯Ê¬Ù­È¡C

[©w¸q¡GÄݩʪíÁn©ú¸Ô²Ó»¡©ú¤FÉOµ¹©w¤¸¯ÀÃþ«¬¬ÛÃöÁpªº¨C¤@­ÓÄݩʪº¦W¦r¡A¼ÆÕuÃþ«¬©M¯Ê¬Ù­È¡]¦pªG¦³ªº¸Ü¡^¡G]

ÄݩʪíÁn©ú
[52]    AttlistDecl    ::=    '<!ATTLIST' S Name AttDef* S? '>'
[53]    AttDef    ::=    S Name S AttType S DefaultDecl

AttlistDecl ³W«h¤¤ Name ¬O¤¸¯ÀªºÃþ«¬¡C¥Ñ¨Ï¥ÎªÌ¿ï¾Ü¡A·íÄÝ©ÊÁn©ú¬ÛÃöªº¤¸¯ÀÃþ«¬¨S¦³³QÁn©ú®É¡AXML ³B²z¾¹¥i¥Hµ¹¥X¤@­Óĵ§i¡A¦ý³o¤£¬O¤@­Ó¿ù»~¡CAttDef ³W«h¤¤ªº Name ¬OÄݩʪº¦W¦r¡C

·íÉO¬Y­Óµ¹©w¤¸¯ÀÃþ«¬¬ÛÃöªº AttlistDecl ¶W¹L¤@­Ó®É¡A³o¨ÇÁn©ú¤¤ªº¤º®e³Q¦X¦}¦b¤@°_¡C·íµ¹©w¤¸¯ÀÃþ«¬ªº¬Y­ÓÄݩʪº©w¸q¶W¹L¤@­Ó®É¡A¸j©w²Ä¤@­Ó©w¸q¡A¨ä§E©w¸q³Q©¿²¤¡C¥X¤_¤¬¾Þ§@©Ê¦Ò¼{¡ADTD ªº§@ªÌ¥i¥H³o¼Ë°µ¡G¤@­Óµ¹©wªº¤¸¯ÀÃþ«¬¦Ü¦h¦³¤@­ÓÄݩʪíÁn©ú¡A¤@­ÓÄÝ©Êªí¤¤¤@­Óµ¹©wªºÄݩʦW¦Ü¦h¦³¤@­ÓÄݩʩw¸q¡A¨C­ÓÄݩʪíÁn©ú¦Ü¤Ö¦³¤@­ÓÄݩʩw¸q¡C¥X¤_¤¬¾Þ§@©Ê¦Ò¼{¡A·í¤@­Óµ¹©w¤¸¯À¦³¶W¹L¤@­ÓªºÄݩʪíÁn©ú©Î¤@­Óµ¹©wÄݩʦ³¶W¹L¤@­ÓªºÄݩʩw¸q®É¡AXML ³B²z¾¹¥i¥H¡A¥Ñ¨Ï¥ÎªÌ¿ï¾Ü¡Aµ¹¥Xĵ§i¡A¦ý³o¤£¬O¤@­Ó¿ù»~¡C

3.3.1 ÄÝ©ÊÃþ«¬

XML Äݩʦ³¤TÏúÃþ«¬¡G¦r²Å¦êÃþ«¬¡A¤@²Õ°O¸¹¤ÆÃþ«¬©MªTÁ|Ãþ«¬¡C¦r²Å¦êÃþ«¬¥i¥H¥H¥ô·N±`¶q¦r²Å¦ê¬°­È; ¦U­Ó°O¸¹¤ÆÃþ«¬¦³¤£¦Pªºµüªk©M»y¸q¬ù§ô¡C¤åªk¤¤«ü¥Xªº¦³®Ä©Ê¬ù§ôÓì¥Î¤_ÄݩʭȤw«ö 3.3 ¸` 3.3 ÄݩʪíÁn©ú¤¤©Ò­z³W­S¤Æ¤F¤§¦Zªº±¡ªp¡C

ÄÝ©ÊÃþ«¬
[54]    AttType    ::=    StringType | TokenizedType | EnumeratedType
[55]    StringType    ::=    'CDATA'
[56]    TokenizedType    ::=    'ID' [VC: ID]
[VC: ¨CÏú¤¸¯ÀÃþ«¬¤@­Ó ID]
[VC: ID Äݩʪº¯Ê¬Ù­È]
| 'IDREF' [VC: IDREF]
| 'IDREFS' [VC: IDREF]
| 'ENTITY' [VC: ¹êÊ^¦W]
| 'ENTITIES' [VC: ¹êÊ^¦W]
| 'NMTOKEN' [VC: ¦W¦r°O¸¹]
| 'NMTOKENS' [VC: ¦W¦r°O¸¹]

¦³®Ä©Ê¬ù§ô: ID
ID Ãþ«¬ªº­È¥²¶·¤Ç°t Name ²£¥Í¦¡¡C§@¬°¦¹Ãþ«¬­Èªº¦W¦r¥u¯à¦b XML ¤å¥ó¤¤¥X²{¤@¦¸¡F§Y¡AID Ãþ«¬ªº­È¥²¶·¯à°ß¤@¼ÐÃѤ¸¯À¡C

¦³®Ä©Ê¬ù§ô: ¨CÏúÄÝ©ÊÃþ«¬¤@­ÓID
¨CÏúÄÝ©ÊÃþ«¬¥u¯à¦³¤@­Ó ID ÄݩʡC

¦³®Ä©Ê¬ù§ô: ID Äݩʪº¯Ê¬Ù­È
ID Äݩʥ²¶·¦³¤@­ÓÁn©ú¬° #IMPLIED ©Î #REQUIRED ªº¯Ê¬Ù­È¡C

¦³®Ä©Ê¬ù§ô: IDREF
IDREF Ãþ«¬ªº­È¥²¶·¤Ç°t Name ²£¥Í¦¡¡AIDREFS Ãþ«¬ªº­È¥²¶·¤Ç°t Names ²£¥Í¦¡¡F¨C¤@­Ó Name ¥²¶·¤Ç°t XML ¤å¥ó¤¤¬Y¨Ç¤¸¯À ID Äݩʪº­È¡F¤]´N¬O»¡¡AIDREF Ãþ«¬ªº­È¥²¶·¤Ç°t¬Y¨Ç ID Äݩʪº­È¡C

¦³®Ä©Ê¬ù§ô: ¹êÊ^¦W
ENTITY Ãþ«¬ªº­È¥²¶·¤Ç°t Name ²£¥Í¦¡¡AENTITIES Ãþ«¬ªº­È¥²¶·¤Ç°t Names ²£¥Í¦¡¡F¨C¤@­Ó Name ¥²¶·¤Ç°t ¥¼ªR¹êÊ^ªº¦W¦r¡C

¦³®Ä©Ê¬ù§ô: ¦W¦r°O¸¹
NMTOKEN Ãþ«¬ªº­È¥²¶·¤Ç°t Nmtoken ²£¥Í¦¡¡FNMTOKENS Ãþ«¬ªº­È¥²¶·¤Ç°t Nmtokens ²£¥Í¦¡¡C

[©w¸q¡GªTÁ|Ãþ«¬ªºÄݩʥi¥H¦bÁn©ú¤¤´£¨Ñªº¨ú­Èªí¤¤¨ú­È¡C] ¦³¨âÏúªTÁ|Ãþ«¬¡G

ªTÁ|ÄÝ©ÊÃþ«¬
[57]    EnumeratedType    ::=    NotationType | Enumeration
[58]    NotationType    ::=    'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' [VC: °OªkÄÝ©Ê]
[VC: ¨CÏúÄÝ©ÊÃþ«¬¤@Ïú°Oªk]
[VC: ªÅ¤¸¯À¨S¦³°Oªk]
[59]    Enumeration    ::=    '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')' [VC: ªTÁ|]

¤@­Ó NOTATION Ãþ«¬ªºÄݩʼÐÃѤF¤@Ïú¥Î¤_¸ÑÄÀÉO¦¹ÄݩʬÛÃöªº¤¸¯Àªº°Oªk¡A¦¹°Oªk¤¤¥Î¨t²Î©Î¤½¦@¼ÐÃѲŦb DTD ¤¤Án©ú¡C

¦³®Ä©Ê¬ù§ô: °OªkÄÝ©Ê
¦¹Ãþ«¬ªº­È¥²¶·ÉOÁn©ú¤¤©Ò¥]§tªº°Oªk¦W¤§¤@¬Û¤Ç°t;Án©ú¤¤ªº©Ò¦³°Oªk¦W³£¥²¶·Án©ú¡C

¦³®Ä©Ê¬ù§ô: ¨CÏúÄÝ©ÊÃþ«¬¤@Ïú°Oªk

¨CÏú¤¸¯ÀÃþ«¬ªº NOTATION Äݩʤ£¯à¦h¤_¤@­Ó¡C

¦³®Ä©Ê¬ù§ô: ªÅ¤¸¯À¨S¦³°Oªk

¥X¤_­Ý®e©Ê¦Ò¼{¡AÁn©ú¬° EMPTY ªº¤¸¯À¤£¯àÁn©úÃþ«¬¬° NOTATION ªºÄݩʡC

¦³®Ä©Ê¬ù§ô: ªTÁ|
¦¹Ãþ«¬ªº­È¥²¶·ÉOÁn©ú¤¤©Ò¥]§tªº Nmtoken °O¸¹¤§¤@¬Û¤Ç°t¡C

¥X¤_¤¬¾Þ§@©Ê¦Ò¼{¡A¦P¤@ Nmtoken ¥u¯à¦b³æ­Ó¤¸¯ÀÃþ«¬ªºªTÁ|ÄÝ©ÊÃþ«¬¤¤¥X²{¤@¦¸¡C

3.3.2 Äݩʯʬ٭È

ÄÝ©ÊÁn©ú´£¨Ñªº«H®§«ü©ú¤F¬YÄݩʬO§_¥²¶·¥X²{¡A¦P®É«ü©ú¤F¦b³QÁn©úªºÄݩʤ£¬O¥²¶·¥X²{¦Ó¤å¥ó¤¤¨S¦³¥X²{¦¹Äݩʪº±¡ªp¤U¡AXML ³B²z¾¹À³¦p¦ó³B²z¡C

Äݩʯʬ٭È
[60]    DefaultDecl    ::=    '#REQUIRED' | '#IMPLIED'
| (('#FIXED' S)? AttValue) [VC: ¥²¶·ªºÄÝ©Ê]
[VC: ¦XªkªºÄݩʯʬ٭È]
[WFC: ¦bÄݩʭȤ¤µL < ]
[VC: ©T©wªºÄݩʯʬ٭È]

¦b¤@­ÓÄÝ©ÊÁn©ú¤¤¡A#REQUIRED ªí¥Ü¥²¶·Á`¬O´£¨Ñ¦¹ÄݩʡA#IMPLIED ªí¥Ü¤£´£¨Ñ¯Ê¬Ù­È¡C¦pªGÁn©ú¬J¤£¬O #REQUIRED¡A¤]¤£¬O #IMPLIED¡A¨º¤\ AttValue ­È¥]§t¤F©ÒÁn©úªº¯Ê¬Ù­È;ÃöÁä¦r #FIXED ³W©w¦¹Äݩʥ²¶·Á`¬O¦³¯Ê¬Ù­È¡C¦pªGÁn©ú¤F¤@­Ó¯Ê¬Ù­È¡A·í XML ³B²z¾¹¹J¨ì¤@­Ó³Q¬Ù²¤ªºÄݩʮɡA¥¦±N·í¦¨¦¹ÄݩʥH¯Ê¬Ù­È¥X²{

¦³®Ä©Ê¬ù§ô: ¥²¶·ªºÄÝ©Ê
¦pªG¯Ê¬Ù­ÈÁn©ú¬OÃöÁä¦r #REQUIRED¡A¨º¤\ÄݩʪíÁn©ú©Ò«üÃþ«¬ªº¤¸¯À¤¤³£¥²¶·¦³¦¹ÄݩʡC

¦³®Ä©Ê¬ù§ô: ¦XªkªºÄݩʯʬ٭È
³QÁn©úªºÄݩʯʬ٭ȥ²¶·º¡¨¬³QÁn©úªºÄÝ©ÊÃþ«¬ªºµüªk¬ù§ô¡C

¦³®Ä©Ê¬ù§ô: ©T©wªºÄݩʯʬ٭È
¦pªG¬YÄݩʪº¯Ê¬Ù­È¥ÎÃöÁä¦r #FIXED Án©ú¡A¦¹Äݩʪº©Ò¦³¹ê¨Ò¥²¶·¤Ç°t¸Ó¯Ê¬Ù­È¡C

ÄݩʪíÁn©úªº¨Ò¤l¡G

<!ATTLIST termdef
          id      ID      #REQUIRED
          name    CDATA   #IMPLIED>
<!ATTLIST list
          type    (bullets|ordered|glossary)  "ordered">
<!ATTLIST form
          method  CDATA   #FIXED "POST">

3.3.3 ÄÝ©Ê-­È¹ïªº³W­S¤Æ¡]Attribute-Value Normalization¡^

¦b±NÄݩʪº­È¶Çµ¹À³¥Î©ÎÀËÅç¨ä¦³®Ä©Ê¤§«e¡AXML ³B²z¾¹¥²¶·¨Ï¥Î¤U­±ªººâªk¡]©Î¨Ï¥Î¨ä¥L¯à¨Ï¶Çµ¹À³¥Îªº­ÈÉO¥Î¦¹ºâªk±o¨ìªº­È¬Û¦Pªº¤èªk¡^±N¨ä³W­S¤Æ¡C

  1. ©Ò¦³ªº¦æ§À¥²¶·¦b¿é¤J®É¦p 2.11 ¦æ§À³B²z¤¤©Ò­z³W­S¦¨ #xA¡A¥»ºâªkªº¨ä§E³¡¤À§@¥Î¤_¥H¦¹¤èªk³W­S¤Æ¤§¦Zªº¤å¥»¡C

  2. ¶}©l®É³W­S¤Æ¤§¦Zªº­È¥]§tªÅ¦r²Å¦ê¡C

  3. ¹ï¤_¥¼¸g³W­S¤ÆªºÄݩʭȤ¤ªº¨C­Ó¦r²Å¡A¹êÊ^¤Þ¥Î©Î¦r²Å¤Þ¥Î¡A±q²Ä¤@­Ó¶}©l¡Aª½¨ì³Ì¦Z¤@­Ó¡A°µ¦p¤U¾Þ§@¡G

    • ¹ï¤_¤@­Ó¦r²Å¤Þ¥Î¡A±N¨ä©Ò¤Þ¥Îªº¦r²Å¥[¦b³W­S¤Æ¤§¦Zªº­Èªº¥½§À¡C

    • ¹ï¤_¤@­Ó¹êÊ^¤Þ¥Î¡A¹ï¦¹¹êÊ^ªº¸m´«¤å¥»»¼Âk¦a¨Ï¥Î¥»ºâªkªº²Ä 3 ¨B¡C

    • ¹ï¤_¤@­ÓªÅ¥Õ¦r²Å¡]#x20, #xD, #xA, #x9¡^¡A¦b³W­S¤Æ¤§¦Zªº­Èªº¥½§À¥[¤@­ÓªÅ®æ¦r²Å¡]#x20¡^¡C

    • ¹ï¤_¨ä¥L¦r²Å¡A±N¨ä¥[¦b³W­S¤Æ¤§¦Zªº­Èªº¥½§À¡C

¦pªGÄݩʭȪºÃþ«¬¤£¬O CDATA¡A¨º¤\ XML ³B²z¾¹¥²¶·Ä~Äò³B²z³W­S¤Æ¤§¦Zªº­È¡A¥h±¼¨ä«e¾É©M§ÀÀHªÅ®æ¡]#x20¡^¦r²Å¡A¦}±NªÅ®æ¡]#x20¡^¦r²Å§Ç¦C´À´«¦¨³æ­ÓªÅ®æ¡]#x20¡^¦r²Å¡C

ª`·N¡A¦pªG¥¼¸g³W­S¤ÆªºÄݩʭȤ¤¥]§t¹ïªÅ®æ¦r²Å¡]#x20¡^¥H¥~ªºªÅ¥Õ¦r²Åªº¤Þ¥Î¡A¨º¤\³W­S¤Æ¤§¦Zªº­È¥]§t³Q¤Þ¥Îªº¦r²Å¥»¨­¡]#xD, #xA or #x9¡^¡A¦Ó¤£¬OªÅ®æ¡]#x20¡^¡C³oÉO¥¼¸g³W­S¤ÆªºÄݩʭȤ¤¥]§tªÅ¥Õ¦r²Å¡]¤£¬O¤Þ¥Î¡^ªº±¡ªp¤£¦P¡A¦b¨ºÏú±¡ªp¤UªÅ¥Õ¦r²Å³Q¸m´«¦¨ªÅ®æ¦r²Å¡]#x20¡^¡C¦P®É³o¤]ÉO¥¼¸g³W­S¤ÆªºÄݩʭȤ¤©Ò¥]§tªº¹êÊ^¤Þ¥Îªº¸m´«¤å¥»¤¤¥]§tªÅ¥Õ¦r²Åªºªº±¡ªp¤£¦P¡A¦b¨ºÏú±¡ªp¤U¡A¹êÊ^¤Þ¥Îªº¸m´«¤å¥»³Q»¼Âk³B²z¡AªÅ¥Õ¦r²Å³Q¸m´«¦¨ªÅ®æ¦r²Å¡]#x20¡^¡C

¤£¶i¦æÅçµýªº³B²z¾¹À³¸Ó±N©Ò¦³©|¥¼Åª¨ì¨äÁn©úªºÄÝ©Ê·í¦¨Án©ú¬° CDATA ³B²z¡C

¥H¤U¬OÄݩʳW­S¤Æªº¨Ò¤l¡C¦³¦p¤UÁn©ú¡G

<!ENTITY d "&#xD;">
<!ENTITY a "&#xA;">
<!ENTITY da "&#xD;&#xA;">

¤Uªí¤¤¥ªÃä¤@¦C¤¤ªºÄݩʭȻ¡©ú¦b a Án©ú¬° NMTOKENS ªº±¡ªp¤U³W­S¤Æ¬°¤¤¶¡¤@¦Cªº¦r²Å§Ç¦C¡A¦b a Án©ú¬° CDATA ªº±¡ªp¤U³W­S¤Æ¬°¥kÃä¤@¦C¤¤ªº¦r²Å§Ç¦C¡C

¥¼ªR¹êÊ^TH>ÄݩʭȻ¡©ú
a Án©ú¬° NMTOKENS a Án©ú¬° CDATA
a="

xyz"
x y z #x20 #x20 x y z
a="&d;&d;A&a;&a;B&da;"
A #x20 B #x20 #x20 A #x20 #x20 B #x20 #x20
a=
"&#xd;&#xd;A&#xa;&#xa;B&#xd;&#xa;"
#xD #xD A #xA #xA B #xD #xA #xD #xD A #xA #xA B #xD #xD

ª`·N¡A¦b a Án©ú¬° NMTOKENS Ãþ«¬ªº±¡ªp¤U¡A³Ì¦Z¤@­Ó¨Ò¤l¤£¬O¦³®Äªº¡]¦ý¬O¬O®æ¦¡¥¿Ú̪º¡^¡C

3.4 ±ø¥ó¬q¡]Conditional Sections¡^

[©w¸q¡G±ø¥ó¬q¬O¤å¥óÃþ«¬Án©ú¥~³¡¤l¶°ªº¤@³¡¤À¡A¨ú¨M¤_¬ÛÀ³ªºÃöÁä¦r¡A¥¦­Ì©Î³Q¥]§t¦b DTD ÅÞ¿èµ²ÌÛ¤§¤º¡A©Î³Q±Æ°£¦b DTD ÅÞ¿èµ²ÌÛ¤§¥~¡C]

±ø¥ó¬q
[61]    conditionalSect    ::=    includeSect | ignoreSect
[62]    includeSect    ::=    '<![' S? 'INCLUDE' S? '[' extSubsetDecl ']]>' /* */
[VC: ÄY®æªº±ø¥ó¬q/°Ñ¼Æ¹êÊ^´O®M]
[63]    ignoreSect    ::=    '<![' S? 'IGNORE' S? '[' ignoreSectContents* ']]>' /* */
[VC: ÄY®æªº±ø¥ó¬q/°Ñ¼Æ¹êÊ^´O®M]
[64]    ignoreSectContents    ::=    Ignore ('<![' ignoreSectContents ']]>' Ignore)*
[65]    Ignore    ::=    Char* - (Char* ('<![' | ']]>') Char*)

¦³®Ä©Ê¬ù§ô: ÄY®æªº±ø¥ó¬q/°Ñ¼Æ¹êÊ^´O®M

¦pªG¤@­Ó±ø¥ó¬qªº "<!["¡A"[" ©Î "]]>" ¤¤ªº¥ô·N¤@­Ó¥]§t¦b¤@­Ó°Ñ¼Æ¹êÊ^¤¤ªº¸m´«¤å¥»¤¤¡A¥¦­Ì¥²¶·¥þ³¡¦b¦¹¦P¤@¸m´«¤å¥»¤¤¡C

¦P¤º³¡©Î¥~³¡ DTD ¤l¶°¤@¼Ë¡A±ø¥ó¬q¥i¥H¥]§t¤@­Ó©Î¦h­Ó§¹¾ãªºÁn©ú¡Aª`ÄÀ¡A³B²z«ü¥O¡A©Î´O®Mªº±ø¥ó¬q¡A¨ä¶¡¥i¥H§¨ÂøªÅ¥Õ¡C

¦pªG±ø¥ó¬qªºÃöÁä¦r¬O INCLUDE¡A¨º¤\±ø¥ó¬qªº¤º®e¬O DTD ªº¤@³¡¤À¡A¦pªG±ø¥ó¬qªºÃöÁä¦r¬O IGNORE¡A¨º¤\±ø¥ó¬qªº¤º®eÅÞ¿è¤W¤£¬O DTD ªº¤@³¡¤À¡C¦pªG¤@­ÓÃöÁä¦r¬° INCLUDE ªº±ø¥ó¬q¥X²{¦b§ó¤jªºÃöÁä¦r¬° IGNORE ªº±ø¥ó¬q¤¤¡A¤º¥~¨â­Ó±ø¥ó¬q³£³Q©¿²¤¡C¦b¹ï³Q©¿²¤ªº±ø¥ó¬qªº¤º®e¶i¦æ»yªk¤ÀªR®É¡A±qºòÀHÃöÁä¦rªº "[" ¤§¦Z¶}©l¡A°£¤F±ø¥ó¬qªº¶}©l "<![" ©Mµ²§À "]]>" ¥H¥~ªº©Ò¦³¦r²Å³£³Q©¿²¤¡Aª½¨ì§ä¨ì¬Û¤Ç°tªº±ø¥ó¬qµ²§À¡C¦b¦¹¹Lµ{¤¤°Ñ¼Æ¹êÊ^¤£³QÃѧO¡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' >
<!ENTITY % final 'IGNORE' >
 
<![%draft;[
<!ELEMENT book (comments*, title, body, supplements?)>
]]>
<![%final;[
<!ELEMENT book (title, body, supplements?)>
]]>

4. ª«²zµ²ÌÛ

[©w¸q¡G¤@­Ó XML ¤å¥ó¥i¯à¥]§t¤@­Ó©Î¦h­Ó¦sÀx³æ¤¸¡C¥¦­Ì³QºÙ¬°¹êÊ^¡]entity¡^;¥¦­Ì³£¨ã¦³¤º®e¦}¥B³£¥Î¦W¦r¶i¦æ¼ÐÃÑ¡]°£¤F¤å¥ó¹êÊ^¡A¨£¤U¡A©M¥~³¡ DTD ¤l¶°¤§¥~¡^¡C] ¨C¤@­Ó XML ¤å¥ó¦³¤@­ÓºÙ¬°¤å¥ó¹êÊ^ªº¹êÊ^¡A¥¦§@¬° XML ³B²z¾¹³B²zªº°_ÂI¦}¥i¯à¥]§t¤F¾ã­Ó¤å¥ó¡C

¹êÊ^¥i¥H¬O¤wªRªº©Î¥¼ªRªº¡C[©w¸q¡G¤wªR¹êÊ^¡]parsed entity¡^ªº¤º®e³QºÙ¬°¥¦ªº¸m´«¤å¥»;¦¹¤å¥»³Q¬Ý¦¨¬O¤å¥ó¾ãÊ^ªº¤@³¡¤À¡C]

¥¼ªR¹êÊ^¡]unparsed entity¡^¬O¤@Ïú¸ê·½¡A¨ä¤º®e¥i¥H¬O¤]¥i¥H¤£¬O¤å¥»¡A¦}¥B¡A¦pªG¬O¤å¥»ªº¸Ü¡A¥i¥H¤£¬O XML ¤å¥»¡C¨C¤@­Ó¥¼ªR¹êÊ^¦³¤@­Ó¬ÛÃöÁpªº¥Î¦W¦r¼ÐÃѪº°Oªk¡C°£¤F­n¨D XML ³B²z¾¹¯à¦VÀ³¥Î´£¨Ñ¹êÊ^©M°Oªkªº¼ÐÃѲŤ§¥~¡AXML ¹ï¥¼ªR¹êÊ^ªº¤º®e¤£§@¥ô¦ó­­¨î¡C]

¤wªR¹êÊ^¥H¹êÊ^¤Þ¥Îªº¤è¦¡¨Ï¥Î¦W¦r¨Ó½Õ¥Î;¥¼ªR¹êÊ^¥Î ENTITY ©Î ENTITIES Äݩʤ¤µ¹¥Xªº¦W¦r½Õ¥Î¡C

[©w¸q¡G´¶³q¹êÊ^¡]general entity¡^¬O¨º¨Ç¦b¤å¥ó¤º®e¤¤¨Ï¥Îªº¹êÊ^¡C¦b¥»³W­S¤¤¡A´¶³q¹êÊ^¦³®É¥Î¥¼­×¹¢ªº³N»yentity¨Óªí¥Ü¡C] [©w¸q¡G°Ñ¼Æ¹êÊ^¬O¥Î¤_ DTD ¤ºªº¤wªR¹êÊ^¡C]³o¨âÃþ¹êÊ^¥Î¤£¦P§Î¦¡ªº¤Þ¥Î¡A¦b¤£¦Pªº¤W¤U¤å¤¤ÃѧO¡C¥t¥~¡A¥¦­Ì¨Ï¥Î¤£¦Pªº¦W°ì¡F¨ã¦³¬Û¦P¦W¦rªº°Ñ¼Æ¹êÊ^©M´¶³q¹êÊ^¬O¨â­ÓºIµM¤£¦Pªº¨â­Ó¹êÊ^¡C

4.1 ¦r²Å©M¹êÊ^¤Þ¥Î¡]Character and Entity References¡^

¤@­Ó¦r²Å¤Þ¥Î¤Þ¥Î ISO/IEC 10646 ¦r²Å¶°¤¤ªº¤@­Ó¦r²Å¡C¨Ò¦p¤£¯à¥Î¿é¤J³]³Æª½±µ¿é¤Jªº¦r²Å¡C

¦r²Å¤Þ¥Î
[66]    CharRef    ::=    '&#' [0-9]+ ';'
| '&#x' [0-9a-fA-F]+ ';' [WFC: ¦Xªk¦r²Å]

®æ¦¡¥¿Ú̩ʬù§ô: ¦Xªk¦r²Å
¥Î¦r²Å¤Þ¥Î¤Þ¥Îªº¦r²Å¥²¶·¤Ç°t Char ²£¥Í¦¡¡C

¦pªG¦r²Å¤Þ¥Î¥H "&#x" ¶}ÀY¡Aª½¨ì²×µ² ; ªº¼Æ¦r©M¦r¥À´£¨Ñ¤F¬Y¦r²Å¦b ISO/IEC 10646 ¤¤¥N½Xªº¤@­Ó¤Q¤»¶i¨îªí¥Ü¡C¦pªG¥¦¶È¥H "&#" ¶}ÀY¡Aª½¨ì²×µ² ; ªº¼Æ¦r´£¨Ñ¤F¬Y¦r²Åªº¥N½Xªº¤Q¶i­Èªí¥Ü¡C

¹êÊ^¤Þ¥Î¡]entity reference¡^¤Þ¥Î¤@­Ó©R¦W¹êÊ^ªº¤º®e¡C¹ï¤wªR´¶³q¹êÊ^ªº¤Þ¥Î¨Ï¥Î "and" ¸¹¡]&¡^©M¤À¸¹¡];¡^§@¬°©w¬É²Å¡C°Ñ¼Æ¹êÊ^¤Þ¥Î«h¨Ï¥Î¦Ê¤À¸¹¡]%¡^©M¤À¸¹¡];¡^§@¬°©w¬É²Å¡C

¹êÊ^¤Þ¥Î
[67]    Reference    ::=    EntityRef | CharRef
[68]    EntityRef    ::=    '&' Name ';' [WFC: Án©ú¹êÊ^]
[VC: Án©ú¹êÊ^]
[WFC: ¤wªR¹êÊ^]
[WFC: µL»¼Âk]
[69]    PEReference    ::=    '%' Name ';' [VC: Án©ú¹êÊ^]
[WFC: µL»¼Âk]
[WFC: ¦b DTD ¤º]

®æ¦¡¥¿Ú̩ʬù§ô: Án©ú¹êÊ^
¦b¤@­Ó¨S¦³¥ô¦ó DTD ªº¤å¥ó¡A©Î¤@­Ó¥u¦³¤£¥]§t°Ñ¼Æ¹êÊ^¤Þ¥Îªº¤º³¡ DTD ¤l¶°ªº¤å¥ó¡A©Î¤@­Ó "standalone='yes'" ªº¤å¥ó¤º¡A¤£¦b¥~³¡¤l¶°©Î°Ñ¼Æ¹êÊ^¤ºªº¹êÊ^¤Þ¥Î¤¤µ¹¥Xªº Name ¥²¶·ÉO¤£¦b¥~³¡¤l¶°©Î°Ñ¼Æ¹êÊ^¤º¹êÊ^Án©ú¤¤©Òµ¹¥Xªº¬Û¤Ç°t¡A¦ý®æ¦¡¥¿Ú̪º¤å¥ó¤£»Ý­nÁn©ú¥H¤Uªº³o¨Ç¹êÊ^¡Gamp¡Alt¡Agt¡Aapos ©M quot¡C´¶³q¹êÊ^ªºÁn©ú¥²¶·¥ý¤_¥ô¦ó¦bÄݩʪíÁn©ú¤¤ªº¯Ê¬Ù­È¤¤¥X²{ªº¹ï¥¦ªº¤Þ¥Î¡Cª`·N¡A¹ï¤_¦b¥~³¡¤l¶°©Î¥~³¡°Ñ¼Æ¹êÊ^¤¤Án©úªº¹êÊ^¡A¤£¶i¦æÅçµýªº³B²z¾¹¤£¥²­nŪ¨ú©M³B²z¥¦­ÌªºÁn©ú¡F¹ï³o¨Ç¤å¥ó¡A¶È·í standalone='yes' ®É¡A¹êÊ^¥²¶·³QÁn©úªº³W«h¤~¬O¤@­Ó®æ¦¡¥¿Ú̩ʬù§ô¡C

¦³®Ä©Ê¬ù§ô: Án©ú¹êÊ^
¦b¤@­Ó¦³¥~³¡¤l¶°©Î¥~³¡°Ñ¼Æ¹êÊ^¥B "standalone='no'" ªº¹êÊ^¤¤¡A¹êÊ^¤Þ¥Î¤¤µ¹¥Xªº Name ¥²¶·ÉO¹êÊ^Án©ú¤¤©Òµ¹¥Xªº¬Û¤Ç°t¡C¥X¤_¤¬¾Þ§@©Ê¦Ò¼{¡A¦³®Äªº¤å¥óÀ³¸Ó¥H"4.6 ¹w©w¸q¹êÊ^"¤¤ªºÂ²¤Æ§Î¦¡Án©ú¹êÊ^ amp¡Alt¡Agt¡Aapos ©M quot¡C°Ñ¼Æ¹êÊ^ªºÁn©ú¥²¶·¥ý¤_¥ô¦ó¹ï¥¦ªº¤Þ¥Î¡CÃþ¦ü¦a¡A´¶³q¹êÊ^ªºÁn©ú¥²¶·¥ý¤_¥ô¦ó¦bÄݩʪíÁn©ú¤¤ªº¯Ê¬Ù­È¤¤¥X²{ªº¹ï¥¦ª½±µ©Î¶¡±µªº¤Þ¥Î¡C

®æ¦¡¥¿Ú̩ʬù§ô: ¤wªR¹êÊ^
¹êÊ^¤Þ¥Î¤£¯à¥]§t¤@­Ó¥¼ªR¹êÊ^ªº¦W¦r¡C¥¼ªR¹êÊ^¥u¯à¦bÁn©ú¬° ENTITY ©Î ENTITIES ªºÄݩʭȤ¤¤Þ¥Î¡C

®æ¦¡¥¿Ú̩ʬù§ô: µL»¼Âk
¤wªR¹êÊ^¤£¯àª½±µ©Î¶¡±µ¦a¥]§t¹ï¦Û¨­ªº»¼Âk¤Þ¥Î¡C

®æ¦¡¥¿Ú̩ʬù§ô: ¦b DTD ¤º
°Ñ¼Æ¹êÊ^¤Þ¥Î¥u¯à¦b DTD ¤¤¥X²{¡C

¦r²Å¤Þ¥Î©M¹êÊ^¤Þ¥Îªº¨Ò¤l¡G

Type <key>less-than</key> (&#x3C;) to save options.
This document was prepared on &docdate; and
is classified &security-level;.

°Ñ¼Æ¹êÊ^¤Þ¥Îªº¨Ò¤l¡G

<!-- declare the parameter entity "ISOLat2"... -->
<!ENTITY % ISOLat2
         SYSTEM "http://www.xml.com/iso/isolat2-xml.entities" >
<!-- ... now reference it. -->
%ISOLat2;

4.2 ¹êÊ^Án©ú¡]Entity Declaration¡^

[©w¸q¡G¹êÊ^¥H¦p¤U¤è¦¡Án©ú¡G]

¹êÊ^Án©ú
[70]    EntityDecl    ::=    GEDecl | PEDecl
[71]    GEDecl    ::=    '<!ENTITY' S Name S EntityDef S? '>'
[72]    PEDecl    ::=    '<!ENTITY' S '%' S Name S PEDef S? '>'
[73]    EntityDef    ::=    EntityValue | (ExternalID NDataDecl?)
[74]    PEDef    ::=    EntityValue | ExternalID

¹êÊ^¤Þ¥Î¤¤ªº Name ¼ÐÃѤF¸Ó¹êÊ^;¹ï¤_¥¼ªR¹êÊ^¡AENTITY ©Î ENTITIES Äݩʪº­È¼ÐÃѤF¸Ó¹êÊ^¡C¦pªG¦P¤@¹êÊ^³QÁn©ú¤F¤£¤î¤@¦¸¡A¸j©w²Ä¤@­Ó¹J¨ìªºÁn©ú¡C¥Ñ¨Ï¥ÎªÌ¿ï¾Ü¡A¦pªG¹êÊ^³Q¦h¦¸Án©ú¡AXML ³B²z¾¹¥i¥Hµ¹¥Xĵ§i¡C

4.2.1 ¤º³¡¹êÊ^¡]Internal Entities¡^

[©w¸q¡G¦pªG¹êÊ^©w¸q¬O¤@­Ó EntityValue¡A³Q©w¸qªº¹êÊ^³QºÙ¬°¤º³¡¹êÊ^¡C] ¤º³¡¹êÊ^¨S¦³³æ¿Wªºª«²z¦sÀx¹ï¶H¡A¹êÊ^ªº¤º®e¦bÁn©ú¤¤µ¹¥X¡Cª`·N±`¶q¹êÊ^­È¤¤¤@¨Ç¹êÊ^©M¦r²Å¤Þ¥Îªº³B²z¥i¯à­n¨D²£¥Í¥¿Ú̪º¸m´«¤å¥»¡G°Ñ¨£"4.5 ¤º³¡¸m´«¤å¥»ªºÌÛ³y"¡C

¤º³¡¹êÊ^¬O¤wªR¹êÊ^¡C

¤º³¡¹êÊ^Án©úªº¨Ò¤l¡G

<!ENTITY Pub-Status "This is a pre-release of the
 specification.">

4.2.2 ¥~³¡¹êÊ^¡]External Entities¡^

[©w¸q¡G¦pªG¹êÊ^¤£¬O¤º³¡ªº¡A¨º¤\¥¦¬O¤@­Ó¥~³¡¹êÊ^¡AÁn©ú¦p¤U¡G]

¥~³¡¹êÊ^Án©ú
[75]    ExternalID    ::=    'SYSTEM' SSystemLiteral
| 'PUBLIC' S PubidLiteral S SystemLiteral
[76]    NDataDecl    ::=    S 'NDATA' S Name [VC: Án©ú°Oªk]

¦pªG¦³ NDataDecl¡A¨º¤\³o¬O¤@­Ó´¶³q¥¼ªR¹êÊ^¡F§_«h¥¦¬O¤@­Ó¤wªR¹êÊ^¡C

¦³®Ä©Ê¬ù§ô: Án©ú°Oªk
Name¥²¶·ÉO°Oªkªº¦W¦r¬Û¤Ç°t¡C

[©w¸q¡GSystemLiteral ³QºÙ¬°¸Ó¹êÊ^ªº¨t²Î¼ÐÃѲšC³o¬O¤@­Ó URI ¤Þ¥Î¡]¦b [IETF RFC 2396] ¤¤©w¸q¡A¦b [IETF RFC 2732] ¤¤§ó·s¡^¡A¥i¥H¥Ñ¦¹Àò±o XML ³B²z¾¹ªº¿é¤J¥Î¤_Ì۫ئ¹¹êÊ^ªº¸m´«¤å¥»¡C] ¤ùÂ_¼ÐÃѲš]¥H # ¶}ÀY¡^¥X²{¦b¨t²Î¼ÐÃѲŤ¤¬O¤@­Ó¿ù»~¡C¦pªG¤@­Ó¤ùÂ_¼ÐÃѲŧ@¬°¨t²Î¼ÐÃѲŪº³¡¤Àµ¹¥X¡AXML ³B²z¾¹¥i¥Hµ¹¥X¤@­Ó¿ù»~¡C°£«D¦b¥»³W­S­S³ò¤§¥~¥t¥~µ¹¥X¡]¦p¡A¤@­Ó¯S®í DTD ¤¤©w¸qªº±M¥Î XML ¤¸¯ÀÃþ«¬¡A©Î¤@­Ó¯S®íÀ³¥Î³W­S¤¤©w¸qªº³B²z«ü¥O¡^¡A¬Û¹ï URI «ü¬Û¹ï¤_¹êÊ^Án©ú©Ò¦b¸ê·½ªº¦ì¸m¡C¦]¦¹¡A¤@­Ó URI ¥i¯à¬O¬Û¹ï¤_¤å¥ó¹êÊ^¡A©Î¬Û¹ï¤_¥]§t¥~³¡ DTD ¤l¶°ªº¹êÊ^¡A©Î¬Û¹ï¤_¨ä¥L¤@¨Ç¥~³¡°Ñ¼Æ¹êÊ^¡C

URI ¤Þ¥Î»Ý­n¹ï¬Y¨Ç¦r²Å¶i¦æ½s½X©MÂà¸q¡C¤£¤¹³\¥X²{ªº¦r²Å¥]¬A©Ò¦³«D ASCII ¦r²Å¡A¥H¤Î [IETF RFC 2396] ²Ä 2.4 ¸`¤¤¦C¥Xªº¤£³Q¤¹³\ªº¦r²Å¡A¤«¸¹¡]#¡^¡B¦Ê¤À¸¹¡]%¡^¡^ ©M [IETF RFC 2732] ¤¤¤¹³\ªº¤è¬A¸¹°£¥~¡C¤£³Q¤¹³\ªº¦r²Å¥²¶·¥Î¦p¤Uªº¤èªkÂà¸q¡G

  1. ¨C­Ó¤£³Q¤¹³\ªº¦r²Å­º¥ý³QÂà´«¦¨¤@­Ó©Î¦h­Ó¦r¸`ªº UTF-8 [IETF RFC 2279] ½s½X¡C

  2. ¥ô¦ó¹ïÀ³¤_¤@­Ó¤£³Q¤¹³\ªº¦r²Åªº¤K¦ì²Õ¥Î URI Âà¸qÉó¨îÂà¸q¡]§Y¡A±N¨äÂà´«¦¨%HH¡A¨ä¤¤ HH ¬O¦r¸`­Èªº¤Q¤»¶i¨î°Oªk¡^¡C

  3. ¥Î±o¨ìªº¦r²Å§Ç¦C¸m´«­ì¨Óªº¦r²Å¡C

°£¤F¨t²Î¼ÐÃѲŤ§¥~¡A¥~³¡¼ÐÃѲÅÁÙ¥i¥H¥]§t¤½¦@¼ÐÃѲšC¸Õ¹Ï¦s¨ú¹êÊ^¤º®eªº XML ³B²z¾¹¥i¥H¥Î¤½¦@¼ÐÃѲŸյ۲£¥Í¤@­Ó¥i¿ï URI ¤Þ¥Î¡C¦pªG³B²z¾¹µLªk°µ¨ì³o¤@ÂI¡A¥¦¥²¶·¨Ï¥Î¨t²Î±`¶q¤¤ªº URI ¤Þ¥Î¡C¦b¸ÕµÛ¤Ç°t¤§«e¡A¤½¦@¼ÐÃѲŤ¤©Ò¦³ªÅ¥Õ¦r²Å¦ê¥²¶·³Q³W­S¬°³æ­ÓªÅ®æ¦r²Å¡]#x20¡^¡A¦P®É¥²¶·¥h±¼«e¾É©M§ÀÀHªÅ¥Õ¡C

¥~³¡¹êÊ^Án©úªº¨Ò¤l¡G

<!ENTITY open-hatch
         SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml">
<!ENTITY open-hatch
         PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN"
         "http://www.textuality.com/boilerplate/OpenHatch.xml">
<!ENTITY hatch-pic
         SYSTEM "../grafix/OpenHatch.gif"
         NDATA gif >

4.3 ¤wªR¹êÊ^¡]Parsed Entities¡^

4.3.1 ¤å¥»Án©ú¡]Text Declaration¡^

[©w¸q¡G¨C­Ó¥~³¡¤wªR¹êÊ^À³¸Ó¥H¤å¥»Án©ú§@¬°¶}©l¡C]

¤å¥»Án©ú
[77]    TextDecl    ::=    '<?xml' VersionInfo? EncodingDecl S? '?>'

¤å¥»Án©ú¥²¶·¥H±`¶q§Î¦¡µ¹¥X¡A¦Ó¤£¯à¨Ï¥Î¤wªR¹êÊ^ªº¤Þ¥Î¡C¤å¥»Án©ú¥u¯à¦b¥~³¡¤wªR¹êÊ^ªº¶}ÀY¥X²{¡A¤£¤¹³\¦b¨ä¥L¥ô¦ó¦a¤è¥X²{¡C¦b¥~³¡¤wªR¹êÊ^¤¤ªº¤å¥»Án©ú¤£³Q»{¬°¬O¨ä¸m´«¤å¥»ªº¤@³¡¤À

4.3.2 ®æ¦¡¥¿Ú̪º¤wªR¹êÊ^¡]Well-Formed Parsed Entities¡^

¦pªG¤å¥ó¹êÊ^¤Ç°t document ²£¥Í¦¡¡A¨º¤\¥¦¬O®æ¦¡¥¿Ú̪º¡C¦pªG¥~³¡´¶³q¤wªR¹êÊ^¤Ç°t extParsedEnt