[Cache version from http://trio.co.kr/webrefer/xml/xml10.html; please use the original/canonical URL for this document if possible.]

XML 1.0 ±Ô°Ý Çѱ¹¾î ¹ø¿ª¹®
È®�强 �Û¼º ¾ð¾î

¹ø¿ª¿¡ °ü·ÃÇÑ ÁÖ¼®´Â �Ì »ö»ó�¸·Î Ç¥½ÃÇÏ¿© ¿ø¹® ¹ø¿ª ³»¿ë°ú ±¸ºÐÇÏ¿´´Ù.
CSS �û¿ë�º ¿øº»¿¡ ÁØÇÏ¿© Ç쵂 ÇÑ±Û Ç¥Çö�Ì ¾î»öÇÑ ºÎºÐ�º ¾à°£ Á¶Á¤ÇÏ¿´´Ù.
W3C¿¡¼­ ÇÁ·¹�Ó�» Çã¿ëÇÏÁö ¾Ê¾Æ ÇÁ·¹�Ó�» ¼±Åà ÇÒ ¼ö �Ö°Ô ÇÏ¿´´Ù.
¹ø¿ª¹® Á¦°ø�Ú : Æ®¸®¿� �¥ ÇÁ·£µå Trio ȨÆäÀÌÁö
´Ù¸¥ ±Ô°Ý ¹ø¿ª¹®µé
[HTML 4] [CSS 2] [CSS 1] [XHTML 1.0]
[ ÇÁ·¹�Ó¾ø°Ô º¸±â ] [ ÇÁ·¹�Ó�Ö°Ô º¸±â ] [ ¹Ù´Ú ]
¿µ¹® XML 1.0 ¿ø¹®
¹ø¿ª¹® ½Ã�Û

W3CREC-xml-19980210


Extensible Markup Language (XML) 1.0

1998³â 2¿ù 10�Ï W3C Ãßõ¾È

�Ì ¹ö�ü:
¿µ¹® http://www.w3.org/TR/1998/REC-xml-19980210
¿µ¹® http://www.w3.org/TR/1998/REC-xml-19980210.xml
¿µ¹® http://www.w3.org/TR/1998/REC-xml-19980210.html
¿µ¹® http://www.w3.org/TR/1998/REC-xml-19980210.pdf
¿µ¹® http://www.w3.org/TR/1998/REC-xml-19980210.ps
ÃÖÁ¾ ¹ö�ü:
¿µ¹® http://www.w3.org/TR/REC-xml
�Ì�ü ¹ö�ü:
¿µ¹® http://www.w3.org/TR/PR-xml-971208
�Û¼º�Úµé:
Tim Bray (Textuality and Netscape) mailto:[email protected]
Jean Paoli (Microsoft) ¿µ¹® mailto:[email protected]
C. M. Sperberg-McQueen (University of Illinois at Chicago) ¿µ¹® mailto:[email protected]

¿ä¾à

È®�强 �Û¼º ¾ð¾î (XML: Extensible Markup Language)´Â �Ì ¹®¼­¿¡¼­ ¿Ï�üÈ÷ ¼³¸íµÈ SGML�Ç ÇϺμ¼Æ®(subset)�Ì´Ù. ±× ¸ñÇ¥´Â Ư�¯�Ç SGML�Ì �¥»ó¿¡¼­ �¯ÁöµÇ°í, °³Á¤µÇ°í, 󸮵Ǿî Çö�ç HTML¿¡¼­ »ç¿ë °¡´ÉÇÑ ¹æ½Ä�¸·Î ¸¸µå´Â °Í�Ì´Ù. XML�º SGML °ú HTML¿¡ ´Ù �û¿ëÇÏ°í ¼­·Î Åë¿ë µÉ ¼ö �Öµµ·Ï ½±°Ô ¼³°èµÇ¾ú´Ù.


�Ì ¹®¼­�Ç »óÅÂ

�Ì ¹®¼­´Â W3C�Ç ¸â¹ö¿Í °ü·Ã�Úµé�Ç °ËÅ並 °Åó, �Ó¿øÈ¸�Ç ½Â�Î�» ¹Þ�º »óÅÂ�̹ǷΠ�οëÇÏ°í »ç¿ëÇϴµ¥ ¾È�üÇÏ´Ù.
W3C�Ç Ãßõ¾È Çü¼º ±â´É�º �¥�Ç Åë¿ë¼º�» µ½µµ·Ï ÁÖ�Ǹ¦ ¸ð�¸°í, ±× °á°ú¸¦ ³Î¸® º¸±ÞÇÏ´Â °Í�Ì´Ù. �Ì·¸°Ô ÇÔ�¸·Î¼­ ±× ±â´É¼º°ú »óÈ£ Åë¿ë¼º�» °­È­ÇÑ´Ù.

�Ì ¹®¼­´Â. ±âÁ¸�Ç ³Î¸® »ç¿ëµÇ´Â ¿ùµå¿Í�̵å�¥(World Wide Web)¿¡ »ç¿ëÇϱâ �§ÇÑ ±¹Á¦ ÅØ½ºÆ® ó¸® Ç¥ÁØ(Standard Generalized Markup Language, ISO 8879:1986(E)�Ç ¼öÁ¤ º¸Á¤)�Ç ÇϺΠ¼³Á¤¿¡ �ÇÇÏ¿©. ¹®¹ý�» ÁöÁ¤ÇÑ´Ù. �Ì´Â W3C XML Ȱµ¿¿¡ �ÇÇÏ¿© »ý¼ºµÇ¾ú�¸¸ç, »ó¼¼ÇÑ ³»¿ë�º ¿µ¹® http://www.w3.org/XML¿¡¼­ º¼ ¼ö �Ö´Ù. Çö�ç�Ç W3C Ãßõ¾Èµé°ú ´Ù¸¥ ±â¼ú ¹®¼­µé�Ç ¸ñ·Ï�º ¿µ¹® http://www.w3.org/TR¿¡¼­ º¼ ¼ö �Ö´Ù.

�̱԰Ý�º ¿ë¾î URI�» »ç¿ëÇϴµ¥, �Ì´Â [Berners-Lee et al.]¿¡ �ÇÇÏ¿© Á¤�ÇµÈ °Í�̸ç, ÁøÇàµÇ´Â �Û¾÷�º [IETF RFC1738]¿Í [IETF RFC1808]¿¡ °»½ÅµÈ´Ù.

�̱԰Ý�Ç ¾Ë·ÁÁø ¿�·ùµé�Ç ¸ñ·Ï�º ¿µ¹® http://www.w3.org/XML/xml-19980210-errata¿¡¼­ º¼ ¼ö �Ö´Ù.

�Ì ¹®¼­¿¡¼­ ¿�·ùµé°¡ ¹ß°ßµÇ¸é ¿µ¹® [email protected]¿¡ º¸°íÇØÁֱ⠹ٶõ´Ù.


È®�强 �Û¼º ¾ð¾î(XML: Extensible Markup Language) 1.0

¸ñÂ÷

1. ¼Ò°³
    1.1 ±â¿ø°ú ¸ñÇ¥
    1.2 ¿ë¾î
2. ¹®¼­µé
    2.1 �ß Çü¼ºµÈ XML ¹®¼­µé
    2.2 ±Û�Úµé
    2.3 °øÅë ¹®¹ý�û ±¸¼º
    2.4 ±Û�Ú µ¥�ÌÅÍ¿Í ÄÚµå(markup)
    2.5 ÄÚ¸àÆ®(comment)
    2.6 ó¸®Áö½Ã(processing instruction)
    2.7 CDATA Ç׸ñ
    2.8 ¼­¹®(prolog)°ú ¹®¼­ Ÿ�Ô ¼±¾ð(document type declaration)
    2.9 µ¶¸³ ¹®¼­ ¼±¾ð(Standalone Document Declaration)
    2.10 °ø¹é�Ç Ã³¸®
    2.11 ÁÙ ³¡�Ç Ã³¸®(End-of-Line Handling)
    2.12 ¾ð¾î�Ç �νÄ
3. ³í¸®�û ±¸Á¶
    3.1 ½Ã�Ûű×, Á¾·áÅÂ±×¿Í ºó ¿¤·¹¸àÆ® ű×
    3.2 ¿¤·¹¸àÆ® Ÿ�Ô ¼±¾ð
        3.2.1 ¿¤·¹¸àÆ® ³»¿ë
        3.2.2 È¥ÇÕ ³»¿ë(content)
    3.3 ¾ÖÆ®¸®ºäÆ® ¸ñ·Ï ¼±¾ðµé
        3.3.1 ¾ÖÆ®¸®ºäÆ® Ÿ�Ô
        3.3.2 ¾ÖÆ®¸®ºäÆ®(attribute) µðÆúÆ®
        3.3.3 ¾ÖÆ®¸®ºäÆ® °ª Á¤»óÈ­(normalization)
    3.4 Á¶°ÇºÎ Ç׸ñ(conditional section)
4. ¹°¸®�û ±¸Á¶
    4.1 ±Û�Ú¿Í ¿£Æ¼Æ¼ ÂüÁ¶
    4.2 ¿£Æ¼Æ¼(entity) ¼±¾ð
        4.2.1 ³»ºÎ�û ¿£Æ¼Æ¼(entity)
        4.2.2 ¿ÜºÎ�û ¿£Æ¼Æ¼(entity)
    4.3 ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼(entity)
        4.3.1 ÅØ½ºÆ® ¼±¾ð
        4.3.2 �ß Çü¼ºµÈ ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼(entity)
        4.3.3 ¿£Æ¼Æ¼ ¾È�Ç ±Û�Ú ¿£ÄÚµù
    4.4 XML ó¸®�Ú�Ç ¿£Æ¼Æ¼¿Í ÂüÁ¶�Ç Ã³¸®
        4.4.1 �νÄÇÏÁö ¸øÇÏ´Â
        4.4.2 Æ÷ÇÔµÈ
        4.4.3 Æ÷ÇÔµÈ If �¯È¿¼º °ËÁ¤
        4.4.4 ±ÝÁöµÈ
        4.4.5 ¸®ÅͶö(literal)¿¡ Æ÷ÇÔµÈ
        4.4.6 ¾Ë¸²(notify)
        4.4.7 Åë°ú(bypassed)
        4.4.8 Æ÷ÇÔµÈ as PE
    4.5 ³»ºÎ�û ¿£Æ¼Æ¼(entity) ±³Ã¼ ÅØ½ºÆ®�Ç Çü¼º
    4.6 »ç�ü¿¡ Á¤�ÇµÈ ¿£Æ¼Æ¼(entity)
    4.7 ÁÖ¼®(notation) ¼±¾ðµé
    4.8 ¹®¼­ ¿£Æ¼Æ¼(entity)
5. ±Ô°ÝºÎÇÕ¼º
    5.1 �¯È¿¼º °ËÁ¤ÇÏ´Â, �¯È¿¼º °ËÁ¤ ¾Ê´Â ó¸®�Ú
    5.2 XML ó¸®�Ú(processor)�Ç »ç¿ë
6. ÁÖ¼®(notation)

Appendices

A. ÂüÁ¶
    A.1 Áö¸í�û ÂüÁ¶
    A.2 ´Ù¸¥ ÂüÁ¶
B. ±Û�Ú ºÐ·ù
C. XML°ú SGML (ºñÁö¸í�û)
D. ¿£Æ¼Æ¼¿Í ±Û�Ú ÂüÁ¶�Ç È®�å (ºñÁö¸í�û)
E. ÆÇÁ¤�û ³»¿ë ¸ðµ¨ (ºñÁö¸í�û)
F. ±Û�Ú ¿£ÄÚµù�Ç �Úµ¿°¨Áö (ºñÁö¸í�û)
G. W3C XML �Û¾÷±¸·ì (ºñÁö¸í�û)


1. ¼Ò°³

È®�强 �Û¼º ¾ð¾î (XML: Extensible Markup Language)´Â XML ¹®¼­¶ó ºÒ¸®¿ì´Â µ¥�ÌÅÍ ¿�ºêÁ§Æ®(object)�Ç ºÐ·ù¿Í ºÎºÐ�û�¸·Î �̸¦ ó¸®ÇÏ´Â ÄÄÇ»ÅÍ ÇÁ·Î±×·¥�Ç È°µ¿�» ±â¼úÇÑ´Ù. XML�º �û¿ë(application) ÇÁ·ÎÈ­�Ï(profile) Ȥ�º Á¦ÇÑµÈ SGML(Standard Generalized Markup Language [ISO 8879]) ¾ç½Ä�Ì´Ù. ±¸¼º»ó XML ¹®¼­µé�º SGML ¹®¼­µé¿¡ ºÎÇÕÇÑ´Ù.

XML ¹®¼­µé�º ¿£Æ¼Æ¼(entity)·Î ºÒ¸®¿ì´Â �ú�åµÈ ´Ü�§µé·Î ¸¸µé¾î Áö¸ç, �Ì´Â ÇØ¼®(parse)µÈ ¶Ç´Â ÇØ¼® ¾ÈµÈ µ¥�ÌÅ͸¦ °¡Áø´Ù. ÇØ¼®(parse)µÈ µ¥�ÌÅÍ´Â ±Û�Úµé·Î ±¸¼ºµÇ¸ç, �̵é �Ϻδ ±Û�Ú µ¥�ÌÅ͸¦ Çü¼ºÇϸç, �Ϻδ ÄÚµå(¸¶Å©¾÷: markup)�» Çü¼ºÇÑ´Ù. ÄÚµå(¸¶Å©¾÷)�º ¹®¼­�Ç �ú�å ¹èÄ¡¿Í ³í¸®�û ±¸Á¶¸¦ ±â¼ú(±â�ç»çÇ×)�» ¿£ÄÚµå(encode)ÇÑ´Ù. XML�º �ú�å ¹èÄ¡¿Í ³í¸®�û ±¸Á¶¿¡ Á¦ÇÑ¿ä¼Ò¸¦ ÁÖ´Â ±â´É(mechanism)�» Á¦°øÇÑ´Ù.

XML ó¸®�Ú(processor)·Î ºÒ¸®¿ì´Â ¼ÒÇÁÆ®¿þ¾î ¸ðµâ(module)�» »ç¿ëÇÏ¿© XML ¹®¼­µé�» �аí, ±× ³»¿ë(content)°ú ±¸Á¶¿¡ Á¢¼Ó�» Á¦°øÇÑ´Ù. XML ó¸®�Ú(processor)´Â �û¿ë(application)�̶ó ºÒ¸®¿ì´Â ´Ù¸¥ ¸ðµâ(module)�» �§ÇÏ¿© �Ï(�Û¾÷)ÇÏ´Â °Í�¸·Î °£ÁֵȴÙ. �Ì ±Ô°Ý�º, ¾î¶»°Ô XML µ¥�ÌÅ͸¦ �Ð°í ±× Á¤º¸¸¦ �û¿ë(application)¿¡ Á¦°øÇÏ¿©¾ß Çϴ°¡ ÇÏ´Â, XML ó¸®�Ú�Ç ÇÊ¿äÇÑ Çൿ(behavior)�» ±â¼úÇÑ´Ù.

1.1 ±â¿ø°ú ¸ñÇ¥

XML�º 1996 W3C°¡ ÁÖ°üÇÏ´Â XML �Û¾÷±¸·ì(´çÃÊ¿¡´Â SGML Á¡°Ëȸ: Editorial Review Board)¿¡ �ÇÇÏ¿© °³¹ßµÇ¾ú´Ù. Sun Microsystems�Ç Jon Bosak°¡ ȸ�å�̾ú°í, ¿ª½Ã W3C¿¡ �ÇÇÏ¿© Á¶Á÷µÈ, XML¿¡ ƯÈ÷ °ü½É�Ì �Ö´Â ±¸·ì(Special Interest Group: °ú°Å SGML �Û¾÷±¸·ì�¸·Î ¾Ë·ÁÁü)�Ì Âü¿©ÇÏ¿´´Ù. �Û¾÷±¸·ì�Ç ±¸¼º¿ø�º ºÎ·Ï¿¡ ±â�çµÇ¾î�Ö´Ù. Dan Connolly°¡ W3C�Ç Á¢ÃË ´ã´ç�¸·Î �Ö¾ú´Ù.

XML¿¡ ´ëÇÑ Åä·Ð ¸ñÇ¥´Â ´Ù�½°ú °°´Ù:

  1. XML�º �ÎÅͳݿ¡¼­ ¸·¹Ù·Î »ç¿ë ÇÒ ¼ö �Ö¾î¾ß ÇÑ´Ù.
  2. .
  3. XML�º ³Ð�º Á¾·ù�Ç �û¿ë(application)�» Áö¿øÇÏ¿©¾ß ÇÑ´Ù.
  4. XML�º SGML°ú »óÈ£ ÅëÇØ¾ß(»ç¿ë°¡´É) ÇÑ´Ù.
  5. �Ì´Â XML ¹®¼­µé�» ó¸®ÇÏ´Â ÇÁ·Î±×·¥�» ½±°Ô ¾µ ¼ö �Ö¾î¾ß ÇÑ´Ù.
  6. XML�Ç ¼±ÅÃ�û ¼º´É(feature)µé�Ì ¿Ï�üÈ÷ ÃּҵǴø°¡ °¡´ÉÇÏ¸é ¾ø¾î¾ß ÇÑ´Ù.
  7. XML ¹®¼­µé�º �ΰ£�Ì �ÌÇØÇϱ⿡ »ó´çÈ÷ ½¬¿ö¾ß ÇÑ´Ù.
  8. XML µð�Ú�Î�» »¡¸® ÇÒ ¼ö �Ö¾î¾ß ÇÑ´Ù.
  9. XML µð�Ú�Î�»�º ¾ç½Ä¿¡ µû¸£°í ÇÔÃà�û�Ì¾ß ÇÑ´Ù.
  10. XML ¹®¼­µé�º »ý¼ºÇϱ⠽¬¿ö¾ß ÇÑ´Ù.
  11. XML �Û¼º(markup)¿¡¼­�Ç °£°á¼º(terseness)�º º°·Î Áß¿äÇÏÁö ¾Ê´Ù.

�Ì ±Ô°Ý°ú °ü·ÃµÈ Ç¥Áصé(Unicode, ±Û�Úµé�» �§ÇÑ ISO/IEC 10646, ¾ð¾î�Ç �Î½Ä Å±׵é�» �§ÇÑ RFC 1766, ¾ð¾î �̸§ ÄÚµé�» �§ ÇÑ ISO 639, ±¹°¡ �̸§ Äڵ带 �§ÇÑ ISO 3166)�º, ºñÇ¥ÁØ�Î XML ¹ö�ü 1.0°ú �̸¦ ó¸®ÇÏ´Â ±¸¼º ÄÄÇ»ÅÍ ÇÁ·Î±×·¥µî¿¡ ÇÊ¿äÇÑ, ¸ðµç Á¤º¸¸¦ Á¦°øÇÑ´Ù.

XML ±Ô°Ý�Ç ¿ø¹® ¹ö�ü�º, ¸ðµç ÅØ½ºÆ®¿Í ¹ý·ü�û °æ°í¿¡ ÇÕ´çÇϸé, ¹èÆ÷¸¦ �Ú�¯·Ó°Ô ÇÒ ¼ö �Ö´Ù.

1.2 ¿ë¾î

¿ë¾îµé�º �Ì ±Ô°Ý º»Ã¼¿¡¼­ XML ¹®¼­µé�» ±â¼úÇϴµ¥ »ç¿ëµÇ¾ú´Ù. ´Ù�½ ¸ñ·Ï¿¡ Á¤�ÇµÈ ¿ë¾îµé�º �Ì ±Ô°Ý�» ±¸¼ºÇÏ´Â Á¤�ǵé°ú XML ó¸®�Ú(processor)�Ç È°µ¿�» ¼³¸íÇϴµ¥ »ç¿ëµÈ´Ù:

ÇÒ ¼ö �Ö´Ù(may)
±Ô°Ý¿¡ ºÎÇÕÇÏ´Â ¹®¼­µé°ú XML ó¸®�Úµé�º Çã¿ëµÇ³ª, ¼³¸íµÈ ¹Ù¿Í �ÏÄ¡ÇÏÁö ¾Ê¾Æµµ µÈ´Ù.
ÇÏ¿©¾ß ÇÑ´Ù(must)
±Ô°Ý¿¡ ºÎÇÕÇÏ´Â ¹®¼­µé°ú XML ó¸®�Úµé�º ¹Ýµå½Ã ¼³¸íµÈ ¹Ù¿Í �ÏÄ¡ ÇÒ Çʿ䰡 �Ö�¸¸ç, ±×·¸Áö ¾Ê�¸¸é ¿�·ù°¡ µÈ´Ù.
¿�·ù
�Ì ±Ô°Ý�Ç ±ÔÄ¢�» �§¹ÝÇÏ´Â °Í�¸·Î ±× °á°ú´Â Á¤�ǵǾî �ÖÁö ¾Ê´Ù. ±Ô°Ý¿¡ ºÎÇÕÇÏ´Â ¼ÒÇÁÆ®¿þ¾î´Â ¿�·ù¸¦ °¨ÁöÇϰí, ¾Ë¸®¸ç, ȸº¹ÇÏ°Ô ÇÒ ¼ö �Ö´Ù.
Ä¡¸í�û ¿�·ù
±Ô°Ý¿¡ ºÎÇÕÇÏ´Â XML ó¸®�Ú(processor)´Â ¿�·ù¸¦ °¨ÁöÇϰí, ±× �û¿ë(application)¿¡ ¾Ë·Á¾ß ÇÑ´Ù. Ä¡¸í�û�Î ¿�·ù¸¦ ¸¸³­ ´Ù�½, ó¸®�Ú´Â Ãß°¡�û�Î ¿�·ùµé�» °¨ÁöÇϱâ �§ÇÏ¿© °è¼Ó µ¥�ÌÅ͸¦ ó¸® ÇÒ ¼ö �Ö°í, ±×¿Í °°�º ¿�·ùµé�» �û¿ë¿¡ ¾Ë¸± ¼ö �Ö´Ù. ¿�·ùµé�Ç º¸Á¤�» Áö¿øÇϱâ �§ÇÏ¿© ó¸®�Ú´Â ¹®¼­·Î ºÎÅÍ Ã³¸®µÇÁö ¾Ê�º µ¥�ÌÅ͸¦, (±Û�Ú µ¥�ÌÅÍ¿Í Äڵ帶ũ¾÷�» È¥ÇÕÇÏ¿©) �û¿ë�Ì »ç¿ë ÇÒ ¼ö �Ö´Â °Í�¸·Î, ¸¸µé ¼ö �Ö´Ù. ±×·¯³ª, �Ï´Ü Ä¡¸í�û ¿�·ù°¡ °¨ÁöµÇ¸é, ó¸®�Ú(processor)´Â Á¤»ó 󸮸¦ °è¼ÓÇÏ¿©¼­´Â ¾ÊµÈ´Ù. (¸»ÇÏ�Ú¸é, Á¤»ó�û�Î ¹æ¹ý�¸·Î ±Û�Ú µ¥�ÌÅÍ¿Í ¹®¼­�Ç ³í¸®�û ±¸Á¶¿¡ ´ëÇÑ Á¤º¸�Ç �û¿ë¿¡°Ô �ü´Þ�» Áß´ÜÇÏ¿©¾ß ÇÑ´Ù.)
»ç¿ë�Ú�Ç ¼±ÅÃ�¸·Î
±Ô°Ý¿¡ ºÎÇÕÇÏ´Â ¼ÒÇÁÆ®¿þ¾î´Â ¹®�å ¼Ó�Ç ³»¿ë¿¡ µû¶ó ¼³¸íµÈ ¹Ù¿Í °°�Ì, ÇÒ¼ö �ְųª, ÇÏ¿©¾ß ÇÑ´Ù. ¸¸�Ï ¼±ÅûçÇ×�Ì �Ö�¸¸é, �Ì´Â »ç¿ë�Ú°¡ ¼³¸íµÈ �Û¿ë�» °¡´ÉÇÏ°Ô Çϰųª, ÁßÁö ½Ãų ¼ö �Ö´Â ¼ö´Ü�» Á¦°øÇÑ´Ù.
�¯È¿¼º °ËÁ¤ ±âÁØ(Á¦ÇÑ»çÇ×)
¸ðµç �¯È¿(valid) XML ¹®¼­µé¿¡ �û¿ëµÇ´Â ±ÔÄ¢�Ì´Ù. �¯È¿¼º Á¦ÇÑ¿ä¼Ò�Ç �§¹èÇÏ´Â °Í�º ¿�·ùµé�Ì´Ù; »ç¿ë�Ú ¼±ÅÃ�¸·Î �¯È¿¼º °ËÁ¤ XML ó¸®�Ú(processor)¿¡ �ÇÇÏ¿© ¾Ë·Á Áà¾ßÇÑ´Ù.
�ß Çü¼ºµÊ�» �§ÇÑ Çʼö»çÇ×
¸ðµç �ß Çü¼ºµÈ XML ¹®¼­µé¿¡ �û¿ëµÇ´Â ±ÔÄ¢�Ì´Ù. �ß Çü¼ºµÊ�» �§ÇÑ Çʼö»çÇ×µé�» �§¹èÇÏ´Â °Í�º Ä¡¸í�û ¿�·ùµé�Ì´Ù.
�ÏÄ¡

(½ºÆ®¸µ�̳ª �̸§�Ç �ÏÄ¡): ºñ±³µÇ´Â µÎ°³�Ç ½ºÆ®¸µ�̳ª �̸§µé�Ì ²� °°¾Æ¾ß ÇÑ´Ù. ISO/IEC 10646 ¿¡¼­ ¿©·¯ °¡´ÉÇÑ Ç¥Çö(¿¹¸¦ µé¾î »ç�ü Á¶ÇÕµÈ °Í°ú º£�̽º+±¸ºÐ�û ¾ç½Ä�Ç ±Û�Úµé)�Ç ±Û�Úµé�Ì ¾çÂÊ ½ºÆ®¸µ¿¡¼­ °°�º Ç¥Çö�» °¡Áú ¶§¸¸ �ÏÄ¡ÇÑ´Ù. »ç¿ë�Ú ¼±ÅÃ�¸·Î, ó¸®�Ú(processor)´Â �Ì¿Í °°�º ±Û�Úµé�» Á¤±Ô�Ç ¾ç½Ä�¸·Î Á¤»óÈ­(�ϹÝÈ­) ½Ãų ¼ö �Ö´Ù. ´ë¼Ò¹®�Ú�Ç �üȯ�º »ç�ü¿¡ Çü¼ºµÇÁö ¾Ê´Â´Ù.

(¹®¹ý¿¡¼­ ½ºÆ®¸µ°ú ÄÚµå(rule)�Ç �ÏÄ¡): ±× �Û¾÷�¸·Î »ý¼ºµÈ ¾ð¾î¿¡ ¼ÓÇϸé, ½ºÆ®¸µ�º ¹®¹ý�û »ý¼º°ú �ÏÄ¡ÇÑ´Ù.

(³»¿ë(content)°ú ³»¿ë ¸ðµ¨(model)�Ç �ÏÄ¡): "¿¤·¹¸àÆ® �¯È¿¼º" Á¦ÇÑ¿ä¼Ò¿¡ ¼³¸íµÈ ÇüÅÂ¿Í ¸Â�¸¸é, ¿¤·¹¸àÆ®(element)´Â ±× ¼±¾ð°ú �ÏÄ¡ÇÑ´Ù.

±Ô°ÝºÎÇÕ¼º(compatibility)�» �§ÇÏ¿©
¼ø�üÈ÷ XML�Ì SGML°ú�Ç ±Ô°ÝºÎÇÕ¼º�» �¯ÁöÇÔ�» È®½ÇÈ÷ Çϱâ �§ÇÑ, XML¿¡ Æ÷ÇÔµÈ ¼º´É(feature)�Ì´Ù.
°øÅë»ç¿ë¼º(interoperability)�» �§ÇÏ¿©
±âÁ¸ ¼³Ä¡µÈ SGML ó¸®�Ú(processor)µé�Ç ±âÃÊ(ISO 8879·Î Æó±â µÈ WebSGML �û¿ë »ö�Î)¿¡¼­, XML ¹®¼­µé�Ì Ã³¸® µÉ °¡´É¼º�» Çâ»óÇϱâ �§ÇÏ¿©, ºñ ±¸¼Ó�û�¸·Î, Æ÷ÇÔÇÑ Ãßõ»çÇ×�Ì´Ù.

2. ¹®¼­µé

�̱԰ݿ¡ Á¤�ÇµÈ ¹Ù¿¡ µû¶ó �ß Çü¼ºµÈ °Í�̸é, µ¥�ÌÅÍ ¿�ºêÁ§Æ®(object)´Â Çϳª�Ç XML ¹®¼­�Ì´Ù. �ß Çü¼ºµÈ XML ¹®¼­´Â ¶ÇÇÑ, Ãß°¡�û�Î Á¦ÇÑ¿ä¼Òµé¿¡ ¸Â�¸¸é, �¯È¿(valid) ÇÒ ¼ö �Ö´Ù.

°¢ XML ¹®¼­´Â ³í¸®�û ±¸Á¶¿Í ¹°¸®�û ±¸Á¶¸¦ °®´Â´Ù. ¹°¸®�û�¸·Î, ¹®¼­´Â ¿£Æ¼Æ¼(entity)¶ó ºÒ¸®¿ì´Â ´Ü�§µé·Î �Ì·ç¾î Áø´Ù. ÇÑ ¿£Æ¼Æ¼(entity)´Â ´Ù¸¥ ¿£Æ¼Æ¼¸¦ ÂüÁ¶(refer) ÇÒ ¼ö �Ö�¸¸ç, ±× ¹®¼­ ¾È¿¡ Æ÷ÇÔµÇ°Ô µÈ´Ù. ÇÑ ¹®¼­´Â ÃÖ»ó�§("root") ¶Ç´Â ¹®¼­ ¿£Æ¼Æ¼(entity)·Î ½Ã�۵ȴÙ. ³í¸®�û�¸·Î, ¹®¼­´Â ¼±¾ð, ¿¤·¹¸àÆ®(element), ÄÚ¸àÆ®(comment), ±Û�Ú ÂüÁ¶¿Í ó¸®Áö½Ã(processing instruction)µé·Î �Ì·ç¾î Áö¸ç, �Ìµé ¸ðµÎ ±× ¹®¼­�Ç ¸í½Ã�û ÄÚµå(markup)·Î ÁöÁ¤µÈ´Ù. ³í¸®�û ±¸Á¶¿Í ¹°¸®�û ±¸Á¶´Â, "4.3.2 �ß Çü¼ºµÇ°í ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼(entity)"¿¡ ¼³¸íµÈ ¹Ù¿Í °°�Ì, �ûÁ¤ÇÏ°Ô ³×½ºÆ®(nest)µÇ¾î¾ß ÇÑ´Ù.

2.1 �ß Çü¼ºµÈ XML ¹®¼­µé

ÅØ½ºÆ®�û ¿�ºêÁ§Æ®(object)´Â ´Ù�½�» ¸¸Á·½Ã۸é �ß Çü¼ºµÈ XML ¹®¼­�Ì´Ù:

  1. �üü�û�¸·Î, ¶óº§µÈ(labeled) ¹®¼­ »ê¹°°ú �ÏÄ¡ÇÑ´Ù.
  2. �̱԰ݿ¡¼­ ÁÖ¾îÁø �ß Çü¼ºµÊ�» �§ÇÑ Çʼö»çÇ׵鿡 ºÎÇÕÇÑ´Ù.
  3. ¹®¼­¿¡¼­ Á÷Á¢ Ȥ�º °£Á¢�û�¸·Î ÂüÁ¶µÈ °¢ ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼°¡ �ß Çü¼ºµÈ °Í�Ì´Ù.

¹®¼­(Document)
[1]  document ::= prolog element Misc*

�ÏÄ¡ÇÏ´Â ¹®¼­(document) »ê¹°(production)�º ´Ù�½ »çÇ×�» ³»Æ÷(�ǹÌ)ÇÑ´Ù:

  1. Çϳª �Ì»ó�Ç ¿¤·¹¸àÆ®(element)¸¦ Æ÷ÇÔÇÑ´Ù.
  2. ÃÖ»ó�§(root)¶ó ºÒ¸®¿ì´Â ¿¤·¹¸àÆ® ¶Ç´Â ¹®¼­ ¿¤·¹¸àÆ® ´Ü Çϳª ¸¸�» °¡Áö¸ç, �Ìµé ºÎºÐ�Ì ¾î¶² ´Ù¸¥ ¿¤·¹¸àÆ®�Ç ³»¿ë(content) ¾È¿¡ ³ªÅ¸³ªÁö ¾Ê´Â´Ù. ¸ðµç ´Ù¸¥ ¿¤·¹¸àÆ®µé¿¡¼­, ¶Ç ´Ù¸¥ ¿¤·¹¸àÆ®�Ç ³»¿ë ¼Ó¿¡ ½Ã�Ûűװ¡ �Ö�¸¸é, Á¾·áű׵µ °°�º ¿¤·¹¸àÆ®�Ç ³»¿ë ¼Ó¿¡ �Ö´Ù. Á» ´õ °£´ÜÈ÷ ¸»Çϸé, ½Ã�Û°ú Á¾·áű׵é·Î ±¸ºÐµÇ´Â ¿¤·¹¸àÆ®µé�º ¼­·Î �ûÁ¤ÇÏ°Ô ³×½ºÆ®(nest) µÇ¾î�Ö´Ù.

�Ì °á°ú·Î¼­, ¹®¼­¿¡¼­ ÃÖ»ó�§°¡ ¾Æ´Ñ(non-root) °¢ ¿¤·¹¸àÆ® 'C'¿¡°Ô´Â, 'C'´Â 'P'�Ç ³»¿ë ¾È¿¡ �Ö�¸³ª, 'P'�Ç ³»¿ë¿¡ �Ö´Â ¾î¶² ´Ù¸¥ ¿¤·¹¸àÆ®�Ç ³»¿ë�Ì ¾ÊµÇ·Ï, ¹®¼­¿¡¼­ ´Ù¸¥ ¿¤·¹¸àÆ® 'P'°¡ �Ö´Ù, ¿©±â¼­ 'P'´Â C�Ç ¸ðü(parent)·Î ÂüÁ¶µÇ°í, 'C'´Â 'P'�Ç �Ú½Ä(child)�¸·Î ÂüÁ¶µÈ´Ù.

2.2 ±Û�Ú

ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼(entity)´Â ÅØ½ºÆ®¸¦ °®´Âµ¥, �Ì´Â ±Û�Úµé�Ç ¿¬¼Ó�¸·Î, ÄÚµå(markup)³ª ±Û�Ú µ¥�ÌÅͰ¡ µÉ ¼ö �Ö´Ù. ÇÑ ±Û�Ú´Â, ISO/IEC 10646 [ISO/IEC 10646]¿¡ ÁöÁ¤ µÈ ¹Ù¿Í °°�Ì, ÅØ½ºÆ®�Ç ±âÃÊ ´Ü�§�Ì´Ù. ¿Ã¹Ù¸¥(legal) ±Û�Úµé�º ÅÇ(tab), ¸®ÅÏ(enter), ÁÙ°ø±Þ(»õÁÙ ³Î±â), ¿Ã¹Ù¸¥ Unicode¿Í ISO/IEC 10646�Ç ±×·¡ÇÈ ±Û�Úµé�Ì´Ù. [Unicode] Ç׸ñ 6.8¿¡¼­ Á¤�ÇµÈ "±Ô°ÝºÎÇÕ¼º(compatibility) ±Û�Úµé"�Ç »ç¿ë�º ÇÏÁö ¾Ê´Â °Í�Ì ÁÁ´Ù.

±Û�Ú ¹ü�§(Character Range)
[2]  Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] /* Unicode ±Û�Ú(´ë¿ë ºí·°, FFFE, FFFF Á¦¿Ü). */

�ÌÁø¼ö(bit) ÆÐÅÏ�¸·Î ÄÚµå Æ÷�ÎÆ®(code point) ±Û�Ú ¿£ÄÚµùÇÏ´Â ±â±¸(mechanism)´Â ¿£Æ¼Æ¼(entity)¿¡ µû¶ó ¼­·Î ´Ù¸£´Ù. ¸ðµç XML ó¸®�Ú(processor)´Â 10646 �Ç UTF-8 ¿Í UTF-16 ¿£ÄÚµù(encoding)�» ¼ö¿ëÇÏ¿©¾ß ÇÑ´Ù. �Ì µÎ°¡Áö Áß ¾î´� °Í�Ì »ç¿ëµÇ´Â°¡ ½ÅÈ£ º¸³»´Â ±â±¸, ¶Ç´Â ´Ù¸¥ ¿£ÄÚµù�» °¡Á®´Ù ¾²´Â ±â±¸´Â µÚ 4.3.3 "¿£Æ¼Æ¼�Ç ±Û�Ú ¿£ÄÚµù"¿¡¼­ ´Ù·é´Ù.

2.3 °øÅë(common) ¹®¹ý�û ±¸¼º

¿©±â¼­´Â ¹®¹ý¿¡¼­ ³Î¸® »ç¿ëµÇ´Â �ϺΠ±âÈ£(symbol)µé�» Á¤�ÇÇÑ´Ù.

S (°ø¹é: space)�º ÇѰ³ �Ì»ó�Ç °ø¹é±Û�Ú(space: #x20), ¸®ÅÏ(enter), ÁÙ°ø±Þ(»õÁÙ ³Ö±â), ÅÇ(tab)µé·Î ±¸¼ºµÈ´Ù.

°ø¹é(White Space)
[3]  S ::= (#x20 | #x9 | #xD | #xA)+

±Û�Úµé�º Æí�Ì»ó ±Û�Ú, ¼ý�Ú(digit)¿Í ´Ù¸¥ ±Û�Úµé·Î ºÐ·ùµÈ´Ù. ±Û�Ú(letter)´Â ¾ËÆÄº£Æ®(alphabetic), �½�ý ±âÃʱÛ�Ú(syllabic base)¿Í Çϳª �Ì»ó�Ç Á¶ÇÕµÈ ±Û�Ú, Ç¥½Ä±Û�Ú(ideographic)µé·Î ±¸¼ºµÈ´Ù. °¢ ºÐ·ù ³» ƯÁ¤ ±Û�Úµé�Ç ¿Ï�üÇÑ Á¤�Ç´Â B. "±Û�Ú ºÐ·ù"¿¡ ¼³¸íµÇ¾ú´Ù.

�̸§(Name)�º, ±Û�Ú ¶Ç´Â ÇѰ³�Ç ±¸µÔÁ¡ ±Û�Ú(¸î°¡Áö Áß)·Î ½Ã�۵ǰí, ±Û�Ú³ª ¼ý�Ú, ÇÏ�ÌÇÂ(-), ¹ØÁÙ(_), ÄÝ·Ð(:) ¶Ç´Â Á¡(.)¸¦ ·Î ¾Ë·ÁÁø ±Û�Úµé�» °è¼Ó�û�¸·Î °®´Â, Çϳª�Ç ÅäÅ«(token)�Ì´Ù. ½ºÆ®¸µ "xml" Ȥ�º (('X'|'x') ('M'|'m') ('L'|'l'))¿Í �ÏÄ¡ÇÏ´Â ´Ù¸¥ ½ºÆ®¸µ�¸·Î ½Ã�ÛÇÏ´Â �̸§�º �Ì ±Ô°Ý°ú ÇâÈÄ ¹ö�üµé¿¡ Ç¥ÁØÈ­¸¦ �§ÇÏ¿© ¿¹¾àµÈ °Í�Ì´Ù.

ÁÖ¼®: XML �̸§ ¾È�Ç ÄÝ·Ð(:) ±Û�Ú´Â �̸§ �Ú¸®¸¦ ½ÇÇèÇϱâ �§ÇØ ¿¹¾àµÈ °Í�Ì´Ù. �Ì´Â ÇâÈÄ ¾î´� ½ËÁ¡¿¡¼­ Ç¥ÁØÈ­ µÉ °Í�¸·Î ±â´ëµÇ¸ç, ±× ½ËÁ¡¿¡¼­ ¹®¼­¿¡ ½ÇÇè ¸ñ�û�¸·Î »ç¿ëÇÏ´Â ÄÝ·Ð�» °»½Å µÉ ¼ö �Ö½¿�» �ǹÌÇÑ´Ù. (XML¿¡¼­ �̸§�Ú¸®(name-space) ±â±¸(mechanism)¿¡ �̸§�Ú¸® ±¸ºÐ�Ú(delimiter)·Î ÄÝ·Ð�» ½ÇÁ¦·Î äÅà ÇÒ °Í�ΰ¡¿¡ ´ëÇÑ º¸Áõ�º ¾ø´Ù.) ½ÇÁ¦·Î �Ì´Â Á¦�Û�Ú°¡ ÄÝ·Ð�» �̸§�Ú¸® ½ÇÇè �̿ܿ¡´Â XML �̸§¿¡ »ç¿ëÇÏÁö ¸»¾Æ¾ß Çϰí, XML ó¸®�Ú(processor)´Â ÄÝ·Ð�» �̸§ ±Û�Ú·Î ¹Þ¾Æµé¿©¾ß ÇÑ´Ù´Â °Í�» �ǹÌÇÑ´Ù.

Nmtoken (�̸§ ÅäÅ«)�º ¾î¶² �̸§±Û�Úµé�Ç È¥ÇÕü�Ì´Ù.

�̸§°ú ÅäÅ«(Names and Tokens)
[4]  NameChar ::= LetterDigit | '.' | '-' | '_' | ':' | CombiningCharExtender
[5]  Name ::= (Letter | '_' | ':') (NameChar)*
[6]  Names ::= Name (S Name)*
[7]  Nmtoken ::= (NameChar)+
[8]  Nmtokens ::= Nmtoken (S Nmtoken)*

¸®ÅͶö(literal) µ¥�ÌÅÍ´Â, ±× ½ºÆ®¸µ�Ç ±¸ºÐ�Ú·Î »ç¿ëµÈ µû¿ÈÇ¥¸¦ Á¦¿ÜÇϰí, µû¿ÈÇ¥ ¼Ó�Ç ½ºÆ®¸µ�Ì´Ù. ¸®ÅͶö µ¥�ÌÅÍ´Â ³»ºÎ�û ¿£Æ¼Æ¼(entity)�Ç ³»¿ë(EntityValue), ¾ÖÆ®¸®ºäÆ®(attribute)�Ç °ª(AttValue)°ú ¿ÜºÎ�û �νÄ�Ú(identifier: SystemLiteral)µé�» ÁöÁ¤Çϴµ¥ »ç¿ëµÈ´Ù. SystemLiteral�º ÄÚµå(markup)�Ç Ã³¸®(scanning) ¾ø�Ì ÇØ¼®(parse) µÉ ¼ö �Ö´Ù´Â Á¡¿¡ ÁÖ�ÇÇ϶ó.

¸®ÅͶö(Literals)
[9]  EntityValue ::= '"' ([^%&"] | PEReferenceReference)* '"'
|  "'" ([^%&'] | PEReferenceReference)* "'"
[10]  AttValue ::= '"' ([^<&"] | Reference)* '"'
|  "'" ([^<&'] | Reference)* "'"
[11]  SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")
[12]  PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"
[13]  PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]

2.4 ±Û�Ú µ¥�ÌÅÍ¿Í ÄÚµå(markup)

ÅØ½ºÆ®´Â ±Û�Ú µ¥�ÌÅÍ¿Í ÄÚµå(markup)�Ç È¥ÇÕ�¸·Î ±¸¼ºµÇ¾î �Ö´Ù. ÄÚµå(markup)´Â ½Ã�Ûű×(tag), Á¾·áű×, ºó ¿¤·¹¸àÆ® ű×, ¿£Æ¼Æ¼(entity) ÂüÁ¶, ±Û�Ú ÂüÁ¶, ÄÚ¸àÆ®, CDATA Ç׸ñ ±¸ºÐ�Ú(delimiter), ¹®¼­ Ÿ�Ô ¼±¾ð(document type declaration), ó¸®Áö½Ã(processing instruction)µé�Ç ¾ç½Ä�» °®´Â´Ù.

Äڵ带 ±¸¼ºÇÏ´Ï ¾Ê´Â ¸ðµç ÅØ½ºÆ®´Â ¹®¼­�Ç ±Û�Ú µ¥�ÌÅÍ�Ì´Ù.

ÄÚµå(markup) ±¸ºÐ�Ú·Î »ç¿ë°Å³ª, ¶Ç´Â ÄÚ¸àÆ®(comment), ó¸®Áö½Ã(processing instruction) ¶Ç´Â CDATA Ç׸ñ ¾È¿¡¼­ ¸¸ ¾ÚÆÛ»÷µå ±Û�Ú(&)¿Í ¿ÞÂÊ ²©¼â(<)°¡ ±× ¸®ÅͶö(literal) ¾ç½Ä¿¡ ³ªÅ¸³¯ ¼ö �Ö´Ù. ±×µé�º ¶ÇÇÑ ³»ºÎ�û ¿£Æ¼Æ¼(entity) ¼±¾ð(declaration)�Ç ¸®ÅͶö ¿£Æ¼Æ¼ °ª ¾È¿¡¼­µµ ¿Ã¹Ù¸¥(legal) °Í�Ì´Ù. Ç׸ñ 4.3.2 "�ß Çü¼ºµÇ°í ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼"¸¦ ÂüÁ¶Ç϶ó. ¸¸�Ï ´Ù¸¥ °÷¿¡¼­ ÇÊ¿äÇÏ¸é °¢°¢, ¼ýÄ¡(numeric) ±Û�Ú ÂüÁ¶³ª "&amp;" ½ºÆ®¸µ°ú "&lt;"¸¦ »ç¿ëÇÏ¿© ¿¡½ºÄÉ�Ô(escaped) µÇ¾î¾ß ÇÑ´Ù. ¿�¸¥ÂÊ ²©¼â(>)´Â ½ºÆ®¸µ "&gt;"¸¦ »ç¿ëÇÏ¿© Ç¥Çö ÇÒ ¼ö �Ö�¸¸ç, ³»¿ë ¼Ó�Ç ½ºÆ®¸µ "]]>" ¾È¿¡ ³ªÅ¸³ª°í CDATA Ç׸ñ�Ç Á¾·á�» ¸¸µéÁö ¾Ê�¸¶§´Â, ±Ô°ÝºÎÇÕ¼º�» �§ÇÏ¿©, ¹Ýµå½Ã "&gt;"�» »ç¿ëÇÏ¿© ¿¡½ºÄÉ�Ô(escaped) µÇ°Å³ª ±Û�Ú ÂüÁ¶�̾î¾ß ÇÑ´Ù.

¿¤·¹¸àÆ®�Ç ³»¿ë¿¡¼­, ±Û�Ú µ¥�ÌÅÍ´Â, ¾î¶² ÄÚµå(markup)�Ç ½Ã�Û±¸ºÐ�Ú¸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â, ±Û�Úµé�Ç ½ºÆ®¸µ�Ì´Ù. CDATA Ç׸ñ¿¡¼­, ±Û�Ú µ¥�ÌÅÍ´Â, CDATA Ç׸ñ�» ´Ý´Â ±¸ºÐ�Ú(delimiter)�Î "]]>"¸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â, ±Û�Úµé�Ç ½ºÆ®¸µ�Ì´Ù.

¾ÖÆ®¸®ºäÆ® °ª¿¡ ´Ü�Ï, �ÌÁß µû¿ÈÇ¥µé�Ç Æ÷ÇÔ�» Çã¿ëÇÏ·Á¸é, ´Ü�Ï µû¿È ±Û�Ú(')´Â "&apos;"·Î, �ÌÁß µû¿È ±Û�Ú(")´Â "&quot;"·Î Ç¥Çö ÇÒ ¼ö �Ö´Ù.

±Û�Ú µ¥�ÌÅÍ(Character Data)
[14]  CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*)

2.5 ÄÚ¸àÆ®(comment)

¹®¼­¿¡¼­ ÄÚ¸àÆ®´Â ´Ù¸¥ ÄÚµå(markup) ¹Û ¾îµð¿¡³ª ³ªÅ¸ ³¯ ¼ö �Ö°í, ¶ÇÇÑ, ¹®¼­ Ÿ�Ô ¼±¾ð(document type declaration) ¾È, ¹®¹ý¿¡ �ÇÇÏ¿© Çã¿ë µÈ �å¼Ò¿¡ ³ªÅ¸ ³¯ ¼ö �Ö´Ù. �̵é�º ¹®¼­�Ç ±Û�Ú µ¥�ÌÅÍ ºÎºÐ�Ì ¾Æ´Ï´Ù. XML ó¸®�Ú(processor)´Â, ÇÊ¿äÇÑ °Í�º ¾Æ´ÏÁö¸¸, �û¿ë(application)�Ì ÄÚ¸àÆ® ÅØ½ºÆ®¸¦ �Ð°Ô ÇÒ ¼ö �Ö´Ù. ±Ô°ÝºÎÇÕ¼º�» �§ÇÏ¿©, ½ºÆ®¸µ "--"´Â ÄÚ¸àÆ® ¼Ó¿¡ ³ªÅ¸³ªÁö ¸»¾Æ¾ß ÇÑ´Ù.

ÄÚ¸àÆ®(Comments)
[15]  Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'

ÄÚ¸àÆ®�Ç ¿¹Á¦:

<!-- <head> & <body>�Ç ¼±¾ð -->

2.6 ó¸®Áö½Ã

ó¸®Áö½Ã(processing instruction: PI)´Â ¹®¼­µé�Ì �û¿ë(application)�» �§ÇØ Áö½Ã¸¦ Æ÷ÇÔ ÇÒ ¼ö �Ö°Ô ÇÑ´Ù.

ó¸®Áö½Ã(Processing Instructions)
[16]  PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>'
[17]  PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))

PI´Â ¹®¼­�Ç ±Û�Ú µ¥�ÌÅÍ ºÎºÐ�Ì ¾Æ´Ï°í, �û¿ë(application)¿¡ �ü´ÞÇÏ¿©¾ß ÇÑ´Ù. PI´Â Áö½Ã°¡ ¾î´� �û¿ë�¸·Î ÇâÇÒ °Í�ΰ¡¸¦ ÁöÁ¤Çϴµ¥ »ç¿ëÇÏ´Â ¸ñÇ¥(PITarget)·Î ½Ã�ÛÇÑ´Ù. ¸ñÇ¥(target) �̸§ "XML", "xml" µî�º Ç¥ÁØÈ­³ª �̱԰Ý�Ç ÇâÈÄ ¹ö�ü �§ÇØ ¿¹¾àµÇ¾ú´Ù. XML ÁÖ¼®(notation) ±â±¸(mechanism)°¡ °ø½Ä�û�Î PI ¸ñÇ¥ ¼±¾ð¿¡ »ç¿ë µÉ ¼ö �Ö´Ù.

2.7 CDATA Ç׸ñ

CDATA Ç׸ñ�º ±Û�Ú µ¥�ÌÅͰ¡ ³ªÅ¸ ³¯ ¼ö �Ö´Â ¾îµð¿¡³ª ³ªÅ¸³¯ ¼ö �Ö°í, �̵é�º, ±×·¸Áö ¾Ê�¸¸é ÄÚµå(markup)·Î �νĵǴÂ, ±Û�Úµé�» Æ÷ÇÔÇÏ´Â ÅØ½ºÆ® ºí·°�» ¿¡½ºÄÉ�Ô(escape) Çϴµ¥ »ç¿ëµÈ´Ù. CDATA Ç׸ñ�º ½ºÆ®¸µ "<![CDATA["·Î ½Ã�ÛµÇ°í ½ºÆ®¸µ "]]>"·Î ³¡³­´Ù.

CDATA Ç׸ñ(CDATA Sections)
[18]  CDSect ::= CDStart CData CDEnd
[19]  CDStart ::= '<![CDATA['
[20]  CData ::= (Char* - (Char* ']]>' Char*))
[21]  CDEnd ::= ']]>'

CDATA Ç׸ñ ¾È¿¡¼­´Â, CDEnd ½ºÆ®¸µ ¸¸�Ì ÄÚµå(markup)·Î �νĵȴÙ. ±×·¡¼­ ¿ÜÂÊ ²©¼â(<)¿Í ¾ÚÆÛ»÷µå(&)µé�Ì ±× ¸®ÅͶö(literal) ¾ç½Ä ¾È¿¡ ³ªÅ¸³¯ ¼ö �Ö´Ù; �̵é�º "&lt;"¿Í "&amp;"¸¦ »ç¿ëÇÏ¿© ¿¡½ºÄÉ�Ô(escape) µÉ Çʿ䰡 ¾ø�¸¸ç µÉ ¼öµµ ¾ø´Ù. CDATA Ç׸ñµé�º ³×½ºÆ®(nest) µÉ ¼ö ¾ø´Ù.

CDATA Ç׸ñ�Ç ¿¹Á¦, ¿©±â¼­ "<greeting>"¿Í "</greeting>" »ç�Ì´Â ÄÚµå(markup)·Î �νĵÇÁö ¾Ê°í ±Û�Ú µ¥�ÌÅÍ·Î �νĵȴÙ:

<![CDATA[<greeting>¿©·¯ºÐ ¾È³çÇϼ¼¿ä!</greeting>]]>

2.8 ¼­¹®(prolog)°ú ¹®¼­ Ÿ�Ô ¼±¾ð(document type declaration)

XML ¹®¼­µé�º »ç¿ëµÈ XML�Ç ¹ö�ü�» ÁöÁ¤ÇÏ´Â XML ¼±¾ð�¸·Î ½Ã�Û ÇÒ ¼ö �Ö�¸¸ç, ½Ã�ÛÇÏ¿©¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î, ¾Æ·¡´Â ¿Ï�üÇÑ XML ¹®¼­�̰í, �ß Çü¼ºµÈ °Í�ÌÁö¸¸ �¯È¿(valid)ÇÏÁö´Â ¾Ê´Ù:

<?xml version="1.0"?>
<greeting>¿©·¯ºÐ ¾È³çÇϼ¼¿ä!</greeting>

�̰͵µ °°´Ù:

<greeting>¿©·¯ºÐ ¾È³çÇϼ¼¿ä!</greeting>

¹ö�ü ¹øÈ£ "1.0"�Ì �̱԰Ý�Ç �Ì ¹ö�ü�Ç ±Ô°ÝºÎÇÕ¼º�» ³ªÅ¸³»±â �§ÇÏ¿© »ç¿ëµÇ¾î¾ß ÇÑ´Ù; �̱԰Ý�Ç �Ì ¹ö�ü¿¡ ºÎÇÕÇÏÁö ¾Ê´Â °æ¿ì, °ª "1.0"�» »ç¿ëÇÑ ¹®¼­´Â ¿�·ù�Ì´Ù. ÇâÈÄ �̱԰Ý�Ç ¹ö�üµé�º "1.0"°ú ´Ù¸¥ ¼öÄ¡¸¦ ºÎ¿©Çϰí�ú ÇÏ´Â °Í�Ì XML �Û¾÷±¸·ì�Ç �ǵµ�ÌÁö¸¸, ÇâÈÄ XML�Ç ¹ö�ü�» ¸¸µé °Í�ΰ¡, ¸¸µé¸é ¾î¶² ¹øÈ£ ºÙ�Ì´Â ¹æ½Ä�» »ç¿ë ÇÒ °Í�ΰ¡¸¦ È®�ÎÇϰí �ÖÁö´Â ¾Ê´Ù. ÇâÈÄ ¹ö�üµé¿¡ ´ëÇÑ °áÁ¤�Ì ¾ø�¸¹Ç·Î, �Ì ±¸¼º�º �Úµ¿ ¹ö�ü �νÄ�Ç °¡´É¼º�» Çã¿ëÇÏ´Â ¼ö´Ü�» Á¦°øÇϸç, ÇÊ¿ä ÇÒ °Í�Ì´Ù. ó¸®�Ú(processor)´Â, Áö¿øµÇÁö ¾Ê´Â ¹ö�üµé·Î ¶óº§µÈ ¹®¼­µé�» ¹Þ¾Ò�» ¶§, ¿�·ù ½ÅÈ£¸¦ º¸³¾ ¼ö �Ö´Ù.

XML ¹®¼­¿¡¼­ ÄÚµå(markup)�Ç ±â´É(function)�º, ±× �ú�å°ú ³í¸®�û ±¸Á¶, ¿¬°üµÈ ¾ÖÆ®¸®ºäÆ® °ª°ú ¦�̵Ǵ ±× ³í¸®�û ±¸Á¶¸¦ ±â¼úÇϱâ �§ÇÑ °Í�Ì´Ù. XML�º ¹®¼­ Ÿ�Ô ¼±¾ð(document type declaration), ³í¸®�û ±¸Á¶�Ç Á¦ÇÑ¿ä¼Ò Á¤�Ç¿Í »ç�ü¿¡ Á¤�ÇµÈ �ú�å ´Ü�§µé�Ç »ç¿ë�» Áö¿øÇÏ´Â ±â±¸(mechanism)¸¦ Á¦°øÇÑ´Ù. ¸¸�Ï ¿¬°üµÈ ¹®¼­ Ÿ�Ô ¼±¾ð¸¦ °®°í �Ö°í, ¹®¼­°¡ ±× ¾È¿¡ ³ªÅ¸³­ Á¦ÇÑ¿ä¼Ò¿¡ ¸Â´Â´Ù¸é, XML ¹®¼­´Â �¯È¿(valid)ÇÏ´Ù.

¹®¼­ Ÿ�Ô ¼±¾ð�º ¹®¼­ ¾È¿¡¼­ ÃÖÃÊ�Ç ¿¤·¹¸àÆ®(element)º¸´Ù ¸Õ�ú ³ª¿Í¾ß ÇÑ´Ù.

¼­¹®(Prolog)
[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 ::= CommentPIS

XML ¹®¼­ Ÿ�Ô ¼±¾ð(document type declaration)´Â ¹®¼­�Ç ºÐ·ù¸¦ �§ÇÏ¿© ¹®¹ý�» Á¦°øÇÏ´Â ÄÚµå ¼±¾ðµé�» Æ÷ÇÔÇϰųª Áö¸íÇÑ´Ù. �Ì ¹®¹ý�º ¹®¼­ Ÿ�Ô Á¤�Ç(DTD: document type definition)·Î ¾Ë·ÁÁ® �Ö´Ù. ¹®¼­ Ÿ�Ô ¼±¾ð�º ¿ÜºÎ�û ÇϺμ¼Æ®(¿ÜºÎ�û ¿£Æ¼Æ¼�Ç Æ¯º°ÇÑ Á¾·ù)³ª Æ÷ÇÔÇÏ´Â ÄÚµå(markup) ¼±¾ðµé¸¦ Áö¸í ÇÒ ¼ö �Ö°í, ¶Ç´Â, ³»ºÎ�û ÇϺμ¼Æ®(subset) ¾È¿¡ Á÷Á¢�û�¸·Î ÄÚµå ¼±¾ðµé�» Æ÷ÇÔ ÇÒ ¼ö �Ö°í, µÑ ´Ù ÇÒ ¼öµµ �Ö´Ù. ¹®¼­�Ç DTD´Â µÎ°¡Áö ÇϺμ¼Æ®µé�Ì °°�Ì ±¸¼ºµÈ´Ù.

ÄÚµå ¼±¾ð�º is ¿¤·¹¸àÆ® Ÿ�Ô ¼±¾ð, ¾ÖÆ®¸®ºäÆ® ¸ñ·Ï ¼±¾ð, ¿£Æ¼Æ¼ ¼±¾ð, ¶Ç´Â ÁÖ¼®(notation) ¼±¾ð�Ì´Ù. �Ì ¼±¾ðµé�º,¾Æ·¡ ¼³¸íµÈ ¹Ù¿Í °°�º �ß Çü¼ºµÇ°í �¯È¿¼º Á¦ÇÑ¿ä¼Ò¿¡ µû¶ó , �üºÎ Ȥ�º �Ϻθ¦ ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼ ¾È¿¡ Æ÷ÇÔ ÇÒ ¼ö �Ö´Ù. »ó¼¼ÇÑ Á¤º¸´Â 4. "¹°¸®�û ±¸Á¶"¸¦ ÂüÁ¶Ç϶ó.

¹®¼­ Ÿ�Ô Á¤�Ç(Document Type Definition)
[28]  doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S? ('[' (markupdeclPEReferenceS)* ']' S?)? '>' [ VC: ÃÖ»ó�§ ¿¤·¹¸àÆ® Ÿ�Ô ]
[29]  markupdecl ::= elementdeclAttlistDeclEntityDeclNotationDeclPIComment [ VC: �ûÁ¤ ¼±¾ð/PE ³×½ºÆÃ ]
[ WFC: ³»ºÎ�û ÇϺμ¼Æ®¿¡¼­ PE ]

ÄÚµå(markup) ¼±¾ðµé�º ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼�Ç ±³Ã¼ ÅØ½ºÆ® �üºÎ³ª �ϺκÐ�¸·Î ¸¸µé¾î Áú ¼ö �Ö´Ù. �̱԰Ý�Ç ³ªÁß ºÎºÐ¿¡ °³º° ºñ Å͹̳Î(nonterminal)µé�» �§ÇÑ(elementdecl, AttlistDecl µî) ¸ðµç ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼(entity)µé�Ì Æ÷ÇÔ µÈ ´Ù�½¿¡ ¼±¾ðµé�Ç ¼³¸í�Ì µÇ¾ú´Ù.

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: ÃÖ»ó�§(root) ¿¤·¹¸àÆ®(element) Ÿ�Ô
¹®¼­ Ÿ�Ô ¼±¾ð�Ç �̸§(Name)�Ì ÃÖ»ó�§ ¿¤·¹¸àÆ®�Ç ¿¤·¹¸àÆ® Ÿ�Ô°ú �ÏÄ¡ÇÏ¿©¾ß ÇÑ´Ù.

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: �ûÁ¤ ¼±¾ð/PE ³×½ºÆÃ
ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼(entity) ±³Ã¼ ÅØ½ºÆ®´Â ÄÚµå(markup) ¼±¾ðµé°ú �ûÁ¤ÇÏ°Ô ³×½ºÆÃ(nest)µÇ¾î¾ß ÇÑ´Ù. ¸»ÇÏ�Ú¸é, ÄÚµå(markup) ¼±¾ð(�§ markupdecl)�Ç Ã¹ ±Û�Ú³ª ¸¶Áö¸· ±Û�Ú°¡ ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼ ÂüÁ¶�Ç ±³Ã¼ ÅØ½ºÆ® ¾È¿¡ Æ÷ÇԵǾî �Ö�¸¸é, µÑ ´Ù °°�º ±³Ã¼ ÅØ½ºÆ® ¾È¿¡ Æ÷ÇԵǾî¾ß ÇÑ´Ù.

�ß Çü¼ºµÊ�» �§ÇÑ Çʼö»çÇ×: ³»ºÎ�û ÇϺμ¼Æ®(subset) ¾È�Ç PE
³»ºÎ�û DTD ÇϺμ¼Æ®¿¡¼­, ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼ ÂüÁ¶´Â, ÄÚµå(markup) ¼±¾ðµé ¾È¿¡´Â ³ª¿Ã ¼ö ¾ø°í, ÄÚµå ¼±¾ðµé�Ì ³ª¿Ã ¼ö �Ö´Â °÷¿¡ ¸¸ ³ª¿Ã ¼ö �Ö´Ù. (�Ì´Â ¿ÜºÎ�û ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼(entity) ¾È¿¡¼­ ¶Ç´Â ¿ÜºÎ�û ÇϺμ¼Æ®¿¡ ³ª¿�´Â ÂüÁ¶¿¡ ´ëÇØ¼­´Â �û¿ëµÇÁö ¾Ê´Â´Ù.)

³»ºÎ�û ÇϺμ¼Æ®¿Í ¸¶Âù°¡Áö·Î, DTD ¾È¿¡¼­ ÂüÁ¶ÇÏ´Â ¿ÜºÎ�û ÇϺμ¼Æ®¿Í ¿ÜºÎ�û ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼´Â, ºñ Å͹̳Π±âÈ£(symbol) markupdecl¿¡ �ÇÇÏ¿© Çã¿ëµÇ´Â Ÿ�Ô�Ç, °ø¹é�¸·Î ºÐ¸°µÈ ¶Ç´Â ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼ ÂüÁ¶�Ç, �Ï·Ã�Ç ¿Ï�üÇÑ Äڵ弱¾ðµé·Î ±¸¼ºµÇ¾î¾ß ÇÑ´Ù. ±×·¯³ª ¿ÜºÎ�û ÇϺμ¼Æ®³ª ¿ÜºÎ�û ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼�Ç ³»¿ë(content) ºÎºÐµé�Ì, Á¶°Ç�û Ç׸ñ ±¸¼º�» »ç¿ëÇÏ¿©, Á¶°Ç¿¡ µû¶ó ¹«½Ã µÉ ¼ö �Ö´Ù; �Ì´Â ³»ºÎ�û ÇϺμ¼Æ®¿¡¼­´Â Çã¿ëµÇÁö ¾Ê´Â´Ù.

¿ÜºÎ�û ÇϺμ¼Æ®(External Subset)
[30]  extSubset ::= TextDecl? ¿µ¹® extSubsetDecl
[31]  extSubsetDecl ::= ( markupdeclconditionalSectPEReferenceS )*

¿ÜºÎ�û ÇϺμ¼Æ®(subset)¿Í ¿ÜºÎ�û ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼(entity)´Â ¶ÇÇÑ ±× ¾È�Ç ³»ºÎ�û ÇϺμ¼Æ®¿¡¼­¿Í ´Ù¸¥µ¥, ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼ ÂüÁ¶´Â ÄÚµå(markup) ¼±¾ðµé »ç�Ì¿¡¼­ »Ó ¾Æ´Ï¶ó, ¼Ó¿¡¼­µµ Çã¿ëµÈ´Ù.

¹®¼­ Ÿ�Ô ¼±¾ð(document type declaration)�» °®´Â XML ¹®¼­ ¿¹Á¦:

<?xml version="1.0"?>
<!DOCTYPE greeting SYSTEM "hello.dtd">
<greeting>¿©·¯ºÐ ¾È³çÇϼ¼¿ä!</greeting>

½Ã½ºÅÛ �νÄ�Ú(identifier) "hello.dtd"´Â ¹®¼­¸¦ �§ÇÑ DTD�Ç URI¸¦ Á¦°øÇÑ´Ù.

±× ¼±¾ðµé�º ¿¹Á¦¿Í °°�Ì Áö¿ª�û�¸·Î ÁÖ¾î Áú ¼ö �Ö´Ù:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE greeting [
  <!ELEMENT greeting (#PCDATA)>
]>
<greeting>¿©·¯ºÐ ¾È³çÇϼ¼¿ä!</greeting>

¿ÜºÎ�û°ú ³»ºÎ�û ÇϺμ¼Æ®(subset)µé�Ì ´Ù »ç¿ëµÇ¸é, ³»ºÎ�û ÇϺμ¼Æ®°¡ ¿ÜºÎ�û ÇϺμ¼Æ®º¸´Ù ¸Õ�ú ³ª¿Â °Í�¸·Î °£ÁֵȴÙ. ³»ºÎ�û ÇϺμ¼Æ®¿¡ �Ö´Â ¿£Æ¼Æ¼(entity)¿Í ¾ÖÆ®¸®ºäÆ® ¸ñ·Ï ¼±¾ðµé�Ì ¿ÜºÎ�û ÇϺμ¼Æ®¿¡ �Ö´Â °Í¿¡ ¿ì¼±ÇÏ¿© �Û¿ëÇÏ´Â È¿°ú¸¦ °®´Â´Ù.

2.9 µ¶¸³ ¹®¼­ ¼±¾ð(Standalone Document Declaration)

ÄÚµå(markup) ¼±¾ðµé�º XML ó¸®�Ú(processor)·ÎºÎÅÍ �û¿ë(application)¿¡ �ü´ÞÇÔ¿¡ µû¶ó ¹®¼­¿¡ ³»¿ë¿¡ ¿µÇâ�» ÁÙ ¼ö �Ö´Ù; ¿¹¸¦ µé¸é ¾ÖÆ®¸®ºäÆ®(attribute) µðÆúÆ®µé°ú ¿£Æ¼Æ¼(entity) ¼±¾ðµé�Ì´Ù. µ¶¸³ ¹®¼­ ¼±¾ð�º XML ¼±¾ð�Ç ºÎºÐ�¸·Î ³ªÅ¸³¯ ¼ö �Ö�¸¸ç, ¹®¼­ ¿£Æ¼Æ¼¿¡ ¿ÜºÎ�û�¸·Î �Ì¿Í °°�º ¼±¾ðµé�Ì �ִ°¡ ¾ø´Â°¡�Ç ½ÅÈ£¸¦ ÁØ´Ù.

µ¶¸³ ¹®¼­ ¼±¾ð(Standalone Document Declaration)
[32]  SDDecl ::= S 'standalone' Eq (("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no') '"')) [ VC: µ¶¸³ ¹®¼­ ¼±¾ð ]

µ¶¸³ ¹®¼­ ¼±¾ð(Standalone Document Declaration)¿¡¼­, °ª "yes"´Â, XML ó¸®�Ú(processor)·ÎºÎÅÍ �û¿ë(application)¿¡ �ü´ÞµÇ´Â Á¤º¸¿¡ ¿µÇâ�» ÁÖ´Â, ¹®¼­ ¿£Æ¼Æ¼(DTD¿¡ ¿ÜºÎ�û ÇϺμ¼Æ®�̳ª, ³»ºÎ�û ÇϺμ¼Æ®µé·Î ºÎÅÍ ÂüÁ¶µÇ´Â ¿ÜºÎ�û ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼)¿¡ ¿ÜºÎ�û�Î ÄÚµå(markup) ¼±¾ð�Ì ¾ø½¿�» ³ªÅ¸³½´Ù. °ª "no"´Â �Ì¿Í °°�º ¿ÜºÎ�û ÄÚµå ¼±¾ðµé�Ì �ְųª, �Ö�» ¼ö �Ö½¿�» ³ªÅ¸³½´Ù. µ¶¸³ ¹®¼­ ¼±¾ð�º ´ÜÁö ¿ÜºÎ�û ¼±¾ðµé�Ç Á¸�縦, �Ìµé ¿£Æ¼Æ¼µé�Ì ³»ºÎ�û�¸·Î ¼±¾ðµÇ¾ú�¸¸é ¹®¼­¿¡¼­ ¿ÜºÎ�û ¿£Æ¼Æ¼·Î ÂüÁ¶ÇÔ�Ç Á¸�縦 ³ªÅ¸³»°í, ±× µ¶¸³¼º�Ç »óÅ´ º¯ÇÏÁö ¾Ê�½¿¡ ÁÖ�ÇÇ϶ó.

¸¸�Ï ¿ÜºÎ�û ÄÚµå ¼±¾ðµé�Ì ¾ø�¸¸é, µ¶¸³ ¹®¼­ ¼±¾ð�º ¾Æ¹« �ǹ̸¦ °®Áö ¾Ê´Â´Ù. ¿ÜºÎ�û ÄÚµå ¼±¾ðµé�Ì �Ö�¸³ª µ¶¸³ ¹®¼­ ¼±¾ð�Ì ¾ø�¸¸é, ±× °ª�º "no"·Î °£ÁֵȴÙ.

standalone="no"�» °°°í �Ö´Â XML ¹®¼­´Â º¯È¯ ±â´É(algorithmically)�¸·Î µ¶¸³ ¹®¼­·Î º¯È¯ µÉ ¼ö �Ö�¸¸ç, �Ì´Â �ϺΠ³×Æ®¿öÅ© ¹è´Þ(�ü´Þ) �û¿ë¿¡ ¹Ù¶÷Á÷ ÇÒ ¼ö �Ö´Ù

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: µ¶¸³ ¹®¼­ ¼±¾ð(Standalone Document Declaration)
µ¶¸³ ¹®¼­ ¼±¾ð�Ì °ª "no"¸¦ °¡Áö¸é ¿ÜºÎ�û ÄÚµå(markup) ¼±¾ðµé�º ´Ù�½�Ç ¼±¾ðµé�» Æ÷ÇÔÇÑ´Ù:

  • �Ì ¾ÖÆ®¸®ºäÆ®µé�Ì �û¿ëµÇ´Â ¿¤·¹¸àÆ®°¡ ¹®¼­ ¾È¿¡ ³ªÅ¸³ª´Âµ¥, �Ì ¾ÖÆ®¸®ºäÆ®�Ç °ªµé�Ì ÁöÁ¤µÇÁö ¾Ê¾Ò�¸¸é, µðÆúÆ® °ªµé�» °®´Â ¾ÖÆ®¸®ºäÆ®µé, ¶Ç´Â
  • ¹®¼­ ¾È¿¡¼­ �Ìµé ¿£Æ¼Æ¼(entity)µé�» ÂüÁ¶Çϸé, amp, lt, gt, apos, quot �Ì¿Ü�Ç ¿£Æ¼Æ¼, ¶Ç´Â
  • Á¤»óÈ­(normalization) µÉ °ªµé�» °®´Â ¾ÖÆ®¸®ºäÆ®µé, ¿©±â¼­, Á¤»óÈ­(normalization)�Ç °á°ú ¹Ù²ð °ª�» °®´Â ¾ÖÆ®¸®ºäÆ®(attribute)°¡ ¹®¼­¿¡ ³ªÅ¸³­´Ù, ¶Ç´Â
  • �̵é Ÿ�Ôµé�Ç �νºÅº½º(instance) ¾È¿¡ °ø¹é�Ì Á÷Á¢�û�¸·Î ³ªÅ¸³ª¸é, ¿¤·¹¸àÆ® ³»¿ë�» °®´Â ¿¤·¹¸àÆ® Ÿ�Ôµé.

µ¶¸³ ¹®¼­ ¼±¾ð(Standalone Document Declaration)�» °®´Â XML ¼±¾ð�Ç ¿¹Á¦:

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

2.10 °ø¹é�Ç Ã³¸®

XML ¹®¼­µé�» �Û¼ºÇϴµ¥, �ÚÁÖ "°ø¹é"(�̱԰ݿ¡¼­ ºñÅ͹̳ΠS·Î Ç¥±âÇÑ °ø°£, ÅÇ, ºóÁÙ)�» »ç¿ëÇϱâ �§ÇÏ¿© º¯È¯ÇÏ¿©, Äڵ带 ÈνŠ�б⠽±°ÔÇÑ´Ù. �Ì¿Í °°�º °ø¹é�º �üÇü�û�¸·Î �Ì ¹®¼­�Ç ¹ö�ü¿¡ Æ÷ÇÔÇϱâ �§ÇÏ¿© �ǵµµÈ °Í�º ¾Æ´Ï´Ù. �̿ʹ ´Þ¸® "»ó´çÇÑ" °ø¹é�Ì �¯ÁöµÇ¾î¾ß ÇÏ´Â °æ¿ì°¡ ¸¹�Ì �ִµ¥ ½Ã ¹®±¸³ª ¼Ò½ºÄڵ尡 ±× ¿¹�Ì´Ù.

XML ó¸®�Ú´Â Ç×»ó ¹®¼­ ¾È�Ç ºñ ÄÚµå(markup)�Ç ¸ðµç ±Û�Úµé�» �û¿ë(application)¿¡ �ü´ÞÇÏ¿©¾ß ÇÑ´Ù. �¯È¿¼º °ËÁ¤ XML ó¸®�Ú´Â ¶ÇÇÑ �û¿ë¿¡°Ô, ¿¤·¹¸àÆ® ³»¿ë ¾È¿¡ ³ªÅ¸³ª´Â °ø¹é�» ±¸¼ºÇÏ´Â �Ì ±Û�ڵ鿡 ´ëÇÑ, Á¤º¸¸¦ Á¦°øÇÏ¿©¾ß ÇÑ´Ù.

°ø¹é�Ì �û¿ë¿¡¼­ ±×´ë·Î �¯ÁöµÇµµ·Ï, ¿¤·¹¸àÆ®¿¡ �ǵµÇÏ´Â ½ÅÈ£¸¦ º¸³»±â �§ÇÏ¿©, 'xml:space'·Î �̸§ Áö¿öÁø Ưº°ÇÑ ¾ÖÆ®¸®ºäÆ®°¡ ¿¤·¹¸àÆ®(element)¿¡ ÷ºÎ µÉ ¼ö �Ö´Ù. �¯È¿ÇÑ(valid) ¹®¼­µé¿¡¼­, �Ì ¾ÖÆ®¸®ºäÆ®´Â ´Ù¸¥ °Í°ú ¸¶Âù°¡Áö·Î, �̰Í�Ì »ç¿ëµÇ¸é, ¼±¾ðµÇ¾î¾ß ÇÑ´Ù. ¼±¾ðµÇ¸é, °ªµé�º µðÆúÆ®("default")¿Í �¯Áö("preserve") ¸¸�Ì °¡´ÉÇÑ ¼ý�ÚÁÖ±â(enumerated) Ÿ�Ô�Ì µÇ¾î¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î:

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

°ª "default"´Â �û¿ë(application)�Ç �Ì ¿¤·¹¸àÆ® µðÆúÆ® °ø¹éó¸® °úÁ¤�Ì¸é ¸¸Á·½º·´´Ù´Â ½ÅÈ£¸¦ º¸³»°í; °ª "preserve"´Â ¸ðµç °ø¹é�» ±×´ë·Î �¯ÁöÇϰڴٴ �ǵµ¸¦ �û¿ë¿¡ ¾Ë·ÁÁØ´Ù. �Ì ¼±¾ðµÈ �ǵµ´Â ³»¿ë ¾È ÁöÁ¤µÈ ±× ¿¤·¹¸àÆ®�Ç ¸ðµç ¿¤·¹¸àÆ®µé¿¡, ´Ù¸¥ 'xml:space' ¾ÖÆ®¸®ºäÆ®�Ç �νºÅº½º·Î µ¤¾î ¾º¿ì±â µÇÁö ¾Ê´Â ÇÑ, �û¿ë ÇÒ °Í�¸·Î °£ÁֵȴÙ.

¹®¼­�Ç ÃÖ»ó�§(root) ¿¤·¹¸àÆ®´Â, �Ì ¾ÖÆ®¸®ºäÆ®�Ç °ª�Ì Á¦°øµÇ°Å³ª, ¾ÖÆ®¸®ºäÆ®°¡ µðÆúÆ® °ª�¸·Î ¼±¾ðµÇÁö ¾Ê´Â ÇÑ, �û¿ë�Ç °ø¹é 󸮿¡ �ǵµ°¡ ¾ø´Ù´Â ½ÅÈ£¸¦ ¹Þ�º °Í�¸·Î °£ÁÖÇÑ´Ù.

2.11 ÁÙ ³¡�Ç Ã³¸®(End-of-Line Handling)

XML·Î ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼´Â �ÚÁÖ ÄÄÇ»ÅÍ È­�ϵé·Î �ú�åµÈ¸ç, ÆíÁý�Ç Æí�̼º�» �§ÇÏ¿©, ÁÙ(line)µé·Î ¸¸µé¾î Áø´Ù. �Ì ÁÙµé�º �üÇü�û�¸·Î ¸®ÅÏ(carriage-return: '#xD')°ú ÁÙ°ø±Þ(line-feed: '#xA') ±Û�Úµé�Ç Á¶ÇÕ�¸·Î ºÐ¸®µÈ´Ù.

�û¿ë(applications)�Ç �Ó¹«¸¦ ´Ü¼øÈ­ Çϱâ �§ÇÏ¿©, ³»ºÎ�û�¸·Î ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼�Ç ¿ÜºÎ�û�¸·Î ÇØ¼®µÈ ¿£Æ¼Æ¼³ª ¸®ÅͶö(literal) ¿£Æ¼Æ¼ °ª�Ì ¸®ÅͶö ¿¬¼Ó µÎ ±Û�Ú "#xD#xA" ¶Ç´Â ´Ü�Ï ±Û�Ú "#xD"�Ì¸é ¾ðÁ¦³ª, XML ó¸®�Ú(processor)´Â �û¿ë(application)¿¡°Ô ´Ü�Ï ±Û�Ú "#xA"¸¦ �ü´ÞÇÏ¿©¾ß ÇÑ´Ù. (�Ì È°µ¿�º, ÇØ¼® �ü¿¡ Á¤»óÈ­¿¡ �ÇÇÏ¿© ¸ðµç ÁٹٲÞ�» �Ô·Â(input)¿¡¼­ "#xA"·Î Æí¸®ÇÏ°Ô »ý¼º ÇÒ ¼ö �Ö´Ù.)

2.12 ¾ð¾î�Ç �νÄ

¹®¼­ 󸮿¡¼­, ±× ¹®¼­°¡ �Û¼ºµÈ ³»¿ë�Ç �Ú¿¬ Ȥ�º °ø½Ä ¾ð¾î¸¦ ÁöÁ¤ÇÏ´Â °Í�Ì �ÚÁÖ �¯¿ëÇÏ´Ù. 'xml:lang'·Î �̸§Áö¿ö Áø Ưº° ¾ÖÆ®¸®ºäÆ®°¡ ¹®¼­¿¡ »ð�ÔµÇ¾î ³»¿ë¿¡ »ç¿ëµÈ ¾ð¾î¸¦ ÁöÁ¤ ÇÒ ¼ö �Ö°í, XML ¹®¼­�Ç ¾î¶² ¿¤·¹¸àÆ® ¾ÖÆ®¸®ºäÆ® °ª�» ÁöÁ¤ ÇÒ ¼ö �Ö´Ù. �¯È¿ÇÑ(valid) ¹®¼­µé¿¡¼­, �Ì ¾ÖÆ®¸®ºäÆ®(attribute)´Â ´Ù¸¥ °Í°ú ¸¶Âù°¡Áö·Î, »ç¿ëµÇ¸é ¼±¾ðµÇ¾î¾ß ÇÑ´Ù. ¾ÖÆ®¸®ºäÆ®�Ç °ªµé�º [IETF RFC 1766], "¾ð¾î¸¦ �νÄÇϱâ �§ÇÑ Å±׵é"¿¡ Á¤�Ç µÈ ¹Ù¿Í °°�º ¾ð¾î �νÄ�Ú(identifier)µé�Ì´Ù:

¾ð¾î�Ç �νÄ(Language Identification)
[33]  LanguageID ::= Langcode ('-' Subcode)*
[34]  Langcode ::= ISO639CodeIanaCodeUserCode
[35]  ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z])
[36]  IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+
[37]  UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+
[38]  Subcode ::= ([a-z] | [A-Z])+

Langcode´Â ¾Æ·¡ °Í Áß�Ç Çϳª°¡ µÉ ¼ö �Ö´Ù:

  • [ISO 639]�Ç "¾ð¾îµé�Ç �̸§�» ³ªÅ¸³»´Â ÄÚµå"¿¡ Á¤�ÇµÈ µÎ±Û�Ú ¾ð¾î ÄÚµå
  • '�ÎÅÍ³Ý ÇÒ´ç ¹øÈ£ ´ç±¹'[IANA](Internet Assigned Numbers Authority)¿¡ µî¿ÁµÈ ¾ð¾î �νÄ�Ú(identifier); �Ì´Â "i-"(¶Ç´Â "I-")�Ç Á¢µÎ¾î·Î ½Ã�۵ȴÙ.
  • »ç¿ë�Ú¿¡ �ÇÇÏ¿©, Ȥ�º °³�Î�û »ç¿ë¿¡¼­ ´ç»ç�Ú³¢¸® ÇÕ�ÇÇÏ¿© ÁöÁ¤µÈ ¾ð¾î �νÄ�Ú(identifier); �Ì´Â IANA¿¡ ÇâÈÄ Ç¥ÁØÈ­µÇ°Å³ª µî·ÏµÉ �̸§°ú ¸¶ÂûÇÏÁö ¾Êµµ·Ï È®½ÇÈ÷ Çϱâ �§ÇÏ¿© Á¢µÎ¾î "x-" ¶Ç´Â "X-" ·Î ½Ã�۵Ǿî¾ß ÇÑ´Ù.

¾î¶²¼ö�Ç ÇϺÎÄÚµå(Subcode) ºÎºÐ(segment)µé�Ì �Ö�» ¼ö �Ö´Ù; ¸¸�Ï ÇϺÎÄڵ尡 �Ö°í µÎ°³�Ç ±Û�Ú·Î ±¸¼ºµÇ¾î �Ö�¸¸é, �Ì´Â [ISO 3166]�Ç "±¹°¡µé�Ç �̸§�» Ç¥ÇöÇÏ´Â ÄÚµåµé"¿¡¼­ ¿Ô�» °Í�̸ç, ¸¸�Ï Ã³�½ ÇϺÎÄڵ尡 µÎ°³º¸´Ù ¸¹�º ±Û�Ú·Î ±¸¼ºµÇ¾î �Ö�¸¸é, Langcode°¡ Á¢µÎ¾î "x-" Ȥ�º "X-"·Î ½Ã�ÛÇÏÁö ¾Ê´Â ÇÑ, �Ì´Â IANA¿¡ µî·ÏµÈ ¾ð¾î ÇϺÎÄÚµå �Ï °Í�Ì´Ù.

½�°ü�û�¸·Î ¾ð¾îÄÚµå´Â ¼Ò¹®�Ú·Î, ±¹°¡ÄÚµå´Â (�Ö�¸¸é) ´ë¹®�Ú·Î ÁÖ¾îÁø´Ù. �Ì °ªµé�º XML ¹®¼­¿¡¼­ ´Ù¸¥ �̸§µé°ú´Â ´Ù¸£°Ô ´ë¼Ò¹®�Ú¸¦ ±¸º°ÇÏÁö ¾Ê´Â´Ù´Â Á¡¿¡ ÁÖ�ÇÇ϶ó.

¿¹¸¦ µé¾î:

<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?m Bem?'n.</l>
  </sp>

�ǵµ�û�¸·Î 'xml:lang'·Î ¼±¾ðµÈ °Í�º, ±× ³»¿ë ¾È¿¡¼­ ´Ù¸¥ ¿¤·¹¸àÆ®¿¡ 'xml:lang' �νºÅº½º(instance)¸¦ »ç¿ëÇÏ¿© µ¤¾î¾º¿ò�» ÇÏÁö ¾Ê´Â ÇÑ, ±× Á¤�Ç µÈ ¿¤·¹¸àÆ®(element)�Ç ¸ðµç ¾ÖÆ®¸®ºäÆ®(attribute)µé°ú ³»¿ë(content)¿¡ �û¿ëÇÏ´Â °Í�¸·Î °£ÁֵȴÙ.

'xml:lang'�Ç °£´ÜÇÑ ¼±¾ð�º ¾Æ·¡ ¾ç½Ä�» °®´Â´Ù;

xml:lang  NMTOKEN  #IMPLIED

±×·¯³ª, �ûÁ¤ÇÏ´Ù¸é, ƯÁ¤ µðÆúÆ® °ªµé�Ì ÁÖ¾î Áú ¼öµµ �Ö´Ù. ¿µ±¹ Çлýµé¿¡°Ô ºÒ¾î ½Ãµé�Ç ¸ð�½¿¡¼­, ¼³¸í°ú ÁÖ¼®�º ¿µ¾î·Î ÇÒ ¶§, 'xml:lang' ¾ÖÆ®¸®ºäÆ®´Â ´Ù�½°ú °°�Ì ¼±¾ð µÉ ¼ö �Ö´Ù:

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


3. ³í¸®�û ±¸Á¶

°¢ XML ¹®¼­´Â Çϳª �Ì»ó�Ç ¿¤·¹¸àÆ®(element)µé °®°í, ±× ¹ü�§´Â ½Ã�ÛÅÂ±×¿Í Á¾·áű×, ¶Ç´Â ºó(empty) ¿¤·¹¸àÆ®¿¡¼­´Â ºó ¿¤·¹¸àÆ® ű×(tag)·Î ±¸ºÐµÈ´Ù. °¢ ¿¤·¹¸àÆ®´Â Ÿ�Ô(type)�» °®°í, ¶§·Î´Â "Ư�¯ �νÄ�Ú"(GI: Generic Identifier)·Î ºÒ¸®¿ì´Â �̸§�¸·Î �νĵǰí, �Ï·Ã�Ç ¾ÖÆ®¸®ºäÆ® ±Ô°Ýµé�» °¡Áú ¼ö �Ö´Ù. °¢ ¾ÖÆ®¸®ºäÆ®(attribute)�Ç ±Ô°Ý�º �̸§(name)°ú °ª�» °®´Â´Ù.

¿¤·¹¸àÆ®(Element)
[39]  element ::= EmptyElemTag
STag content ETag [ WFC: ¿¤·¹¸àÆ® Ÿ�Ô�ÏÄ¡ ]
[ VC: ¿¤·¹¸àÆ® �¯È¿ ]

�̱԰Ý�º, ±× �̸§�Ì �̱԰Ý�Ç Ç¥ÁØÈ­³ª ÇâÈÄ ¹ö�üµé�» �§ÇÑ ¿¹¾à¾î¿Í �ÏÄ¡ÇÏ´Â (('X'|'x')('M'|'m')('L'|'l'))·Î ½Ã�ÛÇÏ´Â °Í�» Á¦¿ÜÇϰí´Â, ¿¤·¹¸àÆ® Ÿ�Ôµé°ú ¾ÖÆ®¸®ºäÆ®µé�Ç ¹®¹ý(semantic), »ç¿ë, ¶Ç´Â (¹®¹ý �Ì¿Ü�Ç) �̸§�» Á¦ÇÑÇÏÁö ¾Ê´Â´Ù.

�ß Çü¼ºµÊ�» �§ÇÑ Çʼö»çÇ×: ¿¤·¹¸àÆ® Ÿ�Ô�ÏÄ¡(Element Type Match)
¿¤·¹¸àÆ®(element)�Ç Á¾·áÅÂ±× ¾È�Ç Name(�̸§)�º ½Ã�ÛÅÂ±× ¾È�Ç ¿¤·¹¸àÆ® Ÿ�Ô°ú �ÏÄ¡ÇÏ¿©¾ß ÇÑ´Ù.

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: ¿¤·¹¸àÆ® �¯È¿(Element Valid)
�̸§(Name)�Ì ±× ¿¤·¹¸àÆ® Ÿ�Ô¿¡ �ÏÄ¡ÇÏ´Â elementdecl¿Í �ÏÄ¡ÇÏ´Â ¼±¾ð�Ì �Ö�¸¸é, ¿¤·¹¸àÆ®°¡ �¯È¿(valid)Çϸç, ´Ù�½ Áß Çϳª¿¡ ÇØ´çÇÑ´Ù:

  1. ¼±¾ð�Ì 'EMPTY'(ºó°Í)¿Í �ÏÄ¡Çϰí, ¿¤·¹¸àÆ®°¡ ³»¿ë(content)�» °®°í �ÖÁö ¾Ê´Ù.
  2. ¼±¾ð�Ì �Ú½Ä(child)µé°ú �ÏÄ¡Çϰí, �Ú½Ä ¿¤·¹¸àÆ®µé�Ç ¿¬¼Ó�Ì, ³»¿ë ¸ðµ¨(model) ¾È�Ç �ϹÝ�û ÁöÁ¤(expression)�¸·Î »ý¼ºµÈ ¾ð¾î¿¡ ¼Ò¼ÓµÇ¾î �Ö°í, �Ú½Ä ¿¤·¹¸àÆ®µé�Ç °¢ ¦ »ç�Ì¿¡ ¼±ÅÃ�û °ø¹é(±Û�Ú°¡ ºñ Å͹̳ΠS¿Í �ÏÄ¡ÇÏ´Â)�» °¡Áö°í �Ö´Ù.
  3. ¼±¾ð�Ì Mixed(È¥ÇÕ)¿Í �ÏÄ¡Çϰí, ±× ³»¿ë�Ì ±Û�Ú µ¥�ÌÅÍ¿Í ±× Ÿ�Ô�Ì ³»¿ë ¸ðµ¨(model)�Ç �̸§°ú �ÏÄ¡ÇÏ´Â �Ú½Ä ¿¤·¹¸àÆ®µé·Î ±¸¼ºµÇ¾ú´Ù.
  4. ¼±¾ð�Ì ANY¿Í �ÏÄ¡Çϰí, ¾î¶² �Ú½Ä(child) ¿¤·¹¸àÆ®�Ç Å¸�Ô�Ì ¼±¾ðµÇ¾ú´Ù.

3.1 ½Ã�Ûű×, Á¾·áű×, ºó ¿¤·¹¸àÆ® ű×

ºó°Í�Ì ¾Æ´Ñ °¢ XML ¿¤·¹¸àÆ®(element)�Ç ½Ã�Û�º ½Ã�Ûű׷Πǥ½ÃµÇ¾î �Ö´Ù.

½Ã�Ûű×(Start-tag)
[40]  STag ::= '<' Name (S Attribute)* S? '>' [ WFC: �¯�Ï ¾ÖÆ®¸®ºäÆ® ±Ô°Ý ]
[41]  Attribute ::= Name Eq AttValue [ VC: ¾ÖÆ®¸®ºäÆ® °ª Ÿ�Ô ]
[ WFC: ¿ÜºÎ�û ¿£Æ¼Æ¼ ÂüÁ¶ ¾ÈÇÔ ]
[ WFC: ¾ÖÆ®¸®ºäÆ® °ª¿¡ < ¾ø½¿ ]

½Ã�ÛÅÂ±×¿Í Á¾·áÅÂ±× ¾È¿¡ �̸§(Name)�Ì ¿¤·¹¸àÆ®(element)�Ç Å¸�Ô(type)�» ÁöÁ¤ÇÑ´Ù. Name - AttValue�Ç Â¦µé�º ±× ¿¤·¹¸àÆ®�Ç ¾ÖÆ®¸®ºäÆ® ±Ô°Ý�¸·Î, °¢ ¦�Ç Name�º ¾ÖÆ®¸®ºäÆ® �̸§°ú ¾ÖÆ®¸®ºäÆ® °ª�¸·Î AttValue(' ¶Ç´Â " ±¸ºÐ�Úµé »ç�Ì�Ç ÅØ½ºÆ®)�Ç ³»¿ë�¸·Î ÂüÁ¶µÈ´Ù.

�ß Çü¼ºµÊ�» �§ÇÑ Çʼö»çÇ×: �¯�Ï ¾ÖÆ®¸®ºäÆ® ±Ô°Ý(Unique Att Spec)
°°�º ½Ã�ÛÅÂ±× ¶Ç´Â ºó ¿¤·¹¸àÆ® ÅÂ±× ¾È¿¡¼­ °°�º ¾ÖÆ®¸®ºäÆ®(attribute) �̸§�Ì ³ª¿Í¼­´Â ¾ÊµÈ´Ù.

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: ¾ÖÆ®¸®ºäÆ® °ª Ÿ�Ô(Attribute Value Type)
¾ÖÆ®¸®ºäÆ®´Â ¼±¾ðµÇ¾î �Ö¾î¾ß ÇÑ´Ù; ±× °ª�º �̸¦ �§ÇÑ ¼±¾ðµÈ Ÿ�Ô�̾î¾ß ÇÑ´Ù. (¾ÖÆ®¸®ºäÆ® Ÿ�Ô�º 3.3 "¾ÖÆ®¸®ºäÆ® ¸ñ·Ï ¼±¾ð"�» ÂüÁ¶Ç϶ó.)

�ß Çü¼ºµÊ�» �§ÇÑ Çʼö»çÇ×: ¿ÜºÎ�û ¿£Æ¼Æ¼ ÂüÁ¶°¡ ¾ø¾î¾ß ÇÔ(No External Entity References)
¾ÖÆ®¸®ºäÆ® °ªµé�º ¿ÜºÎ�û ¿£Æ¼Æ¼¿¡ ´ëÇÑ Á÷Á¢�û Ȥ�º °£Á¢�û ¿£Æ¼Æ¼ ÂüÁ¶¸¦ Æ÷ÇÔ ÇÒ ¼ö ¾ø´Ù.

�ß Çü¼ºµÊ�» �§ÇÑ Çʼö»çÇ×: ¾ÖÆ®¸®ºäÆ® °ª¿¡ '<'°¡ ¾ø¾î¾ß ÇÔ
¾ÖÆ®¸®ºäÆ® °ª¿¡¼­ Á÷Á¢�û Ȥ�º °£Á¢�û�¸·Î ÂüÁ¶µÈ ¿£Æ¼Æ¼(entity)�Ç ±³Ã¼ ÅØ½ºÆ®("&lt;" �Ì¿Ü�Ç)´Â '<'¸¦ Æ÷ÇÔ ÇÒ ¼ö ¾ø´Ù.

½Ã�Ûű×�Ç ¿¹Á¦:

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

½Ã�Ûű׷Π½Ã�ÛµÈ °¢ ¿¤·¹¸àÆ®(element)´Â, ½Ã�Ûű׿¡¼­ ÁÖ¾îÁø ¿¤·¹¸àÆ® Ÿ�Ô�» º¹»çÇÑ �̸§�» Æ÷ÇÔÇÏ´Â, Á¾·áű׷Πǥ½ÃÇÏ¿©¾ß ÇÑ´Ù:

Á¾·áű×(End-tag)
[42]  ETag ::= '</' Name S? '>'

Á¾·áű×�Ç ¿¹Á¦:

</termdef>

½Ã�ÛÅÂ±×¿Í Á¾·áÅÂ±× »ç�Ì�Ç ÅØ½ºÆ®¸¦ ¿¤·¹¸àÆ®�Ç ³»¿ë�̶ó ÇÑ´Ù:

¿¤·¹¸àÆ®�Ç ³»¿ë(Content of Elements)
[43]  content ::= (elementCharDataReferenceCDSectPIComment)*

¸¸�Ï ¿¤·¹¸àÆ®°¡ ºñ¾î(empty) �Ö�¸¸é, �Ì´Â ½Ã�Ûűװ¡ ¿­¸®�Ú ¸¶�Ú Á¾·áűװ¡ ¿Â °Í�Ì °Å³ª ºó ¿¤·¹¸àÆ® ű×�Ì´Ù. ºó ¿¤·¹¸àÆ® ű״ Ư¼öÇÑ ¾ç½Ä�» °®´Â´Ù:

ºó ¿¤·¹¸àÆ® ű×(Tags for Empty Elements)
[44]  EmptyElemTag ::= '<' Name (S Attribute)* S? '/>' [ WFC: Unique Att Spec ]

ºó ¿¤·¹¸àÆ® ű״ ³»¿ë(content)�Ì ¾ø´Â ¾î´� ¿¤·¹¸àÆ®¿¡µµ »ç¿ë µÉ ¼ö �Ö�¸¸ç, 'EMPTY' Ű¿öµå(keyword)·Î ¼±¾ðµÈ´Ù. °øÅë»ç¿ë¼º(interoperability)�» �§ÇÏ¿©, ºó ¿¤·¹¸àÆ® űװ¡ »ç¿ëµÇ¾î¾ß Çϸç, 'EMPTY'·Î ¼±¾ðµÈ ¿¤·¹¸àÆ®µé¿¡¼­ ¸¸ »ç¿ë µÉ ¼ö �Ö´Ù.

ºó(empty) ¿¤·¹¸àÆ®�Ç ¿¹Á¦:

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

3.2 ¿¤·¹¸àÆ® Ÿ�Ô ¼±¾ð

XML ¹®¼­�Ç ¿¤·¹¸àÆ®(element) ±¸Á¶´Â, �¯È¿¼º °ËÁ¤(validation) ¸ñ�û�¸·Î, ¿¤·¹¸àÆ® Ÿ�Ô°ú ¾ÖÆ®¸®ºäÆ® ¸ñ·Ï ¼±¾ðµé�» »ç¿ëÇÏ¿© Á¦ÇÑ�» ÁÙ ¼ö �Ö´Ù. ¿¤·¹¸àÆ® Ÿ�Ô ¼±¾ð�º ¿¤·¹¸àÆ®(element)�Ç ³»¿ë(content)¿¡ Á¦ÇÑ�» ÁØ´Ù.

¿¤·¹¸àÆ® Ÿ�Ô ¼±¾ð�º �ÚÁÖ ¾î¶² ¿¤·¹¸àÆ® Ÿ�Ôµé�Ì ¿¤·¹¸àÆ®�Ç �Ú½Ä(child)µé¿¡ ³ªÅ¸³¯ ¼ö �ִ°¡�Ç Á¦ÇÑ�» ÁØ´Ù. »ç¿ë�Ú�Ç ¼±ÅÃ�¸·Î, ¼±¾ð�Ì µÇÁö ¾Ê�º ¿¤·¹¸àÆ® Ÿ�Ô�Ç ¼±¾ð�Ì ³ªÅ¸³ª¸é, XML ó¸®�Ú(processor)´Â °æ°í¸¦ ¹ß»ý ½Ãų ¼ö �ִµ¥, �̰Í�º ¿�·ù°¡ ¾Æ´Ï´Ù.

¿¤·¹¸àÆ® Ÿ�Ô ¼±¾ð�º ´Ù�½°ú °°�º ¾ç½Ä�» °®´Â´Ù:

¿¤·¹¸àÆ® Ÿ�Ô ¼±¾ð(Element Type Declaration)
[45]  elementdecl ::= '<!ELEMENT' S Name S contentspec S? '>' [ VC: �¯�ÏÇÑ ¿¤·¹¸àÆ® Ÿ�Ô ¼±¾ð ]
[46]  contentspec ::= 'EMPTY' | 'ANY' | Mixedchildren

¿©±â¼­ �̸§(Name)�º ¼±¾ðµÇ´Â ¿¤·¹¸àÆ®�Ç Å¸�Ô�» ÁØ´Ù.

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: �¯�ÏÇÑ ¿¤·¹¸àÆ® Ÿ�Ô ¼±¾ð
°°�º ¿¤·¹¸àÆ®(element) Ÿ�Ô�Ì ´Ù½Ã ¼±¾ð µÉ ¼ö ¾ø´Ù.

¿¤·¹¸àÆ® Ÿ�Ô ¼±¾ð�Ç ¿¹Á¦:

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

3.2.1 ¿¤·¹¸àÆ® ³»¿ë

¿¤·¹¸àÆ®(element) Ÿ�Ô(type)�º, ±× Ÿ�Ô�Ç ¿¤·¹¸àÆ®°¡ �Ú½Ä(child) ¿¤·¹¸àÆ®µé(±Û�Ú µ¥�ÌÅÍ´Â ¾ÈµÇ°í) ¸¸�» Æ÷ÇÔÇÏ¿©¾ß Çϸç, ¼±ÅÃ�û�¸·Î °ø¹é(±Û�Ú°¡ ºñ Å͹̳¯ S¿Í �ÏÄ¡)�¸·Î ºÐ¸®µÇ¸é, ¿¤·¹¸àÆ® ³»¿ë(content)�» °®´Â´Ù. �Ì °æ¿ì, ³»¿ë ¸ðµ¨(model), ±× �Ú½Ä ¿¤·¹¸àÆ®µé�Ç Çã¿ëµÈ Ÿ�Ôµé�» °üÇÒÇÏ´Â ´Ü¼ø ¹®¹ý°ú, ±×µé�Ì ³ªÅ¸ ³¯ ¼ö �Ö´Â ¼ø¼­�Ç Á¦ÇÑ»çÇ×�» Æ÷ÇÔÇÑ´Ù. ¹®¹ý�º ³»¿ë Á¶°¢(cp: content particle)¿¡ ¸¸µé¸ç, �Ì´Â �̸§, ³»¿ë Á¶°¢�Ç ¼±Åà ¸ñ·Ï, ¶Ç´Â ³»¿ë Á¶°¢(particle)µé�Ç ¼ø¼­ ¸ñ·Ïµé·Î ±¸¼ºµÈ´Ù:

¿¤·¹¸àÆ® ³»¿ë ¸ðµ¨(Element-content Model)
[47]  children ::= (choiceseq) ('?' | '*' | '+')?
[48]  cp ::= (Namechoiceseq) ('?' | '*' | '+')?
[49]  choice ::= '(' S? cp ( S? '|' S? cp )* S? ')' [ VC: �ûÁ¤ ±¸·ì/PE ³×½ºÆÃ ]
[50]  seq ::= '(' S? cp ( S? ',' S? cp )* S? ')' [ VC: �ûÁ¤ ±¸·ì/PE ³×½ºÆÃ ]

¿©±â¼­ °¢ �̸§(Name)�º �Ú½Ä(child)¿¡ ³ªÅ¸³¯ ¼ö �Ö´Â ¿¤·¹¸àÆ®(element)�Ç Å¸�Ô�Ì´Ù. ¼±Åà ¸ñ·Ï�Ç ¾î¶² ³»¿ë(content) Á¶°¢(particle)µµ ¿¤·¹¸àÆ® ³»¿ë ¾È�Ç ¹®¹ý¿¡¼­ ¼±Åà ¸ñ·Ï�Ì ³ªÅ¸³ª´Â �§Ä¡¿¡ ³ªÅ¸³¯ ¼ö �Ö´Ù; �Ï·Ã�Ç ¸ñ·Ï ¾È¿¡¼­ ³ª¿�´Â ³»¿ë Á¶°¢µé�º ±× ¸ñ·Ï ¾È¿¡¼­ ÁÖ¾îÁø ¼ø¼­·Î ±× ¿¤·¹¸àÆ® ³»¿ë¿¡ °¢°¢ ³ªÅ¸³ª¾ß ÇÑ´Ù. �̸§�̳ª ¸ñ·Ï µÚ�Ç ¼±ÅÃ�û ±Û�Ú°¡ ¸ñ·Ï ¾È¿¡¼­ ¿¤·¹¸àÆ®³ª ³»¿ë Á¶°¢µé�Ì Çѹø �Ì»ó(+), Çѹøµµ ¾ø°Å³ª ¿©·¯¹ø(*), Çѹø ³ª¿�´ø°¡ ¾È ³ª¿�´ø°¡(?)ÇÏ´Â °Í�» °áÁ¤ÇÑ´Ù. �Ì¿Í °°�º ¿�ÆÛ·¹�ÌÅÍ(operator)°¡ ¾ø�¸¸é, ¿¤·¹¸àÆ®³ª ³»¿ë Á¶°¢�Ì ²� Çѹø ³ª¿Í¾ß ÇÑ´Ù´Â °Í�» �ǹÌÇÑ´Ù. �Ì ¹®¹ý°ú �ǹ̴ �̱԰Ý�Ç Á¦�Û¿¡ »ç¿ëµÈ °Í°ú µ¿�ÏÇÏ´Ù.

³»¿ë(content) ¸ðµ¨(model)�» ÅëÇÏ¿© °æ·Î(path)¸¦ Ãß�û ÇÒ ¼ö �Ö°í, ¼ø¼­¿¡ µû¸£°í, ¼±ÅÃÇÏ¿´°í, ¹Ýº¹�û ¿�ÆÛ·¹�ÌÅÍ(operator)�̰í, ³»¿ë�Ç °¢ ¿¤·¹¸àÆ®°¡ ³»¿ë(content) ¸ðµ¨(model)�Ç ¿¤·¹¸àÆ® Ÿ�Ô¿¡ ´ëÇÏ¿© �ÏÄ¡ ÇÒ ¶§¿¡ ÇÑÇØ¼­, ¿¤·¹¸àÆ®�Ç ³»¿ë�º ³»¿ë ¸ðµ¨°ú �ÏÄ¡ÇÑ´Ù ±Ô°ÝºÎÇÕ¼º(compatibility)�» �§ÇÏ¿©, ¹®¼­�Ç ¿¤·¹¸àÆ®°¡ ³»¿ë ¸ðµ¨�Ç ¿¤·¹¸àÆ®(element) Ÿ�Ô°ú Çѹø �Ì»ó �ÏÄ¡ÇÏ¸é ¿�·ù�Ì´Ù. �Ú¼¼ÇÑ Á¤º¸´Â E. "ÆÇÁ¤�û ³»¿ë ¸ðµ¨"�» ÂüÁ¶Ç϶ó.

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: �ûÁ¤ ±¸·ì/PE ³×½ºÆÃ(Proper Group/PE Nesting)
ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼(entity) ±³Ã¼ ÅØ½ºÆ®´Â °ýÈ£ ¼Ó¿¡ µé¾î°£ ±¸·ìµé·Î �ûÁ¤ÇÏ°Ô ³×½ºÆÃ(nest)µÇ¾î¾ß ÇÑ´Ù. ´Ù½Ã ¸»Çϸé, 'choice', 'seq' ¶Ç´Â 'Mixed' ±¸¼º ¾È�Ç ¿­¸²�̳ª ´ÝÈû °ýÈ£µé�Ì ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼ ±³Ã¼ ÅØ½ºÆ® ¾È¿¡ Æ÷ÇԵǸé, µÑ ´Ù °°�º ±³Ã¼ ÅØ½ºÆ® ¾È¿¡ Æ÷ÇԵǾî¾ß ÇÑ´Ù. °øÅë»ç¿ë¼º(interoperability)�» �§ÇÏ¿©, ¸¸�Ï ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼(entity) ÂüÁ¶°¡ 'choice', 'seq' ¶Ç´Â 'Mixed' ¾È¿¡ ³ªÅ¸³ª¸é, ±× ±³Ã¼ ÅØ½ºÆ®´Â ºó°Í�Ì ¾Æ´Ï¾î¾ß Çϰí, ±³Ã¼ ÅØ½ºÆ®�Ç Ã³�½�̳ª ¸¶Áö¸· °ø¹é±Û�Ú°¡ ¾Æ´Ñ ±Û�Ú°¡ ('|' Ȥ�º ',')�Ç ¿¬°á�Ú(connector)°¡ ¾Æ´Ï¾î¾ß ÇÑ´Ù.

¿¤·¹¸àÆ® ³»¿ë ¸ðµ¨�Ç ¿¹Á¦:

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

3.2.2 È¥ÇÕ ³»¿ë(mixed content)

±× Ÿ�Ô�Ç ¿¤·¹¸àÆ®°¡ ¾î¶² ±Û�Ú µ¥�ÌÅ͸¦ °¡Áú ¼ö �Ö°í, ¼±ÅÃ�û�¸·Î �Ú½Ä(child) ¿¤·¹¸àÆ®(element)µé¿¡ ºÐ»êµÇ¾ú�¸¸é, ±× ¿¤·¹¸àÆ® Ÿ�Ô(type)�º È¥ÇÕ ³»¿ë�» °®´Â´Ù. �Ì °æ¿ì, �Ú½Ä ¿¤·¹¸àÆ®µé�Ç Å¸�Ô�º Á¦ÇÑ µÉ ¼ö �Ö�¸³ª, ±×µé�Ç ¼ø¼­³ª ³ªÅ¸³ª´Â °¹¼ö´Â Á¦ÇÑ µÉ ¼ö ¾ø´Ù:

È¥ÇÕ ³»¿ë ¼±¾ð(Mixed-content Declaration)
[51]  Mixed ::= '(' S? '#PCDATA' (S? '|' S? Name)* S? ')*'
| '(' S? '#PCDATA' S? ')' [ VC: �ûÁ¤ ±¸·ì/PE ³×½ºÆÃ ]
[ VC: Ÿ�Ô Áߺ¹¾ø½¿ ]

¿©±â¼­ �̸§(Name)µé�Ì �Ú½Ä(child)µé·Î ³ªÅ¸³¯ ¼ö �Ö´Â ¿¤·¹¸àÆ® Ÿ�Ô�» Á¦°øÇÑ´Ù.

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: Ÿ�Ô Áߺ¹¾ø½¿(No Duplicate Types)
°°�º �̸§�Ì ´Ü�Ï È¥ÇÕ ³»¿ë ¼±¾ð ¾È¿¡¼­ ³ªÅ¸³ªÁö ¸»¾Æ¾ß ÇÑ´Ù.

È¥ÇÕ ³»¿ë ¼±¾ð ¿¹Á¦:

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

3.3 ¾ÖÆ®¸®ºäÆ® ¸ñ·Ï ¼±¾ð

¿¤·¹¸àÆ®(element)�Ç �̸§°ú °ª�Ç Â¦µé�» ¿¬°ü½Ã۱â �§ÇÏ¿© ¾ÖÆ®¸®ºäÆ®(attribute)µé�Ì »ç¿ëµÈ´Ù. ¾ÖÆ®¸®ºäÆ® ±Ô°Ýµé�º ½Ã�ÛÅÂ±×¿Í ºó ¿¤·¹¸àÆ® ÅÂ±×µé ¾È¿¡ ¸¸ ³ªÅ¸³¯ ¼ö �Ö´Ù; ±×·¡¼­, �̵é�» ¾Ë±â �§ ÇÑ °Í�º 3.1 "½Ã�Ûű×, Á¾·áű×, ºó ¿¤·¹¸àÆ® ű×"¿¡ ±â¼úµÇ¾ú´Ù. ¾ÖÆ®¸®ºäÆ® ¸ñ·Ï ¼±¾ðµé�º ´Ù�½�Ç °æ¿ì¿¡ »ç¿ë µÉ ¼ö �Ö´Ù:

  • ÁÖ¾îÁø ¿¤·¹¸àÆ®(element) Ÿ�Ô�Ç ¾ÖÆ®¸®ºäÆ®µé�Ç ¼³Á¤�» ÁöÁ¤Çϱâ �§ÇÏ¿©
  • ¾ÖÆ®¸®ºäÆ®(attribute)¿¡ Ÿ�Ô Á¦ÇÑ¿ä¼Ò¸¦ ¼³Á¤Çϱâ �§ÇÏ¿©
  • ¾ÖÆ®¸®ºäÆ®¿¡ µðÆúÆ® °ªµé�» Á¦°øÇϱâ �§ÇÏ¿©

¾ÖÆ®¸®ºäÆ® ¸ñ·Ï ¼±¾ðµé�º ÁÖ¾îÁø ¿¤·¹¸àÆ®(element) Ÿ�Ô¿¡¼­ °ü·ÃµÈ °¢ ¾ÖÆ®¸®ºäÆ®(attribute)�Ç �̸§, µ¥�ÌÅÍ Å¸�Ô°ú µðÆúÆ® °ª(�Ö�¸¸é)µé�» ÁöÁ¤ÇÑ´Ù:

¾ÖÆ®¸®ºäÆ® ¸ñ·Ï ¼±¾ð(Attribute-list Declaration)
[52]  AttlistDecl ::= '<!ATTLIST' S Name AttDef* S? '>'
[53]  AttDef ::= S Name S AttType S DefaultDecl

AttlistDecl ÄÚµå(rule) ¾È�Ç �̸§(Name)�º ¿¤·¹¸àÆ®(element)�Ç Å¸�Ô(type)�Ì´Ù. »ç¿ë�Ú�Ç ¼±ÅÃ�¸·Î, ¼±¾ð�Ì µÇÁö ¾Ê�º ¿¤·¹¸àÆ® Ÿ�Ô�Ç ¼±¾ð�Ì ³ªÅ¸³ª¸é, XML ó¸®�Ú(processor)´Â °æ°í¸¦ ¹ß»ý ½Ãų ¼ö �ִµ¥, �̰Í�º ¿�·ù°¡ ¾Æ´Ï´Ù. AttDef ÄÚµå(rule) ¾È�Ç �̸§(Name)�º ¾ÖÆ®¸®ºäÆ®(attribute)�Ç �̸§�Ì´Ù.

ÁÖ¾îÁø ¿¤·¹¸àÆ®(element) Ÿ�Ô¿¡ Çϳª �Ì»ó�Ç AttlistDecl�Ì �Ö�¸¸é, Á¦°øµÈ ¸ðµç ³»¿ëµé�º ÅëÇյȴÙ(merge). ÁÖ¾îÁø ¿¤·¹¸àÆ® Ÿ�Ô�Ç °°�º ¾ÖÆ®¸®ºäÆ®°¡ Çϳª �Ì»ó Á¤�ǵǾú�¸¸é, ¸Õ�ú ¼±¾ð�Ì �Û¿ëµÇ°í ³ªÁß ¼±¾ðµé�º ¹«½ÃµÈ´Ù. °øÅë»ç¿ë¼º�» �§ÇÏ¿©, DTD �Û¼º�Ú´Â ÁÖ¾îÁø ¿¤·¹¸àÆ® Ÿ�Ô¿¡ ¸¹¾Æµµ ÇѰ³�Ç ¾ÖÆ®¸®ºäÆ® ¸ñ·Ï ¼±¾ð�», ÁÖ¾îÁø ¾ÖÆ®¸®ºäÆ® �̸§¿¡ ¸¹¾Æµµ ÇѰ³�Ç ¾ÖÆ®¸®ºäÆ® Á¤�Ǹ¦, ±×¸®°í °¢ ¾ÖÆ®¸®ºäÆ® ¸ñ·Ï ¼±¾ð ¾È¿¡ �û¾îµµ ÇѰ³�Ç ¾ÖÆ®¸®ºäÆ® Á¤�Ǹ¦ ¼±Åà ÇÒ ¼ö �Ö´Ù. °øÅë»ç¿ë¼º(interoperability)�» �§ÇÏ¿©, ÁÖ¾îÁø ¿¤·¹¸àÆ® Ÿ�Ô¿¡ Çϳª �Ì»ó�Ç ¾ÖÆ®¸®ºäÆ® ¸ñ·Ï ¼±¾ðµÇ¾ú°Å³ª, ÁÖ¾îÁø ¾ÖÆ®¸®ºäÆ®¿¡ Çϳª �Ì»ó�Ç ¾ÖÆ®¸®ºäÆ® Á¤�ǰ¡ µÇ¾ú�¸¸é, XML ó¸®�Ú(processor)´Â »ç¿ë�Ú ¼±ÅÃ�¸·Î °æ°í¸¦ ¹ß»ý½Ãų ¼ö �Ö°í �̰Í�º ¿�·ù°¡ ¾Æ´Ï´Ù.

3.3.1 ¾ÖÆ®¸®ºäÆ® Ÿ�Ô

XML ¾ÖÆ®¸®ºäÆ® Ÿ�Ե鿡´Â ¼¼°¡Áö°¡ �ִ´Ù: ½ºÆ®¸µ Ÿ�Ô, ÅäūȭµÈ(tokenized) Ÿ�Ôµé�Ç ¼¼Æ®, ±×¸®°í ¹øÈ£ºÙ�Î(enumerated) Ÿ�Ôµé. ½ºÆ®¸µ Ÿ�Ô�º ±× °ª�¸·Î ¾î¶°ÇÑ ¸®ÅͶö(literal) ½ºÆ®¸µµµ °¡Áú¼ö �Ö°í; ÅäūȭµÈ(tokenized) Ÿ�Ôµé�º �§¿¡¼­ ´Ù·é ¹Ù¿Í °°�Ì ¿©·¯ ³»¿ë°ú ¹®¹ý�û Á¦ÇÑ¿ä¼Ò¸¦ °¡Áú ¼ö �Ö´Ù:

¾ÖÆ®¸®ºäÆ® Ÿ�Ô(Attribute Types)
[54]  AttType ::= StringTypeTokenizedTypeEnumeratedType
[55]  StringType ::= 'CDATA'
[56]  TokenizedType ::= 'ID' [ VC: ID ]
[ VC: ¿¤·¹¸àÆ® Ÿ�Ô ´ç ÇÑ ID ]
[ VC: ID ¾ÖÆ®¸®ºäÆ®µðÆúÆ® ]
| 'IDREF' [ VC: IDREF ]
| 'IDREFS' [ VC: IDREF ]
| 'ENTITY' [ VC: ¿£Æ¼Æ¼ �̸§ ]
| 'ENTITIES' [ VC: ¿£Æ¼Æ¼ �̸§ ]
| 'NMTOKEN' [ VC: �̸§ ÅäÅ« ]
| 'NMTOKENS' [ VC: �̸§ ÅäÅ« ]

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: ID
Ÿ�Ô ID�Ç °ª�º �̸§(Name)°ú �ÏÄ¡ÇÏ¿©¾ß ÇÑ´Ù. �̸§�º XML ¹®¼­¿¡¼­ �Ì Å¸�Ô�Ç °ª�¸·Î Çѹø �Ì»ó ³ªÅ¸³ªÁö ¸»ÇÏ¾ß ÇÑ´Ù; ¸»ÇÏ�Ú¸é, ID °ªµé�º ±×°Í�» °®´Â ¿¤·¹¸àÆ®(element)µé�» �νÄ(ÁöÁ¤) ÇÒ ¼ö �Öµµ·Ï �¯�ÏÇÏ¿©¾ß ÇÑ´Ù.

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: ¿¤·¹¸àÆ® Ÿ�Ô´ç ÇÑ ID(One ID per Element Type)
ÁöÁ¤µÈ ÇÑ ID ¾ÖÆ®¸®ºäÆ®°¡ ¿¤·¹¸àÆ® Ÿ�Ô¿¡¼­ Çѹø �Ì»ó ³ª¿Ã ¼ö ¾ø´Ù.

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: ID ¾ÖÆ®¸®ºäÆ® µðÆúÆ®(ID Attribute Default)
ID ¾ÖÆ®¸®ºäÆ®(attribute)´Â #IMPLIED Ȥ�º #REQUIRED�Ç µðÆúÆ® ¼±¾ð�Ì �Ö¾î¾ß ÇÑ´Ù.

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: ID ÂüÁ¶(IDREF)
Ÿ�Ô IDREF�Ç °ªµé�Ì »ý¼ºµÈ �̸§(Name)°ú �ÏÄ¡ÇÏ¿©¾ß Çϸç, Ÿ�Ô IDREFS�Ç °ªµé�Ì �̸§°ú �ÏÄ¡ÇÏ¿©¾ß ÇÑ´Ù; °¢ Name�º ±× XML ¹®¼­ ¾È�Ç �ϺΠ¿¤·¹¸àÆ®�Ç ID ¾ÖÆ®¸®ºäÆ®¿¡ �ÏÄ¡ÇÏ¿©¾ß Çϴµ¥ �Ì´Â ´Ù½Ã ¸»ÇØ IDREF °ªµé�Ì �ϺΠID ¾ÖÆ®¸®ºäÆ® °ª°ú �ÏÄ¡ÇÏ¿©¾ß ÇÑ´Ù.

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: ¿£Æ¼Æ¼ �̸§(Entity Name)
Ÿ�Ô ENTITY�Ç °ªµé�º »ý¼ºµÈ Name°ú �ÏÄ¡ÇÏ¿©¾ß Çϸç, Ÿ�Ô ENTITIES�Ç °ªµé�º Names°ú �ÏÄ¡ÇÏ¿©¾ß Çϸç; °¢ Name�º DTD ¾È�Ç ¼±¾ðµÈ ÇÑ ÇØ¼®(parse) ¾ÈµÈ ¿£Æ¼Æ¼�Ç �̸§°ú �ÏÄ¡ÇÏ¿©¾ß ÇÑ´Ù.

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: �̸§ ÅäÅ«(Name Token)
Ÿ�Ô NMTOKEN�Ç °ªµé�º �ÏÄ¡ the »ý¼ºµÈ Nmtoken°ú �ÏÄ¡ÇÏ¿©¾ß Çϰí; Ÿ�Ô NMTOKENS�Ç °ªµé�º Nmtokens°ú �ÏÄ¡ÇÏ¿©¾ß ÇÑ´Ù.

¹øÈ£ºÙ¿©Áø ¾ÖÆ®¸®ºäÆ®µé�º ¼±¾ð�Ì Á¦°øÇÏ´Â °ªµé�Ç ¸ñ·Ï Áß Çϳª¸¦ °¡Áú ¼ö �Ö¾î¾ß ÇÑ´Ù. µÎ°¡Áö Á¾·ù�Ç ¹øÈ£ºÙ¿©Áø(Enumerated) Ÿ�Ôµé�Ì �Ö´Ù:

¹øÈ£ºÙ¿©Áø ¾ÖÆ®¸®ºäÆ® Ÿ�Ô(Enumerated Attribute Types)
[57]  EnumeratedType ::= NotationTypeEnumeration
[58]  NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' [ VC: ÁÖ¼® ¾ÖÆ®¸®ºäÆ® ]
[59]  Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')' [ VC: Enumeration ]

NOTATION ¾ÖÆ®¸®ºäÆ®´Â ½Ã½ºÅÛ °ú/¶Ç´Â °øÅë(public) �νÄ�Ú(identifier)µé°ú °ü·ÃÇÏ¿© DTD¿¡ ¼±¾ðµÇ°í, ±× ¾ÖÆ®¸®ºäÆ®°¡ ÷ºÎµÈ ¿¤·¹¸àÆ®¸¦ ÇØ¼®(interpreting)Çϴµ¥ »ç¿ëµÇ´Â, ÁÖ¼®(notation)�» �νÄ(identify)ÇÑ´Ù.

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: ÁÖ¼® ¾ÖÆ®¸®ºäÆ®(Notation Attributes)
�Ì Å¸�Ô�Ç °ªµé�º ¼±¾ð¿¡ Æ÷ÇÔµÈ Çϳª�Ç ÁÖ¼®(notation) �̸§°ú �ÏÄ¡ÇÏ¿©¾ß ÇÑ´Ù; ¼±¾ð�Ç ¸ðµç ÁÖ¼®(notation) �̸§�º ¼±¾ðµÈ °Í�̾î¾ß ÇÑ´Ù.

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: Enumeration
�Ì Å¸�Ô�Ç °ªµé�º ¼±¾ð¿¡ Æ÷ÇÔµÈ Çϳª�Ç Nmtoken ÅäÅ«(token)°ú �ÏÄ¡ÇÏ¿©¾ß ÇÑ´Ù.

°øÅë»ç¿ë¼º(interoperability)�» �§ÇÏ¿©, ´Ü�Ï ¿¤·¹¸àÆ®�Ç ¹øÈ£ºÙ�Î(enumerated) ¾ÖÆ®¸®ºäÆ® Ÿ�Ô¿¡¼­ °°�º Nmtoken�º ³ªÅ¸³ªÁö ¸»¾Æ¾ß ÇÑ´Ù.

3.3.2 ¾ÖÆ®¸®ºäÆ® µðÆúÆ®

¾ÖÆ®¸®ºäÆ® ¼±¾ð�º ¾ÖÆ®¸®ºäÆ®(attribute)°¡ �Ö�» Çʿ伺�Ì �ִ°¡, ¾Æ´Ï¸é, ¹®¼­¿¡ ¼±¾ðµÈ ¾ÖÆ®¸®ºäÆ®°¡ ¾ø�¸¸é ¾î¶»°Ô XML ó¸®�Ú(processor)°¡ ¹Ý��ÇÏ¿©¾ß Çϴ°¡�Ç Á¤º¸¸¦ Á¦°øÇÑ´Ù.

¾ÖÆ®¸®ºäÆ® µðÆúÆ®(Attribute Defaults)
[60]  DefaultDecl ::= '#REQUIRED' | '#IMPLIED'
| (('#FIXED' S)? AttValue) [ VC: ÇÊ¿äÇÑ ¾ÖÆ®¸®ºäÆ® ]
[ VC: �¯È¿ÇÑ ¾ÖÆ®¸®ºäÆ® µðÆúÆ® ]
[ WFC: ¾ÖÆ®¸®ºäÆ® °ª¿¡ '<' ¾ø½¿ ]
[ VC: °íÁ¤µÈ ¾ÖÆ®¸®ºäÆ® µðÆúÆ® ]

¾ÖÆ®¸®ºäÆ®(attribute) ¼±¾ð¿¡¼­, #REQUIRED´Â ¾ÖÆ®¸®ºäÆ®°¡ Ç×»ó Á¦°øµÇ¾î¾ß Çϰí, #IMPLIED´Â µðÆúÆ® °ª�Ì ¾ø´Â °Í�» �ǹÌÇÑ´Ù. ¸¸�Ï ¼±¾ð�Ì #REQUIRED³ª #IMPLIED°¡ ¾Æ´Ï¸é, AttValue °ª�º ¼±¾ðµÈ µðÆúÆ® °ª�» °®´Â´Ù; #FIXED Ű¿öµå(keyword)´Â ¾ÖÆ®¸®ºäÆ®°¡ Ç×»ó µðÆúÆ® °ª�» °¡Á®¾ß ÇÑ´Ù´Â °Í�» ±â¼úÇÑ´Ù. µðÆúÆ® °ª�Ì ¼±¾ðµÇ¾ú�¸¸é, XML ó¸®�Ú(processor)°¡ »ý·«µÈ ¾ÖÆ®¸®ºäÆ®¸¦ ¸¸³µ�» ¶§, µðÆúÆ® °ª�Ì ¼±¾ðµÈ ¾ÖÆ®¸®ºäÆ®°¡ �Ö´Â °Í ó·³ ÇൿÇÑ´Ù.

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: ÇÊ¿äÇÑ ¾ÖÆ®¸®ºäÆ®(Required Attribute)
µðÆúÆ® ¼±¾ð�Ì Å°¿öµå #REQUIRED�̸é, ¾ÖÆ®¸®ºäÆ®´Â ¾ÖÆ®¸®ºäÆ® ¸ñ·Ï ¼±¾ð ¾È ±× Ÿ�Ô�Ç ¸ðµç ¿¤·¹¸àÆ®¿¡ ÁöÁ¤µÇ¾î¾ß ÇÑ´Ù.

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: �¯È¿ÇÑ ¾ÖÆ®¸®ºäÆ® µðÆúÆ®(Attribute Default Legal)
¼±¾ðµÈ µðÆúÆ® °ª�º ¼±¾ðµÈ ¾ÖÆ®¸®ºäÆ® Ÿ�Ô�Ç Á¦ÇÑ¿ä¼Ò�» ¸¸Á·½ÃÄÑ¾ß ÇÑ´Ù.

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: °íÁ¤µÈ ¾ÖÆ®¸®ºäÆ® µðÆúÆ®(Fixed Attribute Default)
¸¸�Ï ¾ÖÆ®¸®ºäÆ®°¡ #FIXED Ű¿öµå·Î ¼±¾ðµÈ µðÆúÆ® °ª�» °¡Áö°í �Ö�¸¸é, ¾ÖÆ®¸®ºäÆ®�Ç �νºÅº½º(instance)´Â ±× µðÆúÆ® °ª°ú �ÏÄ¡ÇÏ¿©¾ß ÇÑ´Ù.

¾ÖÆ®¸®ºäÆ® ¸ñ·Ï ¼±¾ð ¿¹Á¦:

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

3.3.3 ¾ÖÆ®¸®ºäÆ® °ª�Ç Á¤»óÈ­(normalization)

¾ÖÆ®¸®ºäÆ®(attribute) °ª�Ì �û¿ë(application)¿¡ �ü´ÞµÇ°Å³ª �¯È¿¼º�Ì Á¡°ËµÇ±â �ü¿¡, XML ó¸®�Ú(processor)´Â ¾Æ·¡¿Í °°�Ì Á¤»óÈ­ ÇÏ¿©¾ß ÇÑ´Ù:

  • ÂüÁ¶µÈ ±Û�Ú¸¦ ¾ÖÆ®¸®ºäÆ® °ª¿¡ ÷ºÎ ÇÔ�¸·Î¼­ ±Û�Ú ÂüÁ¶°¡ 󸮵ȴÙ.
  • ¹Ýº¹�û�¸·Î ¿£Æ¼Æ¼(entity)�Ç ±³Ã¼ ÅØ½ºÆ®¸¦ °¡°ø ÇÔ�¸·Î¼­ ¿£Æ¼Æ¼ ÂüÁ¶°¡ 󸮵ȴÙ.
  • ¿ÜºÎ�û�¸·Î ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼�Ç ºÎºÐ, ¶Ç´Â ³»ºÎ�û�¸·Î ÇØ¼®µÈ ¿£Æ¼Æ¼�Ç ¸®ÅͶö(literal) ¿£Æ¼Æ¼ °ª�Î "#xD#xA" ¿¬¼Ó¿¡ ´Ü�Ï '#x20' ¸¸�Ì Ãß°¡µÈ´Ù´Â °Í Á¦¿ÜÇϰí´Â, °ø¹é ±Û�Ú(#x20, #xD, #xA, #x9)´Â Á¤»óÈ­ µÈ(normalized) °ª¿¡ '#x20'¸¦ Ãß°¡ ÇÔ�¸·Î¼­ 󸮵ȴÙ.
  • ´Ù¸¥ ±Û�Úµé�º ±×°Í¿¡ Á¤»óÈ­µÈ °ª�Ì Ã·ºÎ µÊ�¸·Î¼­ 󸮵ȴÙ

¸¸�Ï ±× ¼±¾ðµÈ °ª�Ì CDATA °¡ ¾Æ´Ï¸é, XML ó¸®�Ú(processor)´Â, ¸Ç ¾Õ°ú µÚ�Ç °ø¹é(#x20) ±Û�Úµé�» Á¦°ÅÇϰí, ¿¬¼Ó °ø¹é(#x20) ±Û�Úµé�» ´Ü�Ï °ø¹é(#x20) ±Û�Ú·Î ±³Ã¼ÇÏ´Â, Ãß°¡�û�Î ¾ÖÆ®¸®ºäÆ® °ª�Ç Á¤»óÈ­ °úÁ¤�» °ÅÃÄ¾ß ÇÑ´Ù.

¼±¾ð�Ì ¾ø´Â ¸ðµç ¾ÖÆ®¸®ºäÆ®µé�º �¯È¿¼º�» °ËÁ¤ ¾Ê´Â ÇØ¼®�Ú(parser)¿¡ �ÇÇÏ¿© CDATA°¡ ¼±¾ðµÈ °Í ó·³ Ãë±Þ µÇ¾î¾ß ÇÑ´Ù.

3.4 Á¶°ÇºÎ Ç׸ñ

Á¶°ÇºÎ Ç׸ñ(conditional section)�º, ±×µé�» ´Ù·ç´Â Ű¿öµå(keyword)¿¡ ±âÃÊÇÑ DTD�Ç ³í¸®�û ±¸Á¶¿¡ Æ÷ÇԵǰųª Á¦¿ÜµÈ, ¹®¼­ Ÿ�Ô ¼±¾ð ¿ÜºÎ�û ÇϺμ¼Æ®�Ç ºÎºÐµé�Ì´Ù.

Á¶°ÇºÎ Ç׸ñ(Conditional Section)
[61]  conditionalSect ::= includeSectignoreSect
[62]  includeSect ::= '<![' S? 'INCLUDE' S? '[' extSubsetDecl ']]>'
[63]  ignoreSect ::= '<![' S? 'IGNORE' S? '[' ignoreSectContents* ']]>'
[64]  ignoreSectContents ::= Ignore ('<![' ignoreSectContents ']]>' Ignore)*
[65]  Ignore ::= Char* - (Char* ('<![' | ']]>') Char*)

³»ºÎ�û°ú ¿ÜºÎ�û DTD ÇϺμ¼Æ®(subset)µé°ú ¸¶Âù°¡Áö·Î, Á¶°ÇºÎ Ç׸ñ(conditional section)�º ÇѰ³ Ȥ�º ±× �Ì»ó�Ç ¿Ï�üÇÑ ¼±¾ð, ÄÚ¸àÆ®, ó¸®Áö½Ã(processing instruction) ¶Ç´Â ³×½ºÆ®(nest) µÈ Á¶°ÇºÎ Ç׸ñµé, °ø¹é°ú È¥ÇÕµé�» Æ÷ÇÔ ÇÒ ¼ö �Ö´Ù.

¸¸�Ï Á¶°ÇºÎ Ç׸ñ�Ç Å°¿öµå(keyword)°¡ INCLUDE�̸é, Á¶°ÇºÎ Ç׸ñ�Ç ³»¿ë(content)�º DTD�Ç ºÎºÐ�Ì´Ù. Á¶°ÇºÎ Ç׸ñ�Ç Å°¿öµå°¡ IGNORE�̸é, Á¶°ÇºÎ Ç׸ñ�Ç ³»¿ë�º ³í¸®�û�¸·Î DTD�Ç ºÎºÐ�Ì ¾Æ´Ï´Ù. ¿Ã¹Ù¸¥ ÇØ¼®(parsing)�» �§ÇÏ¿©, Á¶°ÇºÎ Ç׸ñµé�Ç ³×½ºÆ®¸¦ ¾Ë¾Æ³»°í, (¹«½ÃµÈ) Á¶°ÇºÎ Ç׸ñ�Ç °¨ÁöµÈ °¡�å ¹Û�Ç ³¡�» È®�ÎÇϱâ �§ÇÏ¿©, ¹«½ÃµÈ Á¶°ÇºÎ Ç׸ñ�Ç ³»¿ëµé ±îÁöµµ �оî¾ß ÇÑ´Ù´Â Á¡¿¡ ÁÖ�ÇÇ϶ó. ¸¸�Ï Á¶°ÇºÎ Ç׸ñ�Ì Å°¿öµå INCLUDE°¡, Ű¿öµå IGNORE¸¦ °®´Â ´õ Å« Á¶°ÇºÎ Ç׸ñ ¾È¿¡ ³ªÅ¸³ª¸é, ¿ÜºÎ¿Í ³»ºÎ Á¶°ÇºÎ Ç׸ñµé�Ì µÑ ´Ù ¹«½ÃµÈ´Ù.

¸¸�Ï Á¶°ÇºÎ Ç׸ñ�Ç Å°¿öµå°¡ ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼¸¦ ÂüÁ¶�̸é, ó¸®�Ú(processor)°¡ ±× Á¶°ÇºÎ Ç׸ñ(conditional section)�» Æ÷ÇÔ ÇÒ °Í�ΰ¡ ¹«½Ã ÇÒ °Í�ΰ¡¸¦ °áÁ¤Çϱâ �ü¿¡, ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼´Â ±× ³»¿ë(content)�¸·Î ´ëüµÇ¾î¾ß ÇÑ´Ù.

¿¹Á¦:

<!ENTITY % draft 'INCLUDE' >
<!ENTITY % final 'IGNORE' >
 
<![%draft;[
<!ELEMENT book (comments*, title, body, supplements?)>
]]>
<![%final;[
<!ELEMENT book (title, body, supplements?)>
]]>


4. ¹°¸®�û ±¸Á¶

XML ¹®¼­´Â Çϳª Ȥ�º ±× �Ì»ó�Ç �ú�å(storage) ´Ü�§µé·Î ±¸¼º µÉ ¼ö �Ö�¸¸ç, �̰͵é�» ¿£Æ¼Æ¼(entity)¶ó ºÎ¸¥´Ù; �̵é�º ¸ðµÎ ³»¿ë(content)�» °¡Áö¸ç, ¸ðµÎ(¹®¼­ ¿£Æ¼Æ¼(¾Æ·¡ ÂüÁ¶)¿Í ¿ÜºÎ�û DTD ÇϺμ¼Æ®¸¦ Á¦¿Ü) �̸§(name)�¸·Î �νĵȴÙ. °¢ XML ¹®¼­´Â ¹®¼­ ¿£Æ¼Æ¼¶ó ºÒ¸®¿ì´Â Çϳª�Ç ¿£Æ¼Æ¼¸¦ °¡Áö¸ç, �Ì´Â XML ó¸®�Ú(processor)�Ç ½Ã�ÛÁ¡�¸·Î �Û¿ëÇϰí, �üü ¹®¼­¸¦ Æ÷ÇÔ ÇÒ ¼ö �Ö´Ù.

¿£Æ¼Æ¼´Â ÇØ¼®(parse)µÈ °Í�̰ųª ÇØ¼® ¾ÈµÈ °Í�Ì µÉ ¼ö �Ö´Ù. ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼�Ç ³»¿ë(content)µé�º ±× ±³Ã¼ ÅØ½ºÆ®·Î ÂüÁ¶µÈ´Ù; �Ì ÅØ½ºÆ®´Â ±× ¹®¼­�Ç �ϺηΠ°£ÁֵȴÙ.

ÇØ¼®(parse) ¾ÈµÈ ¿£Æ¼Æ¼´Â, ±× ³»¿ë�Ì ÅØ½ºÆ®°¡ µÉ ¼ö �ְųª µÉ ¼ö ¾ø´Â �Ú¿ø(resource)�̸ç, ¸¸�Ï ÅØ½ºÆ®�̸é, XML�Ì µÉ ¼ö ¾ø´Ù. °¢ ÇØ¼® ¾ÈµÈ ¿£Æ¼Æ¼´Â Çϳª�Ç °ü·ÃµÈ ÁÖ¼®(notation)�» °¡Áö¸ç, �̸§�¸·Î �νĵȴÙ. XML ó¸®�Ú(processor)°¡ �û¿ë(application)�Ì »ç¿ë ÇÒ ¼ö �Ö´Â ¿£Æ¼Æ¼¿Í ÁÖ¼®(notation)�Ç �νÄ�Ú(identifier)µé�» ¸¸µå´Â Çʿ伺 ¸»°í´Â, XML�º ÇØ¼® ¾ÈµÈ ¿£Æ¼Æ¼�Ç ³»¿ë¿¡ Á¦ÇÑ¿ä¼Ò¸¦ ÁÖÁö ¾Ê´Â´Ù.

ÇØ¼®µÈ ¿£Æ¼Æ¼µé�º ¿£Æ¼Æ¼ ÂüÁ¶¸¦ »ç¿ëÇÏ¿© �̸§�¸·Î ºÒ·¯Áö°í(invoked); ÇØ¼® ¾ÈµÈ ¿£Æ¼Æ¼´Â �̸§, ÁÖ¾îÁø °ª ENTITY Ȥ�º ENTITIES ¾ÖÆ®¸®ºäÆ®µé·Î ºÒ·¯Áø´Ù.

�ϹÝ(general) ¿£Æ¼Æ¼´Â ¹®¼­ ³»¿ë(content) ¾È¿¡¼­ »ç¿ëµÇ´Â ¿£Æ¼Æ¼�Ì´Ù. �̱԰ݿ¡¼­, �Ï¹Ý ¿£Æ¼Æ¼´Â ¶§¶§·Î, ¸ðÈ£¼º�Ì ¾ø�» ¶§, ´Ü¼øÈ÷ ¿£Æ¼Æ¼(entity)·Î ÂüÁ¶µÈ´Ù. ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼µé�º DTD ¾È¿¡¼­ »ç¿ëµÇ´Â ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼�Ì´Ù. �Ìµé ¿£Æ¼Æ¼�Ç µÎ Ÿ�Ôµé�º ´Ù¸¥ ÂüÁ¶ ¾ç½Äµé�» »ç¿ëÇϸç, ´Ù¸¥ ¹®¸Æµé·Î �νĵȴÙ. ´õ´õ¿í, �̵é�º ´Ù¸¥ �̸§�Ú¸®(namespace)µé�» Â÷ÁöÇÑ´Ù; °°�º �̸§�Ç ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼¿Í �Ï¹Ý ¿£Æ¼Æ¼´Â ¼­·Î ´Ù¸¥ ¿£Æ¼Æ¼µé�Ì´Ù.

4.1 ±Û�Ú¿Í ¿£Æ¼Æ¼ ÂüÁ¶

±Û�Ú ÂüÁ¶´Â ISO/IEC 10646 ±Û�Ú ¼¼Æ®�Ç Æ¯Á¤ ±Û�Ú¸¦ ÂüÁ¶ÇÑ´Ù. ¿¹¸¦ µé¸é �Ô·Â�åÄ¡µé¿¡¼­ Á÷Á¢�û�¸·Î »ç¿ë ÇÒ ¼ö ¾ø´Â ±Û�Ú¸¦ ÂüÁ¶ÇÏ´Â °Í�Ì´Ù.

±Û�Ú ÂüÁ¶(Character Reference)
[66]  CharRef ::= '&#' [0-9]+ ';'
| '&#x' [0-9a-fA-F]+ ';' [ WFC: ¿Ã¹Ù¸¥(legal) ±Û�Ú ]

�ß Çü¼ºµÊ�» �§ÇÑ Çʼö»çÇ×: ¿Ã¹Ù¸¥(legal) ±Û�Ú
±Û�Ú ÂüÁ¶¸¦ »ç¿ëÇÏ¿© ÂüÁ¶µÈ ±Û�Úµé�º Char »ý¼º¹°°ú �ÏÄ¡ÇÏ¿©¾ß ÇÑ´Ù.

¸¸�Ï ±Û�Ú ÂüÁ¶°¡ "&#x"�¸·Î ½Ã�ÛÇϰí, ¼ý�Ú(digit)³ª ±Û�Ú(letter)µé, ±×¸®°í ;·Î Á¾·áµÇ¸é, ISO/IEC 10646�Ç ±Û�Úµé ÄÚµå Æ÷�ÎÆ®�Ç 16Áø¼ö Ç¥Çö�Ì µÈ´Ù. ¸¸�Ï "&#" ¸¸�¸·Î ½Ã�۵ǰí, ¼ý�Ú, ±×¸®°í ;·Î Á¾·áµÇ¸é, ±Û�Úµé ÄÚµå Æ÷�ÎÆ®�Ç 10Áø¼ö Ç¥Çö�Ì µÈ´Ù.

¿£Æ¼Æ¼(entity) ÂüÁ¶´Â �̸§ ºÙ¿©Áø(named) ¿£Æ¼Æ¼�Ç ³»¿ë�» ÂüÁ¶ÇÑ´Ù. ÇØ¼®(parse)µÈ �Ï¹Ý ¿£Æ¼Æ¼�Ç ÂüÁ¶´Â ¾ÚÆÛ»÷µå(&)¿Í ½ê¹ÌÄÝ·Ð (;)�» ±¸ºÐ�Ú(delimiter)·Î »ç¿ëÇÑ´Ù. ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼ ÂüÁ¶´Â ¹éºÐ�² ±âÈ£ (%)¿Í ½ê¹ÌÄÝ·Ð (;)�» ±¸ºÐ�Ú(delimiter)·Î »ç¿ëÇÑ´Ù.

¿£Æ¼Æ¼ ÂüÁ¶(Entity Reference)
[67]  reference ::= EntityRefCharRef
[68]  EntityRef ::= '&' Name ';' [ WFC: ¼±¾ðµÈ ¿£Æ¼Æ¼ ]
[ VC: ¼±¾ðµÈ ¿£Æ¼Æ¼ ]
[ WFC: ÇØ¼® µÈ ¿£Æ¼Æ¼ ]
[ WFC: ¹Ýº¹ ¾ø½¿ ]
[69]  PEReference ::= '%' Name ';' [ VC: ¼±¾ðµÈ ¿£Æ¼Æ¼ ]
[ WFC: ¹Ýº¹ ¾ø½¿ ]
[ WFC: DTD ¾È¿¡ ]

�ß Çü¼ºµÊ�» �§ÇÑ Çʼö»çÇ×: ¼±¾ðµÈ ¿£Æ¼Æ¼(Entity Declared)
DTD°¡ ¾ø´Â ¹®¼­¿¡¼­, ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼ ÂüÁ¶°¡ ¾ø´Â ³»ºÎ�û DTD ÇϺμ¼Æ®(subset) Çϳª ¸¸�» °®´Â ¹®¼­, ¶Ç´Â "standalone='yes'" �̰í, Name�Ì ¿£Æ¼Æ¼ ÂüÁ¶¿¡ ÁÖ¾îÁø ¹®¼­´Â, ¿£Æ¼Æ¼(entity) ¼±¾ð�Ç °Í°ú �ÏÄ¡ÇÏ¿©¾ß Çϳª, �ß Çü¼ºµÈ ¹®¼­µé¿¡¼­ ´Ù�½ ¿£Æ¼Æ¼µé�º ¼±¾ð ÇÒ Çʿ䰡 ¾ø´Â ¿¹¿Ü »çÇ×�Ì´Ù: amp, lt, gt, apos, quot. ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼ ¼±¾ð�º ±×�Ç ¾î¶² ÂüÁ¶º¸´Ù ¸Õ�úµÇ¾î¾ß ÇÑ´Ù. �¯»çÇϰÔ, �Ï¹Ý ¿£Æ¼Æ¼(entity) ¼±¾ð�º, ¾ÖÆ®¸®ºäÆ® ¸ñ·Ï ¼±¾ð�Ç µðÆúÆ® °ª�» ÂüÁ¶º¸´Ù ¸Õ�úµÇ¾î¾ß ÇÑ´Ù. ¸¸�Ï ¿£Æ¼Æ¼µé�Ì ¿ÜºÎ�û ÇϺμ¼Æ®(subset) ¶Ç´Â ¿ÜºÎ�û ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼¿¡ ¼±¾ðµÇ¾ú�¸¸é, �¯È¿¼º °ËÁ¤�» ÇÏÁö ¾Ê´Â ó¸®�Ú(processor)´Â ±×�Ç ¼±¾ðµé�» �аí ó¸®ÇÏÁö ¾Ê´Â´Ù´Â Á¡¿¡ �¯�ÇÇ϶ó; �Ì·± ¹®¼­µé¿¡¼­, ¿£Æ¼Æ¼°¡ ¼±¾ðµÇ¾î¾ß ÇÑ´Ù´Â ±ÔÄ¢�º standalone='yes'�Î °æ¿ì¿¡ ¸¸ ÇØ´çÇÏ´Â �ß Çü¼ºµÇ±â �§ÇÑ Çʼö»çÇ×�Ì´Ù

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: ¼±¾ðµÈ ¿£Æ¼Æ¼(Entity Declared)
¿ÜºÎ�û ÇϺμ¼Æ® ¶Ç´Â ¿ÜºÎ�û ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼¿¡ "standalone='no'"¸¦ °®´Â ¹®¼­¿¡¼­, ¿£Æ¼Æ¼ ÂüÁ¶¿¡ ÁÖ¾îÁø Name�º ¿£Æ¼Æ¼ ¼±¾ð�Ç °Í°ú �ÏÄ¡ÇÏ¿©¾ß ÇÑ´Ù. °øÅë»ç¿ë¼º(interoperability)�» �§ÇÏ¿©, �¯È¿ÇÑ(valid) ¹®¼­µé�º, 4.6 "»ç�ü¿¡ Á¤�ÇµÈ ¿£Æ¼Æ¼"¿¡ ÁöÁ¤µÈ ¾ç½Ä�¸·Î, ¿£Æ¼Æ¼ amp, lt, gt, apos, quot°¡ ¼±¾ðÇÏ¿©¾ß ÇÑ´Ù. ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼�Ç ¼±¾ð�º ±×�Ç ¾î¶² ÂüÁ¶º¸´Ù ¸Õ�úµÇ¾î¾ß ÇÑ´Ù. �¯»çÇϰÔ, �Ï¹Ý ¿£Æ¼Æ¼ ¼±¾ð�º, ¾ÖÆ®¸®ºäÆ® ¸ñ·Ï ¼±¾ð�Ç µðÆúÆ® °ª�» ÂüÁ¶º¸´Ù ¸Õ�úµÇ¾î¾ß ÇÑ´Ù.

�ß Çü¼ºµÊ�» �§ÇÑ Çʼö»çÇ×: ÇØ¼®µÈ ¿£Æ¼Æ¼(Parsed Entity)
ÇØ¼®µÈ ¿£Æ¼Æ¼ ÂüÁ¶´Â ÇØ¼® ¾ÈµÈ ¿£Æ¼Æ¼(entity) �̸§�» Æ÷ÇÔÇØ¼­´Â ¾ÊµÈ´Ù. ÇØ¼®(parse) ¾ÈµÈ ¿£Æ¼Æ¼´Â, ¼±¾ðµÈ ¾ÖÆ®¸®ºäÆ® °ª�Ì Å¸�Ô ENTITY ¶Ç´Â ENTITIES �Ï °æ¿ì¿¡ ¸¸, ÂüÁ¶ µÉ ¼ö �Ö´Ù

�ß Çü¼ºµÊ�» �§ÇÑ Çʼö»çÇ×: ¹Ýº¹ ¾ø½¿(No Recursion)
ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼´Â Á÷Á¢�û�Ì°Ç °£Á¢�û�Ì°Ç ¹Ýº¹µÈ �Úü�Ç ÂüÁ¶¸¦ Æ÷ÇÔÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù.

�ß Çü¼ºµÊ�» �§ÇÑ Çʼö»çÇ×: DTD ¾È¿¡(In DTD)
ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼(entity) ÂüÁ¶´Â DTD ¾È¿¡ ¸¸ ³ªÅ¸³¯ ¼ö �Ö´Ù.

±Û�Ú¿Í ¿£Æ¼Æ¼ ÂüÁ¶ ¿¹Á¦:

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

ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼(entity) ÂüÁ¶ ¿¹Á¦:

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

4.2 ¿£Æ¼Æ¼ ¼±¾ð

¿£Æ¼Æ¼(entity)µé�º ´Ù�½°ú °°�Ì ¼±¾ðµÈ´Ù:

¿£Æ¼Æ¼ ¼±¾ð(Entity Declaration)
[70]  EntityDecl ::= GEDeclPEDecl
[71]  GEDecl ::= '<!ENTITY' S Name S EntityDef S? '>'
[72]  PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>'
[73]  EntityDef ::= EntityValue | (ExternalID NDataDecl?)
[74]  PEDef ::= EntityValueExternalID

Name�º ¿£Æ¼Æ¼ ÂüÁ¶¿¡ �Ö´Â ¿£Æ¼Æ¼, ¶Ç´Â, ÇØ¼®(parse) ¾ÈµÈ ¿£Æ¼Æ¼(entity)�Ç °æ¿ì, ENTITY Ȥ�º ENTITIES ¾ÖÆ®¸®ºäÆ® °ª�» �νÄ(identify)ÇÑ´Ù. ¸¸�Ï °°�º ¿£Æ¼Æ¼°¡ Çѹø �Ì»ó ¼±¾ðµÇ¾ú�¸¸é, ¸Õ�ú ¸¸³­ ¼±¾ð�Ì �û¿ëµÈ´Ù; »ç¿ë�Ú ¼±ÅÃ�¸·Î, XML ó¸®�Ú(processor)´Â ¸¸�Ï ¿£Æ¼Æ¼(entity) ¿©·¯¹ø ¼±¾ðµÇ¾ú�¸¸é °æ°í¸¦ ¹ß»ý½Ãų ¼ö �Ö´Ù.

4.2.1 ³»ºÎ�û ¿£Æ¼Æ¼

¸¸�Ï ¿£Æ¼Æ¼ Á¤�ǰ¡ EntityValue�̸é, ±× Á¤�ÇµÈ ¿£Æ¼Æ¼(entity)¸¦ ³»ºÎ�û ¿£Æ¼Æ¼¶ó ºÎ¸¥´Ù. º°µµ�Ç ¹°¸®�û �ú�å ¿�ºêÁ§Æ®(object)°¡ �ÖÁö ¾Ê°í, ¿£Æ¼Æ¼ ³»¿ë(content)�º ¼±¾ð¿¡ ÁÖ¾îÁø´Ù. �ϺΠ¸®ÅͶö(literal) ¿£Æ¼Æ¼ °ª�Ç ¿£Æ¼Æ¼¿Í ±Û�Ú ÂüÁ¶ 󸮴 ¿Ã¹Ù¸¥ ±³Ã¼ ÅØ½ºÆ®¸¦ ¸¸µå´Âµ¥ ÇÊ¿ä ÇÒ ¼ö �Ö´Ù´Â Á¡¿¡ �¯�ÇÇ϶ó: 4.5 "³»ºÎ�û ¿£Æ¼Æ¼ ±³Ã¼ ÅØ½ºÆ®�Ç ±¸¼º"�» Âü°íÇ϶ó.

Çϳª�Ç ³»ºÎ�û ¿£Æ¼Æ¼´Â ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼(entity)�Ì´Ù.

³»ºÎ�û ¿£Æ¼Æ¼ ¼±¾ð ¿¹Á¦:

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

4.2.2 ¿ÜºÎ�û ¿£Æ¼Æ¼

¸¸�Ï ¿£Æ¼Æ¼(entity)°¡ ³»ºÎ�û�Ì ¾Æ´Ï¸é, ¾Æ·¡¿Í °°�Ì ¼±¾ðµÈ ¿ÜºÎ�û ¿£Æ¼Æ¼�Ì´Ù:

¿ÜºÎ�û ¿£Æ¼Æ¼ ¼±¾ð(External Entity Declaration)
[75]  ExternalID ::= 'SYSTEM' S SystemLiteral
| 'PUBLIC' S PubidLiteral S SystemLiteral
[76]  NDataDecl ::= S 'NDATA' S Name [ VC: ¼±¾ðµÈ ÁÖ¼® ]

¸¸�Ï NDataDecl°¡ �Ö�¸¸é, �Ì´Â �Ï¹Ý ÇØ¼® ¾ÈµÈ ¿£Æ¼Æ¼�̸ç; ¾Æ´Ï¸é ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼�Ì´Ù.

�¯È¿¼º Á¦ÇÑ¿ä¼Ò: ¼±¾ðµÈ ÁÖ¼®(Notation Declared)
Name�º ÁÖ¼®(notation)�Ç ¼±¾ðµÈ �̸§°ú �ÏÄ¡ÇÏ¿©¾ß ÇÑ´Ù.

SystemLiteral�º ±× ¿£Æ¼Æ¼(entity)�Ç ½Ã½ºÅÛ �νÄ�Ú(identifier)¶ó ºÒ¸®¿î´Ù. �Ì´Â Çϳª�Ç URI�̸ç, ¿£Æ¼Æ¼(entity)¸¦ ºÒ·¯¿�´Âµ¥ »ç¿ë µÉ ¼ö �Ö´Ù. URI ÇÔ²² �ÚÁÖ »ç¿ëµÇ´Â #¿Í ºÎ�§(fragment) �νÄ�Ú(identifier)´Â °ø½Ä�û�¸·Î´Â URI �Úü�Ç �Ϻΰ¡ ¾Æ´Ï¶ó´Â Á¡¿¡ �¯�ÇÇ϶ó; XML ó¸®�Ú(processor)´Â, ½Ã½ºÅÛ �νÄ�Ú�Ç �ϺηΠºÎ�§(fragment) �νÄ�Ú°¡ �Ö�¸¸é, ¿�·ù�Ç ½ÅÈ£¸¦ ¹ß»ý½Ãų ¼ö �Ö´Ù. �Ì±Ô°Ý ¹ü�§ ¹Û�Ç(¿¹¸¦ µé¾î ƯÁ¤ DTD¿¡ �ÇÇØ Á¤�ÇµÈ Æ¯º° XML ¿¤·¹¸àÆ® Ÿ�Ô, Ȥ�º, ƯÁ¤ �û¿ë ±Ô°Ý¿¡ �ÇÇÏ¿© Á¤�ÇµÈ Ã³¸®Áö½Ã) Á¤º¸°¡ µû·Î Á¦°øµÇÁö ¾Ê´Â ÇÑ, »ó´ë�û URIµé�º ¿£Æ¼Æ¼ ¼±¾ð¿¡ ³ªÅ¸³­ �Ú¿ø �§Ä¡¿¡ »ó´ë�û�Ì´Ù. ±×·¡¼­ ÇÑ URI´Â ¹®¼­ ¿£Æ¼Æ¼¿¡, ¿ÜºÎ�û DTD ÇϺμ¼Æ®(subset)¿¡ Æ÷ÇÔµÈ ¿£Æ¼Æ¼¿¡, ¶Ç´Â ´Ù¸¥ ¿ÜºÎ�û ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼¿¡ »ó´ë�û�Ì µÉ ¼ö �Ö´Ù.

XML ó¸®�Ú(processor)´Â URI¿¡ �Ö´Â ºñASCII ±Û�Ú¸¦, Çϳª Ȥ�º ±×�Ì»ó�Ç ¹Ù�ÌÆ®(byte)·Î UTF-8 ±Û�ڷΠǥÇöÇÔ�¸·Î¼­, ±×¸®°í´Â �̵é URI ¿¡½ºÄÉ�ÔÇÏ´Â ±â±¸(mechanism: ¸»ÇÏ�Ú¸é, °¢ ¹Ù�ÌÆ®¸¦ 16Áø¼ö ÁÖ¼®�Î %HH·Î º¯È¯ÇÏ¿©)·Î ¹Ù�ÌÆ® ¿¡½ºÄÉ�Ô(escape)ÇÏ¿©, Ãë±ÞÇÏ¿©¾ß ÇÑ´Ù.

½Ã½ºÅÛ �νÄ�Ú(identifier)¿¡ Ãß°¡�û�¸·Î, ¿ÜºÎ�û �νÄ�Ú¿¡ °øÅë(public) �νÄ�Ú¸¦ Æ÷ÇÔ ÇÒ ¼ö �Ö´Ù. ¿£Æ¼Æ¼�Ç ³»¿ë �Ð�½�» ½ÃµµÇÏ´Â XML ó¸®�Ú(processor)´Â ´ëü URI�Ç »ý¼º�» ½ÃµµÇϱâ �§ÇÏ¿© °øÅë(public) �νÄ�Ú¸¦ »ç¿ë ÇÒ ¼ö �Ö´Ù. ¸¸�Ï ±× ó¸®�Ú°¡ ±×·¸°Ô ÇÒ ¼ö ¾ø�¸¸é, ½Ã½ºÅÛ ¸®ÅͶö(system literal)¿¡¼­ ÁöÁ¤ÇÑ URI¸¦ »ç¿ëÇÏ¿©¾ß ÇÑ´Ù. �ÏÄ¡¸¦ ½ÃµµÇϱâ �ü¿¡, ¸ðµç °øÅë �νÄ�Ú�Ç °ø¹é ½ºÆ®¸µ�º, ´Ü�Ï °ø¹é ±Û�Ú(#x20)·Î, ±×¸®°í ¸Ç ¾Õ°ú ¸Ç µÚ�Ç °ø¹é�º Á¦°ÅÇÏ¿©, Á¤»óÈ­(normalized)µÇ¾î¾ß ÇÑ´Ù.

¿ÜºÎ�û ¿£Æ¼Æ¼ ¼±¾ð ¿¹Á¦:

<!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 ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼(entity)

4.3.1 ÅØ½ºÆ® ¼±¾ð

¿ÜºÎ�û ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼(entity)´Â °¢°¢ ÅØ½ºÆ® ¼±¾ð�¸·Î ½Ã�Û µÉ ¼ö �Ö´Ù.

ÅØ½ºÆ® ¼±¾ð(Text Declaration)
[77]  TextDecl ::= '<?xml' VersionInfo? EncodingDecl S? '?>'

ÅØ½ºÆ® ¼±¾ð�º ÇØ¼®µÈ ¿£Æ¼Æ¼¸¦ ÂüÁ¶ÇÏ´Â °Í�Ì ¾Æ´Ï¶ó ¸®ÅͶö(literal)·Î Á¦°øµÇ¾î¾ß ÇÑ´Ù. ÅØ½ºÆ® ¼±¾ð�º ¿ÜºÎ�û ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼�Ç ½Ã�Û ºÎºÐ �Ì¿Ü�Ç �§Ä¡¿¡´Â ³ª¿Ã ¼ö ¾ø´Ù.

4.3.2 �ß Çü¼ºµÈ ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼(entity)

¹®¼­ ¿£Æ¼Æ¼´Â, �̰Í�Ì ¶óº§µÈ(labeled) document�Ç »ý¼º¹°°ú �ÏÄ¡Çϸé, �ß Çü¼ºµÈ °Í�Ì´Ù. ¿ÜºÎ�û �ϹÝ�û(general) ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼´Â, �̰Í�Ì ¶óº§µÈ extParsedEnt�Ç »ý¼º¹°°ú �ÏÄ¡Çϸé, �ß Çü¼ºµÈ °Í�Ì µÈ´Ù. ¿ÜºÎ�û ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼´Â, �̰Í�Ì ¶óº§µÈ extPE�Ç »ý¼º¹°°ú �ÏÄ¡Çϸé, �ß Çü¼ºµÈ °Í�Ì µÈ´Ù.

�ß Çü¼ºµÈ ¿ÜºÎ�û ÇØ¼®µÈ ¿£Æ¼Æ¼(Well-Formed External Parsed Entity)
[78]  extParsedEnt ::= TextDecl? content
[79]  extPE ::= TextDecl? extSubsetDecl

³»ºÎ�û �ϹÝ�û(general) ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼(entity)´Â, ±×�Ç ±³Ã¼ ÅØ½ºÆ®°¡ ¶óº§µÈ ³»¿ë(content)�Ç »ý¼º¹°°ú �ÏÄ¡Çϸé, �ß Çü¼ºµÈ °Í�Ì µÈ´Ù. ¸ðµç ³»ºÎ�û ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼´Â Á¤�Ç¿¡ �ÇÇØ �ß Çü¼ºµÈ °Í�Ì µÈ´Ù.

¿£Æ¼Æ¼°¡ �ß Çü¼ºµÇ¾ú´Ù´Â °Í�º XML ¹®¼­�Ç ³í¸®�û, ¹°¸®�û ±¸Á¶°¡ �ûÁ¤ÇÏ°Ô ³×½ºÆ®(nest)µÇ¾ú´Ù´Â °Í�Ì´Ù; ½Ã�Ûű×, Á¾·áű×, ºó ¿¤·¹¸àÆ® ű×, ¿¤·¹¸àÆ®(element), ÄÚ¸àÆ®(comment), ó¸®Áö½Ã(processing instruction), ±Û�Ú ÂüÁ¶, ¶Ç´Â ¿£Æ¼Æ¼ ÂüÁ¶°¡ ÇÑ ¿£Æ¼Æ¼¿¡¼­ ½Ã�ÛµÇ°í ´Ù¸¥ °Í¿¡¼­ Á¾·á µÉ ¼ö ¾ø´Ù´Â °Í�Ì´Ù.

4.3.3 ¿£Æ¼Æ¼ ¾È�Ç ±Û�Ú ¿£ÄÚµù

XML ¹®¼­�Ç °¢ ¿ÜºÎ�û ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼´Â ±× ±Û�Úµé�» �§ÇÏ¿© ´Ù¸¥ ¿£ÄÚµù(encoding) »ç¿ë ÇÒ ¼ö �Ö´Ù. ¸ðµç XML ó¸®�Ú(processor)µé�º UTF-8 ³ª UTF-16�Ç ¿£Æ¼Æ¼(entity)¸¦ �Ð�» ¼ö �Ö¾î¾ß ÇÑ´Ù.

UTF-16�¸·Î ¿£ÄÚµå(encode)µÈ ¿£Æ¼Æ¼´Â, ISO/IEC 10646 ºÎ·Ï E ¿Í Unicode ºÎ·Ï B ³Ð�̾ø°í-Áٹٲ޾ø´Â-°ø¹é(ZERO WIDTH NO-BREAK SPACE ±Û�Ú, #xFEFF)¿¡ ¼³¸íµÈ ¹Ù�ÌÆ® ¼ø¼­ Ç¥½Ã(Byte Order Mark)·Î ½Ã�ÛÇÏ¿©¾ß ÇÑ´Ù. �Ì´Â XML ¹®¼­�Ç ÄÚµå(markup)³ª ±Û�Ú µ¥�ÌÅÍ�Ç ºÎºÐ�Ì ¾Æ´Ï¶ó Çϳª�Ç ¿£ÄÚµù ¼­¸í(signature: Ç¥½Ã)�Ì´Ù, XML ó¸®�Ú(processor)´Â �Ì ±Û�Ú�» UTF-8 ¿Í UTF-16·Î ¿£ÄÚµåµÈ ¹®¼­µé�» ¼­·Î ´Ù¸£°Ô »ç¿ë ÇÒ ¼ö �Ö¾î¾ß ÇÑ´Ù.

XML ó¸®�Ú´Â UTF-8°ú UTF-16·Î ¿£ÄÚµùµÈ ¿£Æ¼Æ¼¸¦ �Ð�» ¼ö �Ö´Â °Í�Ì ¿ä±¸µÇÁö¸¸, �ü ¼¼°è¸¦ ÅëÇØ ´Ù¸¥ ¿£ÄÚµùµé�Ì ¾Ë·ÁÁ® �Ö°í, XML ó¸®�Ú(processor)µé�Ì ±× ¿£Æ¼Æ¼µé�» �д °Í�º ¹Ù¶÷Á÷ ÇÒ ¼ö �Ö´Ù. UTF-8 �̳ª UTF-16 �Ì¿Ü�Ç ¿£ÄÚµù�¸·Î �ú�åµÈ ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼(entity)´Â ¿£ÄÚµù ¼±¾ð�» Æ÷ÇÔÇÏ´Â ÅØ½ºÆ® ¼±¾ð�¸·Î ½Ã�۵Ǿî¾ß ÇÑ´Ù:

¿£ÄÚµù ¼±¾ð(Encoding Declaration)
[80]  EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' |  "'" EncName "'" )
[81]  EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')* /* Latin ±Û�Úµé ¸¸ °®´Â ¿£ÄÚµù �̸§*/

¹®¼­ ¿£Æ¼Æ¼¿¡¼­, ¿£ÄÚµù(encoding) ¼±¾ð�º XML ¼±¾ð�Ç ÇÑ ºÎºÐ�Ì´Ù. EncName´Â »ç¿ëµÈ ¿£ÄÚµù �̸§�Ì´Ù.

¿£ÄÚµù ¼±¾ð¿¡¼­, °ªµé "UTF-8", "UTF-16", "ISO-10646-UCS-2", "ISO-10646-UCS-4"´Â Unicode / ISO/IEC 10646�Ç ¿©·¯ ¿£ÄÚµùµé°ú º¯Çüµé¿¡ »ç¿ëµÇ¾î¾ß Çϰí, °ªµé "ISO-8859-1", "ISO-8859-2", ... "ISO-8859-9"´Â ISO 8859�Ç ºÎºÐ¿¡ »ç¿ëµÇ¾î¾ß Çϸç, °ªµé "ISO-2022-JP", "Shift_JIS", "EUC-JP"´Â JIS X-0208-1997�Ç ¾ç½Ä�¸·Î ¿£ÄÚµåµÈ °Íµé¿¡ »ç¿ëµÇ¾î¾ß ÇÑ´Ù. XML ó¸®�Ú(processor)µé�º ´Ù¸¥ ¿£ÄÚµù(encoding)µé�» �Î½Ä ÇÒ ¼ö �Ö´Ù; [IANA](Internet Assigned Numbers Authority: �ÎÅÍ³Ý ÇÒ´ç ¹øÈ£ ´ç±¹)�Ç µî·ÏµÈ(charset·Î) ±Û�Ú ¿£ÄÚµùµé°ú ¸ñ·Ï�¸·Î µÈ ´Ù¸¥ ¿£ÄÚµùµé�», ±×µé�Ç µî·ÏµÈ �̸§�» »ç¿ëÇϴµ¥ ÂüÁ¶ ÇÒ °Í�» ±ÇÇÑ´Ù. �Ìµé µî·ÏµÈ �̸§�º ´ë¼Ò¹®�Ú ±¸º°ÇÏÁö ¾Ê°í Á¤�ǵǰí, ±×·¡¼­ ó¸®�Ú(processor)µé�º ±×¿¡ �ÏÄ¡Çϱ⠿øÇÏ¸é ´ë¼Ò¹®�Ú ±¸º°ÇÏÁö ¾Ê´Â ¹æ½Ä�¸·Î ÇØ¾ß ÇÑ´Ù Á¡¿¡ �¯�ÇÇ϶ó.

¿ÜºÎ�û �ü´Þ ÇÁ·ÎÅä°ñ(protocol: ¿¹ HTTP ¶Ç´Â MIME)¿¡ �ÇÇÏ¿© Á¤º¸°¡ Á¦°øµÇÁö ¾Ê�º »óÅ¿¡¼­, (1) ¼±¾ð ¾È�Ç �̸§ �Ì¿Ü�Ç ¿£ÄÚµù�¸·Î XML ó¸®�Ú¿¡°Ô Á¦½ÃµÇ´Â ¿£ÄÚµù ¼±¾ð�» Æ÷ÇÔÇÏ´Â ¿£Æ¼Æ¼, (2) ¿ÜºÎ�û ¿£Æ¼Æ¼�Ç ½Ã�ۺκÐ�Ì ¾Æ´Ï °÷¿¡ ¿£ÄÚµù ¼±¾ð�Ì ³ªÅ¸³ª´Â °Í, ¶Ç´Â (3) UTF-8 �Ì¿Ü�Ç ¿£ÄÚµù�» »ç¿ëÇϱâ �§ÇÏ¿© Byte Order Mark µµ ¾Æ´Ï°í ¿£ÄÚµù(encoding) ¼±¾ðµµ ¾Æ´Ñ °Í�¸·Î ½Ã�۵Ǵ ¿£Æ¼Æ¼´Â ¿�·ù�Ì´Ù.
ASCII´Â UTF-8�Ç ÇϺμ¼Æ®(subset)�̹ǷΠº¸Åë�Ç ASCII ¿£Æ¼Æ¼´Â ¾ö°ÝÇÏ°Ô ¿£ÄÚµù(encoding) ¼±¾ð�» ÇÊ¿ä·Î ÇÏÁö ¾Ê�½�» ¸í½ÉÇ϶ó.

XML ó¸®�Ú°¡ ó¸® ÇÒ ¼ö ¾ø´Â ¿£ÄÚµù�Ì �Ö´Â ¿£Æ¼Æ¼¸¦ ¸¸³ª¸é �̰Í�º Ä¡¸í�û ¿�·ù�Ì´Ù.

¿£ÄÚµù ¼±¾ð ¿¹Á¦:

<?xml encoding='UTF-8'?>
<?xml encoding='EUC-JP'?>

4.4 XML ó¸®�Ú�Ç ¿£Æ¼Æ¼¿Í ÂüÁ¶�Ç Ã³¸®

¾Æ·¡ Å×�̺í�º ±Û�Ú ÂüÁ¶, ¿£Æ¼Æ¼ ÂüÁ¶, ÇØ¼® ¾ÈµÈ ¿£Æ¼Æ¼°¡ ³ªÅ¸³ª¸é Á¶Ä¡¿Í °¢ °æ¿ì XML ó¸®�Ú°¡ ÃëÇØ¾ß ÇÒ Çà�§µî�Ç ¹®¸Æµé�» ¿ä¾àÇÑ °Í�Ì´Ù. °¡�å ¿ÞÂÊ Ä÷³�Ç ¶óº§�º ¾Ë·ÁÁø ¹®¸Æ�» ±â¼úÇÏ¿´´Ù:

³»¿ë(content) ÂüÁ¶
¿¤·¹¸àÆ®�Ç ½Ã�ÛÅÂ±× ÈÄ Á¾·áÅÂ±× �ü ¾îµð¿¡¼­³ª ÂüÁ¶; ºñ Å͹̳¯ content¿¡ ÇØ´ç.
¾ÖÆ®¸®ºäÆ® °ª�Ç ÂüÁ¶
½Ã�ÛÅÂ±× ¾È�Ç ¾ÖÆ®¸®ºäÆ®(attribute) °ª, ¶Ç´Â ¾ÖÆ®¸®ºäÆ® ¼±¾ð�Ç µðÆúÆ® °ª�» ÂüÁ¶; ºñ Å͹̳¯ AttValue¿¡ ÇØ´ç.
¾ÖÆ®¸®ºäÆ® °ª�¸·Î ³ªÅ¸³²
ÂüÁ¶°¡ ¾Æ´Ï¶ó, Name�¸·Î Ÿ�Ô�Ì ENTITY·Î ¼±¾ðµÈ ¾ÖÆ®¸®ºäÆ®(attribute)�Ç °ª�¸·Î ¶Ç´Â Ÿ�Ô�Ì ENTITIES·Î ¼±¾ðµÈ ¾ÖÆ®¸®ºäÆ®(attribute)�Ç °ª�¸·Î Çϳª�Ç °ø°£�¸·Î ºÐ¸®µÈ ÅäÅ«(token)µé·Î ³ªÅ¸³ª´Â °Í.
¿£Æ¼Æ¼(entity) °ª ÂüÁ¶
ÆÄ¶ó¸ÞÅÍ(parameter) ¶Ç´Â ¿£Æ¼Æ¼(entity)�Ç ¼±¾ð¿¡¼­ ³»ºÎ�û ¿£Æ¼Æ¼�Ç ¸®ÅͶö(literal) ¿£Æ¼Æ¼ °ª�¸·Î ÂüÁ¶; ºñ Å͹̳¯(nonterminal) EntityValue¿¡ ÇØ´ç.
DTD ÂüÁ¶
³»ºÎ�û ¶Ç´Â DTD�Ç ¿ÜºÎ�û ÇϺμ¼Æ®(subset)µé¿¡¼­ ÂüÁ¶, ±×·¯³ª EntityValue ¶Ç´Â AttValue�Ç ¿ÜºÎ.
¿£Æ¼Æ¼ Ÿ�Ô ±Û�Ú
ÆÄ¶ó¸ÞÅÍ(parameter) ³»ºÎ�û General ¿ÜºÎ�û ÇØ¼®µÈ General ÇØ¼®(parse) ¾ÈµÈ
³»¿ë ÂüÁ¶ �Î½Ä ¸øÇÔ Æ÷ÇÔ Æ÷ÇÔµÈ if �¯È¿¼º °ËÁ¤ ±ÝÁöµÈ Æ÷ÇÔ
¾ÖÆ®¸®ºäÆ® °ª ÂüÁ¶ �Î½Ä ¸øÇÔ ¸®ÅͶö¿¡ Æ÷ÇÔ ±ÝÁöµÈ ±ÝÁöµÈ Æ÷ÇÔ
¾ÖÆ®¸®ºäÆ® °ª�¸·Î ³ªÅ¸³² �Î½Ä ¸øÇÔ ±ÝÁöµÈ ±ÝÁöµÈ ¾Ë¸² �Î½Ä ¸øÇÔ
¿£Æ¼Æ¼ °ª ÂüÁ¶ ¸®ÅͶö¿¡ Æ÷ÇÔ Åë°ú Åë°ú ±ÝÁöµÈ Æ÷ÇÔ
DTD ÂüÁ¶ PE·Î Æ÷ÇÔµÈ ±ÝÁöµÈ ±ÝÁöµÈ ±ÝÁöµÈ ±ÝÁöµÈ

4.4.1 �Î½Ä ¸øÇÔ

DTD ¿ÜºÎ¿¡¼­, % ±Û�ڴ Ưº°ÇÑ �ǹ̸¦ °®Áö ¸øÇÑ´Ù; ±×·¡¼­, DTD¿¡¼­ ÂüÁ¶ÇÏ´Â ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼(entity)¸¦ content ¾È¿¡ ÄÚµå(markup)·Î �νÄÇÏÁö ¸øÇÑ´Ù. �Ì¿Í �¯»çÇϰÔ, �ûÁ¤ÇÏ°Ô ¼±¾ðµÈ ¾ÖÆ®¸®ºäÆ®(attribute)�Ç °ª�¸·Î ³ªÅ¸³ªÁö ¾Ê´Â ÇÑ, ÇØ¼®(parse) ¾ÈµÈ ¿£Æ¼Æ¼ �̸§µé�Ì �νĵÇÁö ¸øÇÑ´Ù.

4.4.2 Æ÷ÇÔ

¿£Æ¼Æ¼(entity)°¡, ÂüÁ¶°¡ �Î½ÄµÈ �å¼Ò¿¡¼­ ±× ¹®¼­�Ç �ϺκÐ�Î °Í ó·³ ÂüÁ¶ ±× �Ú¸®¿¡¼­, ±× ±³Ã¼ ÅØ½ºÆ®°¡ �ÐÇôÁö°í 󸮵Ǹé, Æ÷ÇԵȴÙ. ±³Ã¼ ÅØ½ºÆ®´Â ±Û�Ú µ¥�ÌÅÍ¿Í (ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼ Á¦¿Ü) ÄÚµå(markup)¸¦ Æ÷ÇÔ ÇÒ ¼ö �Ö´Ù. ¿©±â¼­ ÄÚµå´Â, »ç¿ëµÈ ¿£Æ¼Æ¼(entity)µé�Ç ±³Ã¼ ÅØ½ºÆ®°¡ ÄÚµå ±¸ºÐ�Úµé(¿£Æ¼Æ¼ amp, lt, gt, apos, quot)·Î ¿¡½ºÄÉ�Ô(escape)ÇÏ´Â °æ¿ì¸¦ Á¦¿ÜÇϰí´Â Ç×»ó µ¥�ÌÅͷΠ󸮵ȴٴ °Í �̿ܿ¡´Â, º¸Åë ¹æ½Ä�¸·Î �νĵǾî¾ß ÇÑ´Ù. (½ºÆ®¸µ "AT&amp;T;"´Â "AT&T;"·Î È®�åµÇ°í, ³ª¸ÓÁö ¾ÚÆÛ»÷µå´Â ¿£Æ¼Æ¼-ÂüÁ¶ ±¸ºÐ�Ú·Î �νÄÇÏÁö ¸øÇÑ´Ù.) ÇÑ ±Û�Ú ÂüÁ¶´Â ÁöÁ¤µÈ ±Û�Ú°¡ ±× ÂüÁ¶ �Úü�Ç �Ú¸®¿¡¼­ ó¸®µÇ¸é Æ÷ÇÔµÈ °Í�Ì´Ù.

4.4.3 Æ÷ÇÔµÈ If �¯È¿¼º °ËÁ¤

XML ó¸®�Ú(processor)°¡ ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼(entity) ÂüÁ¶¸¦ �νÄÇϸé, ±× ¹®¼­�Ç �¯È¿¼º °ËÁ¤(validate)�» �§ÇÏ¿©, ó¸®�Ú´Â ±× ±³Ã¼ ÅØ½ºÆ®¸¦ Æ÷ÇÔ(include)ÇÏ¿©¾ß ÇÑ´Ù. ¸¸�Ï ¿£Æ¼Æ¼°¡ ¿ÜºÎ�û�̰í, ó¸®�Ú°¡ XML ¹®¼­ �¯È¿¼º °ËÁ¤�» ½ÃµµÇÏÁö ¾Ê�¸¸é, ±× ó¸®�Ú(processor)´Â, ÇÊ¿ä»çÇ×�º ¾Æ´ÏÁö¸¸, ¿£Æ¼Æ¼(entity)�Ç ±³Ã¼ ÅØ½ºÆ®¸¦ Æ÷ÇÔ ÇÒ ¼ö �Ö´Ù. ¸¸�Ï �¯È¿¼º °ËÁ¤ÇÏÁö ¾Ê´Â ÇØ¼®�Ú(parser)°¡ ±³Ã¼ ÅØ½ºÆ®¸¦ Æ÷ÇÔÇÏÁö ¾Ê�¸¸é, �û¿ë(application)¿¡°Ô �Î½ÄµÈ ¿£Æ¼Æ¼¸¦ ¾Ë·Á ÁÖ¾î¾ß ÇÏÁö¸¸, �ÐÁö´Â ¾Ê´Â´Ù.

�Ì ±ÔÄ¢�º, �Úµ¿ Æ÷ÇÔ�Ì SGML¿¡ �ÇÇÏ¿© Á¦°øµÇ°í, XML ¿£Æ¼Æ¼ ±â±¸(mechanism)°¡ ¿øÃµ�û�¸·Î ÆíÁý�Ç ¸ðµâ¼º�» Áö¿øÇϱâ �§ÇÏ¿© ¼³°èµÇ°í, ´Ù¸¥ �û¿ëµé(±¸Ã¼�û�Î ¿¹·Î ¹®¼­ ºê¶ó¿ì¡)¿¡ �û´çÇÏÁö ¾Ê�» ¼ö �Ö´Ù´Â, �νÄ�» ±âÃÊ·Î ÇÑ °Í�Ì´Ù. ¿¹¸¦ µé¾î, ¿ÜºÎ�û ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼ ÂüÁ¶¸¦ ¸¸³ª¸é, ºê¶ó¿ì�úµé�º, ¿£Æ¼Æ¼�Ç Á¸�縦 º¸�̰í, �оî, ¿ä±¸¿¡ �ÇÇØ¼­ ¸¸ µð½ºÇ÷¹�ÌÇÏ´Â, ¼±ÅÃ�» ÇÒ ¼ö �Ö´Ù.

4.4.4 ±ÝÁöµÈ

¾Æ·¡´Â ±ÝÁöµÈ »çÇ×µé�̰í Ä¡¸í�û(fatal) ¿�·ùµé�» ±¸¼ºÇÑ´Ù:

  • ÇØ¼®(parse) ¾ÈµÈ ¿£Æ¼Æ¼¸¦ ÂüÁ¶ÇÏ´Â °Í.
  • EntityValue ³ª AttValue �Ì¿Ü�Ç °÷¿¡¼­ DTD¿¡¼­ ±Û�Ú ¶Ç´Â �ϹÝ(general) ¿£Æ¼Æ¼(entity) ÂüÁ¶ÇÏ´Â °Í.
  • ¾ÖÆ®¸®ºäÆ® °ª¿¡¼­ ¿ÜºÎ�û ¿£Æ¼Æ¼(entity)¸¦ ÂüÁ¶ÇÏ´Â °Í.

4.4.5 ¸®ÅͶö(literal)¿¡ Æ÷ÇÔµÈ

¾ÖÆ®¸®ºäÆ® °ª¿¡ ¿£Æ¼Æ¼ ÂüÁ¶°¡ ³ªÅ¸³ª°Å³ª, ¸®ÅͶö(literal) ¿£Æ¼Æ¼ °ª¿¡ ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼ ÂüÁ¶°¡ ³ªÅ¸³ª¸é, ±³Ã¼ ÅØ½ºÆ® ¾È�Ç ´Ü�Ï ¶Ç´Â �ÌÁß µû¿ÈÇ¥ ±Û�Ú´Â Ç×»ó Á¤»ó µ¥�ÌÅÍ ±Û�ڷΠ󸮵ǰí, ¸®ÅͶö�» Á¾·á½ÃŰÁö ¾Ê´Â´Ù´Â °Í�» Á¦¿ÜÇϰí´Â, ±× ±³Ã¼ ÅØ½ºÆ®°¡ ±× ¹®¼­�Ç ºÎºÐ�Î °Í ó·³ �Î½ÄµÈ ÂüÁ¶�Ç �§Ä¡¿¡¼­ 󸮵ȴÙ:

�ß Çü¼ºµÈ ¿¹Á¦:

<!ENTITY % YN '"Yes"' >
<!ENTITY WhatHeSaid "He said &YN;" >

±×·¸Áö ¾Ê�º ¿¹Á¦:

<!ENTITY EndAttr "27'" >
<element attribute='a-&EndAttr;>

4.4.6 ¾Ë¸²(notify)

ÇØ¼®(parse) ¾ÈµÈ ¿£Æ¼Æ¼(entity)�Ç �̸§�Ì ¼±¾ðµÈ Ÿ�Ô ENTITY ¶Ç´Â ENTITIES�Ç ¾ÖÆ®¸®ºäÆ®(attribute) °ª¿¡ ÅäÅ«(token)�¸·Î ³ªÅ¸³ª¸é, �¯È¿¼º °ËÁ¤ ó¸®�Ú(processor)´Â ½Ã½ºÅÛ(system) �û¿ë(application)°ú °øÅë(public: �Ö�¸¸é) �νÄ�Ú(identifier)µé¿¡°Ô, ¿£Æ¼Æ¼¿Í ±× °ü·ÃµÈ ÁÖ¼®(notation)�» ¾Ë·Á ÁÖ¾î¾ß ÇÑ´Ù.

4.4.7 Åë°ú(bypassed)

¿£Æ¼Æ¼ ¼±¾ð¿¡¼­ EntityValue¿¡ �Ï¹Ý ¿£Æ¼Æ¼ ÂüÁ¶°¡ ³ªÅ¸³ª¸é, ±×´ë·Î ³öµÎ°í Åë°úÇÑ´Ù.

4.4.8 PE·Î Æ÷ÇÔµÈ

¿ÜºÎ�û ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼¿¡¼­¿Í ¸¶Âù°¡Áö·Î, ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼(entity)´Â Æ÷ÇÔµÈ if �¯È¿¼º °ËÁ¤�» ÇÒ ¶§ ¸¸ ÇÊ¿äÇÏ´Ù. DTD¿¡¼­ ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼ ÂüÁ¶°¡ �νĵǰí, Æ÷ÇԵǸé, ±× ±³Ã¼ ÅØ½ºÆ®´Â ¾Õ°ú µÚ¿¡ °¢ ÇѰ³�Ç °ø¹é(#x20) ±Û�Ú¸¦ ÷ºÎÇÏ¿© È®�åµÈ´Ù; ±× �ǵµ´Â ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼(entity)�Ç ±³Ã¼ ÅØ½ºÆ®¿¡ DTD ¹®¹ý�û Á¤¼ö ¼öÄ¡ ÅäÅ«�» ¹æÁöÇϱâ �§ÇÑ °Í�Ì´Ù.

4.5 ³»ºÎ�û ¿£Æ¼Æ¼ ±³Ã¼(replacement) ÅØ½ºÆ®�Ç Çü¼º

³»ºÎ�û ¿£Æ¼Æ¼�Ç Ã³¸®¸¦ ´Ù·ç´Âµ¥, µÎ°¡Áö ¾ç½Ä�Ç ¿£Æ¼Æ¼ °ªµé�» ±¸º°ÇÏ´Â °Í�Ì �¯¿ëÇÏ´Ù. ¸®ÅͶö(literal) ¿£Æ¼Æ¼ °ª�º ¿£Æ¼Æ¼(entity) ¼±¾ð¿¡¼­ ½ÇÁ¦�û�¸·Î µû¿ÈÇ¥ ¾È�Ç ½ºÆ®¸µ�¸·Î ºñ Å͹̳¯ EntityValue¿¡ ÇØ´çÇÑ´Ù. ±³Ã¼ ÅØ½ºÆ®´Â, ±Û�Ú ÂüÁ¶¿Í ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼ ÂüÁ¶ ±³Ã¼(replacement) �ÌÈÄ¿¡´Â, ¿£Æ¼Æ¼�Ç ³»¿ë�Ì´Ù.

³»ºÎ�û ¿£Æ¼Æ¼ ¼±¾ð¿¡¼­(EntityValue) ÁÖ¾îÁø ¸®ÅͶö(literal) ¿£Æ¼Æ¼ °ª�º ±Û�Ú, ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼¿Í �Ï¹Ý ¿£Æ¼Æ¼ ÂüÁ¶µé�» Æ÷ÇÔ ÇÒ ¼ö �Ö´Ù. �̿Ͱ°�º ÂüÁ¶´Â ¿Ï�üÈ÷ ¸®ÅͶö ¿£Æ¼Æ¼(entity) °ª ¾È¿¡ Æ÷ÇԵǾî¾ß ÇÑ´Ù. �§¿¡ ¼³¸íµÈ ¹Ù¿Í °°�º Æ÷ÇÔµÈ ½ÇÁ¦�û�Î ±³Ã¼ ÅØ½ºÆ®´Â ÂüÁ¶µÈ ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼�Ç ±³Ã¼ ÅØ½ºÆ®¸¦ Æ÷ÇÔÇÏ¿©¾ß Çϸç, ÂüÁ¶µÈ ±Û�Ú ¸®ÅͶö ¿£Æ¼Æ¼ °ª ¾È¿¡ ÂüÁ¶ÇÏ´Â ±Û�Ú ÂüÁ¶¸¦ Æ÷ÇÔÇÏ¿©¾ß ÇÑ´Ù; ±×·¯³ª, �Ï¹Ý ¿£Æ¼Æ¼ ÂüÁ¶´Â È®�å ¾ÈµÈ »óÅ·Π±×´ë·Î �Ö¾î¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î, ¾Æ·¡ ¼±¾ð�» º¸�Ú:

<!ENTITY % pub    "&#xc9;ditions Gallimard" >
<!ENTITY   rights "All rights reserved" >
<!ENTITY   book   "La Peste: Albert Camus, 
&#xA9; 1947 %pub;. &rights;" >

¿£Æ¼Æ¼ ±³Ã¼ ÅØ½ºÆ® "book"�º:

La Peste: Albert Camus, 
?nbsp;1947 ?itions Gallimard. &rights;

�Ï¹Ý ¿£Æ¼Æ¼(entity) ÂüÁ¶ "&rights;"´Â, ¹®¼­�Ç ³»¿ë(content) ¶Ç´Â ¾ÖÆ®¸®ºäÆ® °ª¿¡ ³ªÅ¸³ª´Â "&book;"�Ç ÂüÁ¶·Î, È®�å µÉ °Í�Ì´Ù.

�Ìµé ´Ü¼øÇÑ ±ÔÄ¢µé�º º¹ÇÕ �Û¿ëµé�» ÇÒ ¼ö �Ö´Ù; ¾î·Á¿î ¿¹Á¦�Ç �Ú¼¼ÇÑ »çÇ×�º D. "¿£Æ¼Æ¼¿Í ±Û�Ú ÂüÁ¶�Ç È®�å(expansion)"�» º¸¶ó.

4.6 »ç�ü¿¡ Á¤�ǵÈ(predefined) ¿£Æ¼Æ¼

¿£Æ¼Æ¼¿Í ±Û�Ú ÂüÁ¶´Â µÑ ´Ù ¿ÞÂÊ ²©¼â(<), ¾ÚÆÛ»÷µå(&)¿Í ´Ù¸¥ ±¸ºÐ�Ú(delimiter)µé�» ¿¡½ºÄÉ�Ô(escape)ÇÏ¿© »ç¿ë µÉ ¼ö �Ö´Ù. �Ï·Ã�Ç �ϹÝ(general) ¿£Æ¼Æ¼(amp, lt, gt, apos, quot)´Â �̿Ͱ°�º ¸ñ�û�¸·Î ÁöÁ¤µÇ¾ú´Ù. ¼ýÄ¡(numeric) ±Û�Ú ÂüÁ¶µµ »ç¿ë µÉ ¼ö �Ö´Ù; �̵é�º �νĵǴ Áï½Ã È®�åµÇ°í, ±Û�Ú µ¥�ÌÅÍ·Î Ãë±ÞµÇ¾î¾ß ÇÑ´Ù. ±×¸®¼­ ¼ýÄ¡ ±Û�Ú ÂüÁ¶ "&#60;"¿Í "&#38;"´Â ±Û�Ú µ¥�ÌÅÍ¿¡ ³ªÅ¸³ª¸é '<'¿Í '&'¸¦ ¿¡½ºÅ×�Ô(escape)ÇÏ¿© »ç¿ë µÉ ¼ö �Ö´Ù.

¸ðµç XML ó¸®�Ú(processor)µé�º �Ìµé ¿£Æ¼Æ¼(entity)µé�Ì ¼±¾ðµÈ °Í�ΰ¡ ¾Æ´Ñ°¡¸¦ �νÄÇÏ¿©¾ß ÇÑ´Ù. °øÅë»ç¿ë¼º(interoperability)�» �§ÇÏ¿©, �¯È¿ÇÑ(valid) XML ¹®¼­µé�º �Ìµé ¿£Æ¼Æ¼(entity)µé�Ì, ´Ù¸¥ °Íµé°ú ¸¶Âù°¡Áö·Î »ç¿ë �ü¿¡, ¼±¾ðµÇ¾î¾ß ÇÑ´Ù ¹®Á¦�Ç ¿£Æ¼Æ¼°¡ ¼±¾ðµÇ¸é, ¾Æ·¡ ¼³¸í°ú °°�Ì, ±×°Íµé�º, ±×�Ç ±³Ã¼ ÅØ½ºÆ®°¡ ¿¡½º°Ô�Ô µÈ ´Ü�Ï ±Û�Ú�̰ųª ±× ±Û�Ú�Ç ±Û�Ú ÂüÁ¶�Î, ³»ºÎ�û ¿£Æ¼Æ¼·Î ¼±¾ðµÇ¾î¾ß ÇÑ´Ù.

<!ENTITY lt     "&#38;#60;"> 
<!ENTITY gt     "&#62;"> 
<!ENTITY amp    "&#38;#38;"> 
<!ENTITY apos   "&#39;"> 
<!ENTITY quot   "&#34;"> 

"lt"¿Í "amp"�Ç ¼±¾ð¿¡¼­ "<"¿Í "&" ±Û�Úµé�º, ±× ¿£Æ¼Æ¼ ´ëü(replacement)°¡ �ß Çü¼ºµÈ °Í�Ì µÇ°Ô Çϴµ¥ ÇÊ¿ä ÇÑ, �ÌÁß(double)�¸·Î ¿¡½ºÄÉ�Ô(escaped) µÇ¾ú½¿¿¡ ÁÖ�ÇÇ϶ó.

4.7 ÁÖ¼®(notation) ¼±¾ð

ÁÖ¼®µé�º, ÁÖ¼®(notation) ¾ÖÆ®¸®ºäÆ®, ¶Ç´Â ó¸®Áö½Ã(processing instruction)°¡ º¸³»Áö´Â �û¿ë(application)�» °®´Â, ¿¤·¹¸àÆ®µé�Ç ÇØ¼®(parse) ¾ÈµÈ ¿£Æ¼Æ¼ ¾ç½Ä �̸§�¸·Î �νÄ(identify)ÇÑ´Ù.

ÁÖ¼® ¼±¾ðµé�º, ¿£Æ¼Æ¼(entity)¿Í ¾ÖÆ®¸®ºäÆ® ¸ñ·Ï ¼±¾ðµé°ú ¾ÖÆ®¸®ºäÆ® ±Ô°Ýµé�Ç »ç¿ë�» �§ÇÏ¿©, ÁÖ¼®¿¡ �̸§�» Á¦°øÇÑ´Ù. ±×¸®°í, XML ó¸®�Ú(processor)¿¡°Ô Çã¿ëÇÏ´Â ÁÖ¼® ¶Ç´Â ÁÖ¾îÁø ÁÖ¼®¿¡¼­ µ¥�ÌÅÍ Ã³¸®¸¦ °¡´ÉÇÏ°Ô ÇÏ´Â µµ¿ò �û¿ë�» �§Ä¡½ÃŰ´Â Å©¶ó�̾ðÆ®(client: °í°´) �û¿ë(application)�» �§ÇÏ¿©, ¿ÜºÎ�û �νÄ�Ú(identifier)¸¦ Á¦°øÇÑ´Ù.

ÁÖ¼® ¼±¾ð(Notation Declarations)
[82]  NotationDecl ::= '<!NOTATION' S Name S (ExternalIDPublicID) S? '>'
[83]  PublicID ::= 'PUBLIC' S PubidLiteral

XML ó¸®�Ú(processor)´Â �û¿ë(application)¿¡ �̸§°ú, ¾ÖÆ®¸®ºäÆ® °ª, ¾ÖÆ®¸®ºäÆ®(attribute) Á¤�Ç, ¶Ç´Â ¿£Æ¼Æ¼(entity) ¼±¾ð¿¡¼­, ¼±¾ðµÇ°í ÂüÁ¶µÇ´Â ¾î¶² ÁÖ¼®(notation)�Ç ¿ÜºÎ�û �νÄ�Ú(identifier)¸¦ Á¦°øÇÏ¿©¾ß ÇÑ´Ù. �̵é�º Ãß°¡�û�¸·Î ¿ÜºÎ�û �νÄ�Ú¸¦ ½Ã½ºÅÛ �νÄ�Ú·Î, È­�Ï �̸§�¸·Î, ¶Ç´Â ¼³¸íµÈ ÁÖ¼® ¾È�Ç µ¥�ÌÅÍ Ã³¸®�Ú¸¦ È£ÃâÇÏ´Â �û¿ë�» Çã¿ëÇϴµ¥ ÇÊ¿äÇÑ ´Ù¸¥ Á¤º¸µé�» ÇØ°á(»êÃâ) ÇÒ ¼ö �Ö´Ù. (±×·¯³ª, XML ¹®¼­¿¡¼­ ¼±¾ðÇϰí, ÁÖ¼®¿¡¼­ Á¶È¸ÇÏ´Â XML ó¸®�Ú(processor) ¶Ç´Â �û¿ë�Ì �Ûµ¿Çϰí �Ö´Â ½Ã½ºÅÛ¿¡ ÁÖ¼® ƯÁ¤ �û¿ë(notation-specific application)µé�Ì ¾ø´Ù¸ç, �̰Í�º ¿�·ù´Â ¾Æ´Ï´Ù.)

4.8 ¹®¼­(document) ¿£Æ¼Æ¼

¹®¼­ ¿£Æ¼Æ¼´Â ¿£Æ¼Æ¼ °èÅëµµ(tree)¿¡¼­ ÃÖ»ó�§(root)·Î �Û¿ëÇϰí, XML ó¸®�Ú(processor)�Ç ½Ã�ÛÁ¡�Ì´Ù. �̱԰Ý�º XML ó¸®�Ú¿¡ �ÇÇÏ¿© ¾î¶»°Ô ¹®¼­ ¿£Æ¼Æ¼ �§Ä¡µÇ´Â°¡¸¦ Á¤�ÇÇϰí �ÖÁö ¾Ê´Ù; ´Ù¸¥ ¿£Æ¼Æ¼µé°ú´Â ´Þ¸®, ¹®¼­(document) ¿£Æ¼Æ¼´Â �̸§�» °®°í �ÖÁö ¾Ê°í, ÁöÁ¤(�νÄ)�Ì �üÇô ¾ø¾îµµ ó¸®�Ú �Ô·Â(input) È帧�Ì �ß ³ªÅ¸³¯ ¼ö �Ö´Ù.


5. ±Ô°ÝºÎÇÕ¼º

5.1 �¯È¿¼º °ËÁ¤Çϴ ó¸®�Ú¿Í �¯È¿¼º °ËÁ¤ ¾Ê´Â ó¸®�Ú

±Ô°Ý¿¡ ºÎÇÕÇÏ´Â XML ó¸®�Ú(processor)µé�º �¯È¿¼º °ËÁ¤Çϴ ó¸®�Ú¿Í �¯È¿¼º °ËÁ¤ ¾Ê´Â ó¸®�Ú µÎ°¡Áö Á¾·ù Áß¿¡ Çϳª�Ì´Ù.

�¯È¿¼º °ËÁ¤Çϴ ó¸®�Ú¿Í �¯È¿¼º °ËÁ¤ ¾Ê´Â ó¸®�Úµé�º µÑ ´Ù, ¹®¼­ ¿£Æ¼Æ¼�Ç ³»¿ë°ú ±×°¡ �д ´Ù¸¥ ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼µé¿¡¼­, �̱԰Ý�Ç �ß Çü¼ºµÊ�» �§ÇÑ Çʼö»çÇ× �§¹Ý�» ¾Ë·ÁÁÖ¾î¾ß ÇÑ´Ù.

�¯È¿¼º °ËÁ¤ ó¸®�Úµé�º DTD¿¡ ¼±¾ðµé·Î ³ªÅ¸³½ Á¦ÇÑ¿ä¼Ò�Ç �§¹Ý°ú, �̱԰Ý�Ç ÁÖ¾îÁø �¯È¿¼º °ËÁ¤(validity) Á¦ÇÑ¿ä¼Ò¸¦ ¸¸Á·½ÃŰÁö ¸øÇÏ´Â °ä�» ¾Ë·Á ÁÖ¾î¾ß ÇÑ´Ù. �̸¦ ´Þ¼ºÇϱâ �§ÇÏ¿©, �¯È¿¼º °ËÁ¤ XML ó¸®�Ú(processor)µé�º, �üü DTD¿Í ¹®¼­�Ç ¸ðµç ÂüÁ¶µÈ ¿ÜºÎ�û ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼¸¦ �аí ó¸®ÇÏ¿©¾ß ÇÑ´Ù.

�¯È¿¼º °ËÁ¤ ¾Ê´Â ó¸®�Úµé�º �üü ³»ºÎ�û DTD ÇϺμ¼Æ®(subset)¸¦ Æ÷ÇÔÇÏ¿© ¹®¼­ ¿£Æ¼Æ¼ ¸¸ ±×�Ç �ß Çü¼ºµÊ�» °Ë»çÇÏ´Â °Í�Ì ÇÊ¿äÇÏ´Ù. ±×µé�º ¹®¼­�Ç �¯È¿¼º(validity) °Ë»ç°¡ ÇÊ¿äÇÏÁö ¾ÊÁö¸¸, ³»ºÎ�û DTD ÇϺμ¼Æ®¿Í ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼¿¡¼­ �Ð�º ¸ðµç ¼±¾ð�», �ÐÁö ¾Ê�º ó�½ ÆÄ¶ó¸ÞÅÍ ¿£Æ¼Æ¼(entity)¸¦ ÂüÁ¶Çϴµ¥ ±îÁö, ó¸®(process)ÇÏ´Â °Í�º ÇÊ¿äÇÏ´Ù; ´Ù½Ã¸»ÇØ, �̰͵é�º, ¾ÖÆ®¸®ºäÆ® °ªµé�» Á¤»óÈ­(normalize)Çϰí, ³»ºÎ�û ¿£Æ¼Æ¼�Ç ±³Ã¼ ÅØ½ºÆ®¸¦ Æ÷ÇÔ(include)Çϰí, µðÆúÆ® ¾ÖÆ®¸®ºäÆ® °ªµé�» Á¦°øÇϱâ �§ÇÏ¿©, ¼±¾ðµé¿¡ �Ö´Â Á¤º¸¸¦ »ç¿ëÇÏ¿©¾ß ÇÑ´Ù. �̰͵é�º ¿£Æ¼Æ¼ ¼±¾ðµé�̳ª �ÐÁö ¾Ê�º ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼(entity) ÂüÁ¶ ´Ù�½¿¡ ¸¸³ª´Â ¾ÖÆ®¸®ºäÆ® ¸ñ·Ï ¼±¾ðµé�» ó¸®(process)ÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù. �Ì´Â ±× ¿£Æ¼Æ¼¿¡´Â µ¤¾î¾º¿ì´Â ¼±¾ðµé�» Æ÷ÇÔ ÇÒ ¼ö �ֱ⠶§¹®�Ì´Ù.

5.2 XML ó¸®�Ú(processor)�Ç »ç¿ë

�¯È¿¼º °ËÁ¤ XML ó¸®�Ú�Ç È°µ¿�º »ó´çÈ÷ ¿¹Ãø ÇÒ ¼ö �Ö´Ù; �Ì´Â ¹®¼­�Ç °¢ ºÎºÐ�» �Ð°í ¸ðµç �ß Çü¼ºµÊ°ú �¯È¿¼º(validity) �§¹Ý�» ¾Ë·ÁÁÖ¾î¾ß ÇÑ´Ù. �¯È¿¼º °ËÁ¤ ¾Ê´Â ó¸®�Ú¿¡¼­´Â �̺¸´Ù �û�º ÇÊ¿ä»çÇ×�Ì �Ö´Ù; ¹®¼­ ¿£Æ¼Æ¼(entity) �Ì¿Ü�Ç ´Ù¸¥ ¹®¼­ ºÎºÐ�º �Ð�» Çʿ䰡 ¾ø´Ù. �Ì´Â XML ó¸®�Ú(processor)�Ç »ç¿ë�ڵ鿡°Ô Áß¿äÇÑ µÎ°¡Áö È¿°ú(¿µÇâ)�Ì �Ö´Ù:

  • ¾î¶² �ß Çü¼ºµÊ ¿�·ùµé, ƯÈ÷ ¿ÜºÎ�û ¿£Æ¼Æ¼(entity)�Ç �Ð�½�» ÇÊ¿ä·ÎÇÏ´Â °Íµé�º �¯È¿¼º °ËÁ¤ ¾Ê´Â ó¸®�Ú¿¡ �ÇÇÏ¿© °¨ÁöµÇÁö ¾Ê�» ¼ö �Ö´Ù. ¿¹Á¦µé�º ¼±¾ðµÈ ¿£Æ¼Æ¼, ÇØ¼®(parse)µÈ ¿£Æ¼Æ¼, ¹Ýº¹ ¾ø½¿·Î Á¦¸ñ ºÙ�º Á¦ÇÑ¿ä¼Òµé�» Æ÷ÇÔÇÑ´Ù. ¶ÇÇÑ 4.4 "XML ó¸®�Ú�Ç ¿£Æ¼Æ¼¿Í ÂüÁ¶�Ç Ã³¸®"�Ç ±ÝÁöµÈ�¸·Î ¼³¸íµÈ �ϺΠ°æ¿ìµµ �Ö´Ù.
  • ó¸®�Ú(processor)·Î ºÎÅÍ �û¿ë(application)¿¡ �ü´ÞµÇ´Â Á¤º¸´Â ó¸®�Ú°¡ ÆÄ¶ó¸ÞÅÍ¿Í ¿ÜºÎ�û ¿£Æ¼Æ¼¸¦ �д°¡¿¡ µû¶ó ´Þ¶ó Áú ¼ö �Ö´Ù. ¿¹¸¦ µé¾î, �¯È¿¼º °ËÁ¤ ¾Ê´Â ó¸®�Ú´Â ¾ÖÆ®¸®ºäÆ® °ª�Ç Á¤»óÈ­(normalize), ³»ºÎ�û ¿£Æ¼Æ¼�Ç ±³Ã¼ ÅØ½ºÆ®(replacement)�Ç Æ÷ÇÔ(include) ¶Ç´Â µðÆúÆ® ¾ÖÆ®¸®ºäÆ® °ª�Ç Á¦°ø�» ÇÏÁö ¾Ê�» ¼ö �Ö´Ù. ¿©±â¼­´Â ¿ÜºÎ�û ¶Ç´Â ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼(entity)�Ç �Ð�º ¼±¾ðµé ±×´ÙÁö �ÇÁ¸ÇÏÁö ¾Ê´Â´Ù.

¼­·Î ´Ù¸¥ XML ó¸®�Úµé »ç�Ì�Ç Åë¿ë¼º¿¡¼­ ÃÖ´ë�Ç ½Å·Ú¼º�» �§ÇÏ¿©, �¯È¿¼º °ËÁ¤ ¾Ê´Â ó¸®�Úµé�» »ç¿ëÇÏ´Â �û¿ëµé�º ±×¿Í °°�º ó¸®�Ú(processor)µé¿¡ ÇÊ¿äÇÏÁö ¾Ê�º Ȱµ¿(behavior)¿¡ �ÇÁ¸ÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù. µðÆúÆ®(default) ¾ÖÆ®¸®ºäÆ®(attribute)µé ¶Ç´Â ¿ÜºÎ�û ¿£Æ¼Æ¼¿¡ ¼±¾ðµÈ ³»ºÎ�û ¿£Æ¼Æ¼(entity)¿¡ »ç¿ëÇÏ´Â °Í °°�º µµ±¸(facilities)µé�» ÇÊ¿ä·Î ÇÏ´Â �û¿ëµé�º �¯È¿¼º °ËÁ¤ XML ó¸®�Úµé�» »ç¿ëÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù.


6. ÁÖ¼®(notation)

�̱԰ݿ¡¼­ °£´ÜÇÑ ¾ç½Ä(EBNF: Extended Backus-Naur Form)�Ç ÁÖ¼®(notation)�» »ç¿ëÇÏ¿© XML�Ç °ø½Ä�û�Î ¹®¹ý�Ì ÁÖ¾îÁø´Ù. ¹®¹ý�Ç °¢ ±ÔÄ¢�º ¾Æ·¡¿Í °°�º ¾ç½Ä�Ç ºÎÈ£·Î Á¤�ǵǾú´Ù.

symbol ::= expression
ºÎÈ£   ::= °ø½Ä(Ç¥Çö)

ºÎÈ£(Symbol)µé�º, ±×µé�Ì º¸Åë�Ç Ç¥Çö(°ø½Ä)�¸·Î Á¤�Ç µÇ¾ú�¸¸é, ù±Û�Ú¸¦ ´ë¹®�Ú·Î ÇÏ¿´°í, ±×·¸Áö ¾Ê�¸¸é ¼Ò¹®�Ú·Î ½Ã�ÛÇÏ¿´´Ù. ¸®ÅͶö(literal) ½ºÆ®¸µµé�º µû¿ÈÇ¥ ¾È¿¡ ³Ö¾ú´Ù.

°ø½Ä(ÄÚµå) ¼Ó¿¡ ¿�¸¥ÂÊ ºÎºÐ¿¡ ¾Æ·¡ °ø½Ä(Ç¥Çö)µé·Î, ¦ ¸ÂÃß¾î ÇѰ³ ¶Ç´Â ¿©·¯°³�Ç ±Û�Úµé�Ç ½ºÆ®¸µ�» »ç¿ëÇÏ¿´´Ù:

#xN
¿©±â¼­ N�º 16Áø¼ö Á¤¼ö, �Ì °ø½Ä�º ISO/IEC 10646 canonical (UCS-4) ÄÚµå °ª ±Û�Ú¿Í ¸Â°í, ºÎÈ£ ¾ø´Â �ÌÁø¼ö·Î ÇØ¼® ÇÒ ¶§´Â ±× °ª�Ì Á¦½ÃµÇ¾ú´Ù. #xN ¾ç½Ä¿¡¼­ ¸Ç ¾Õ�Ç "0"µé�º º° �ǹ̰¡ ¾ø´Ù; ¸Ç ¾Õ�Ç "0"µé�» °®´Â ¼öÄ¡¿¡ ÇØ´çÇÏ´Â ÄÚµå °ª�º »ç¿ëÇϰí �Ö´Â ±Û�Ú ¿£ÄÚµù(encoding)¿¡ �ÇÇÏ¿© °áÁ¤µÇ°í, XML¿¡¼­´Â º° �ǹ̰¡ ¾ø´Ù.
[a-zA-Z], [#xN-#xN]
°ª(µé)�Ì ÁöÁ¤ÇÏ´Â ¹ü�§�Ç ¾Æ¹« ±Û�Ú¿¡³ª �ÏÄ¡ÇÑ´Ù(Æ÷ÇÔ).
[^a-z], [^#xN-#xN]
°ª�Ì ÁöÁ¤ÇÏ´Â ¹ü�§ ¹Û�Ç ¾Æ¹« ±Û�Ú¿¡³ª �ÏÄ¡ÇÑ´Ù.
[^abc], [^#xN#xN#xN]
ÁÖ¾îÁø °ª¿¡ ¾ø´Â ±Û�Úµé Áß ¾Æ¹« ±Û�Ú¿¡³ª �ÏÄ¡ÇÑ´Ù.
"string"
�ÌÁß µû¿ÈÇ¥µé ¾È¿¡ ÁÖ¾îÁø ¸®ÅͶö(literal) ½ºÆ®¸µ¿¡ �ÏÄ¡ÇÏ´Â.
'string'
´Ü�Ï µû¿ÈÇ¥µé ¾È¿¡ ÁÖ¾îÁø ¸®ÅͶö(literal) ½ºÆ®¸µ¿¡ �ÏÄ¡ÇÏ´Â.
�Ì ºÎÈ£(symbol)µé�º °áÇÕµÇ¾î ´Ù�½°ú °°�Ì ´õ º¹�âÇÏ°Ô �ÏÄ¡ÇÒ ¼ö �Ö´Ù. ¿©±â¼­ A¿Í B´Â °£´ÜÇÑ °ø½Ä(expression)�» ¸»ÇÑ´Ù:
(expression)
°ø½Ä(expression: Ç¥Çö)�º Çϳª�Ç ´Ü�§ Ãë±ÞµÇ°í, �Ì ¸ñ·Ï¿¡¼­ ¼³¸íÇÏ´Â ¹Ù¿Í °°�Ì °áÇÕ µÉ ¼ö �Ö´Ù.
A?
¼±ÅÃ�û A; A ¶Ç´Â ¾ø´Â°Í°ú �ÏÄ¡ÇÑ´Ù.
A B
A ´Ù�½¿¡ ¹Ù·Î B°¡ ¿�´Â °Í°ú �ÏÄ¡ÇÑ´Ù.
A | B
A ¶Ç´Â B�̳ª µÑ ´Ù´Â ¾Æ´Ï´Ù¿Í �ÏÄ¡ÇÏ´Ù.
A - B
A´Â °°°í B´Â °®Áö ¾Ê�º ¾Æ¹« ½ºÆ®¸µ¿¡¼­³ª �ÏÄ¡ÇÑ´Ù.
A+
A°¡ Çѹø Ȥ�º ±×�Ì»ó ³ªÅ¸³ª¸é �ÏÄ¡ÇÑ´Ù.
A*
A°¡ Çѹøµµ ¾ø´ø°¡ ±×�Ì»ó �Ö�¸¸é �ÏÄ¡ÇÑ´Ù.
»ý¼º(production)¿¡ »ç¿ëµÈ ´Ù¸¥ ÁÖ¼®(notation)µé�º ´Ù�½°ú °°´Ù:
/* ... */
ÄÚ¸àÆ®(comment).
[ wfc: ... ]
�ß Çü¼ºµÊ�» �§ÇÑ Çʼö»çÇ×(well-formed constraint); �Ì´Â �̸§�¸·Î, °ü·ÃµÈ »ý¼º ¹®¼­µé�Ç �ß Çü¼ºµÊ�Ç Á¦ÇÑ¿ä¼Ò¸¦ °¡¸®Å²´Ù.
[ vc: ... ]
�¯È¿¼º Á¦ÇÑ¿ä¼Ò(valid constraint); �Ì´Â �̸§�¸·Î, °ü·ÃµÈ »ý¼º ¹®¼­µé�Ç �¯È¿¼º(valid)�Ç Á¦ÇÑ¿ä¼Ò¸¦ °¡¸®Å²´Ù.


ºÎ·Ï

A. ÂüÁ¶

A.1 Áö¸í�û ÂüÁ¶

IANA
(�ÎÅÍ³Ý ÇÒ´ç ¹øÈ£ ´ç±¹: Internet Assigned Numbers Authority)
±Û�Ú ¼¼Æ®�Ç °ø½Ä �̸§(Official Names for Character Sets),
�ú�Ú: Keld Simonsen µî.
¿µ¹® ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets ÂüÁ¶.
IETF RFC 1766
IETF (�ÎÅÍ³Ý ¿£Áö´Ï¾î¸µ ŽºÅ© Æ÷½º: Internet Engineering Task Force).
RFC 1766: ¾ð¾î�Ç �νÄ�» �§ÇÑ Å±׵é(Tags for the Identification of Languages),
�ú�Ú: H. Alvestrand. 1995.
ISO 639
(Ç¥ÁØÈ­¸¦ �§ÇÑ ±¹Á¦ ±â±¸: International Organization for Standardization).
ISO 639:1988 (E). ¾ð¾î �̸§ Ç¥Çö�» �§ÇÑ ÄÚµå(Codes for the representation of names of countries and their subdivisions).
[Geneva]: International Organization for Standardization, 1988.
ISO 3166
(Ç¥ÁØÈ­¸¦ �§ÇÑ ±¹Á¦ ±â±¸: International Organization for Standardization).
ISO 3166-1:1997 (E).
¾ð¾î �̸§ Ç¥Çö�» �§ÇÑ ÄÚµå(Codes for the representation of names of countries and their ) -- Part 1: ±¹°¡ÄÚµå(Country codes)

[Geneva]: International Organization for Standardization, 1997.
ISO/IEC 10646
(Ç¥ÁØÈ­¸¦ �§ÇÑ ±¹Á¦ ±â±¸: International Organization for Standardization).
ISO/IEC 10646-1993 (E).
Á¤º¸ ±â¼ú -- ±¹Á¦ º¹¼ö-8Áø¼ö ÄÚµå ±Û�Ú ¼¼Æ®(UCS)
Information technology -- Universal Multiple-Octet Coded Character Set
-- Part 1: Architecture and Basic Multilingual Plane.

[Geneva]: International Organization for Standardization, 1993(AM 1-AM 7°³Á¤ Ãß°¡).
Unicode
The Unicode Consortium.
�¯´ÏÄÚµå Ç¥ÁØ, ¹ö�ü 2.0(The Unicode Standard, Version 2.0).
Reading, Mass.: Addison-Wesley Developers Press, 1996.

A.2 ´Ù¸¥ ÂüÁ¶

Aho/Ullman
Aho, Alfred V., Ravi Sethi, and Jeffrey D. Ullman.
Compilers: Principles, Techniques, and Tools.
Reading: Addison-Wesley, 1986, rpt. corr. 1988.
Berners-Lee µî.
Berners-Lee, T., R. Fielding, and L. Masinter.
Åë�Ï �Ú¿ø �νÄ�Úµé(URI: Uniform Resource Identifiers):
Generic Syntax and Semantics
. 1997.
(Work in progress; see updates to RFC1738.)
Br?gemann-Klein
Br?gemann-Klein, Anne.
Regular Expressions into Finite Automata.
Extended abstract in I. Simon, Hrsg., LATIN 1992, S. 97-98. Springer-Verlag, Berlin 1992.
Full Version in Theoretical Computer Science 120: 197-213, 1993.
Br?gemann-Klein and Wood
Br?gemann-Klein, Anne, and Derick Wood.
Deterministic Regular Languages.
Universit? Freiburg, Institut f? Informatik, Bericht 38, Oktober 1991.
Clark
James Clark. Comparison of SGML and XML.
¿µ¹® http://www.w3.org/TR/NOTE-sgml-xml-971215 ÂüÁ¶.
IETF RFC1738
IETF (Internet Engineering Task Force).
RFC 1738: Uniform Resource Locators (URL),
�ú�Ú: T. Berners-Lee, L. Masinter, M. McCahill. 1994.
IETF RFC1808
IETF (Internet Engineering Task Force).
RFC 1808: Relative Uniform Resource Locators,
�ú�Ú: R. Fielding. 1995.
IETF RFC2141
IETF (Internet Engineering Task Force).
RFC 2141: URN Syntax,
�ú�Ú: R. Moats. 1997.
ISO 8879
ISO (International Organization for Standardization).
ISO 8879:1986(E).
Á¤º¸ ó¸® -- ÅØ½ºÆ®¿Í ¿�Çǽº ½Ã½ºÅÛ -- (SGML¾ð¾î)
Information processing -- Text and Office Systems -- Standard Generalized Markup Language (SGML)
First edition -- 1986-10-15.
[Geneva]: International Organization for Standardization, 1986.
ISO/IEC 10744
ISO (International Organization for Standardization).
ISO/IEC 10744-1992 (E).
Á¤º¸ ±â¼ú -- Hypermedia/Time-based Structuring (HyTime ¾ð¾î).

[Geneva]: International Organization for Standardization, 1992.
Extended Facilities Annexe.
[Geneva]: International Organization for Standardization, 1996.

B. ±Û�Ú ºÐ·ù

´Ù�½ �¯´ÏÄÚµå(Unicode) Ç¥ÁØ¿¡ Á¤�ÇµÈ Æ¯Â¡µé ±Û�Ú�º ºÐ·ùµÇ¾î�Ö´Ù. ±âÃÊ(base) ±Û�Ú(´Ù¸¥°Íµé º¸´Ù �̵é�º ¿µ¾î(Latin)�Ç ¾ËÆÄº£Æ® ±Û�Úµé�» Æ÷ÇÔÇϰí, ±¸ºÐ±Û�Ú(diacritics)´Â Á¦¿ÜµÈ´Ù), Ç¥½Ä±Û�Ú(ideographic) ±Û�Ú, ±×¸®°í °áÇÕ(combining) ±Û�Úµé(¹«¾ùº¸´Ù �Ì ºÐ·ù´Â ´ëºÎºÐ�Ç ±¸ºÐ±Û�Ú(diacritics)�» Æ÷ÇÔ)·Î ; �Ìµé ºÐ·ù´Â °áÇÕÇÏ¿© ±Û�Úµé�Ç ºÐ·ù¸¦ ¸¸µç´Ù. ¼ý�Ú¿Í È®�å�Ú(extender)µéµµ ±¸º°ÇÏ¿´´Ù.

±Û�Úµé(Characters)
[84]  Letter ::= BaseCharIdeographic
[85]  BaseChar ::= [#x0041-#x005A] | [#x0061-#x007A] | [#x00C0-#x00D6] | [#x00D8-#x00F6] | [#x00F8-#x00FF] | [#x0100-#x0131] | [#x0134-#x013E] | [#x0141-#x0148] | [#x014A-#x017E] | [#x0180-#x01C3] | [#x01CD-#x01F0] | [#x01F4-#x01F5] | [#x01FA-#x0217] | [#x0250-#x02A8] | [#x02BB-#x02C1] | #x0386 | [#x0388-#x038A] | #x038C | [#x038E-#x03A1] | [#x03A3-#x03CE] | [#x03D0-#x03D6] | #x03DA | #x03DC | #x03DE | #x03E0 | [#x03E2-#x03F3] | [#x0401-#x040C] | [#x040E-#x044F] | [#x0451-#x045C] | [#x045E-#x0481] | [#x0490-#x04C4] | [#x04C7-#x04C8] | [#x04CB-#x04CC] | [#x04D0-#x04EB] | [#x04EE-#x04F5] | [#x04F8-#x04F9] | [#x0531-#x0556] | #x0559 | [#x0561-#x0586] | [#x05D0-#x05EA] | [#x05F0-#x05F2] | [#x0621-#x063A] | [#x0641-#x064A] | [#x0671-#x06B7] | [#x06BA-#x06BE] | [#x06C0-#x06CE] | [#x06D0-#x06D3] | #x06D5 | [#x06E5-#x06E6] | [#x0905-#x0939] | #x093D | [#x0958-#x0961] | [#x0985-#x098C] | [#x098F-#x0990] | [#x0993-#x09A8] | [#x09AA-#x09B0] | #x09B2 | [#x09B6-#x09B9] | [#x09DC-#x09DD] | [#x09DF-#x09E1] | [#x09F0-#x09F1] | [#x0A05-#x0A0A] | [#x0A0F-#x0A10] | [#x0A13-#x0A28] | [#x0A2A-#x0A30] | [#x0A32-#x0A33] | [#x0A35-#x0A36] | [#x0A38-#x0A39] | [#x0A59-#x0A5C] | #x0A5E | [#x0A72-#x0A74] | [#x0A85-#x0A8B] | #x0A8D | [#x0A8F-#x0A91] | [#x0A93-#x0AA8] | [#x0AAA-#x0AB0] | [#x0AB2-#x0AB3] | [#x0AB5-#x0AB9] | #x0ABD | #x0AE0 | [#x0B05-#x0B0C] | [#x0B0F-#x0B10] | [#x0B13-#x0B28] | [#x0B2A-#x0B30] | [#x0B32-#x0B33] | [#x0B36-#x0B39] | #x0B3D | [#x0B5C-#x0B5D] | [#x0B5F-#x0B61] | [#x0B85-#x0B8A] | [#x0B8E-#x0B90] | [#x0B92-#x0B95] | [#x0B99-#x0B9A] | #x0B9C | [#x0B9E-#x0B9F] | [#x0BA3-#x0BA4] | [#x0BA8-#x0BAA] | [#x0BAE-#x0BB5] | [#x0BB7-#x0BB9] | [#x0C05-#x0C0C] | [#x0C0E-#x0C10] | [#x0C12-#x0C28] | [#x0C2A-#x0C33] | [#x0C35-#x0C39] | [#x0C60-#x0C61] | [#x0C85-#x0C8C] | [#x0C8E-#x0C90] | [#x0C92-#x0CA8] | [#x0CAA-#x0CB3] | [#x0CB5-#x0CB9] | #x0CDE | [#x0CE0-#x0CE1] | [#x0D05-#x0D0C] | [#x0D0E-#x0D10] | [#x0D12-#x0D28] | [#x0D2A-#x0D39] | [#x0D60-#x0D61] | [#x0E01-#x0E2E] | #x0E30 | [#x0E32-#x0E33] | [#x0E40-#x0E45] | [#x0E81-#x0E82] | #x0E84 | [#x0E87-#x0E88] | #x0E8A | #x0E8D | [#x0E94-#x0E97] | [#x0E99-#x0E9F] | [#x0EA1-#x0EA3] | #x0EA5 | #x0EA7 | [#x0EAA-#x0EAB] | [#x0EAD-#x0EAE] | #x0EB0 | [#x0EB2-#x0EB3] | #x0EBD | [#x0EC0-#x0EC4] | [#x0F40-#x0F47] | [#x0F49-#x0F69] | [#x10A0-#x10C5] | [#x10D0-#x10F6] | #x1100 | [#x1102-#x1103] | [#x1105-#x1107] | #x1109 | [#x110B-#x110C] | [#x110E-#x1112] | #x113C | #x113E | #x1140 | #x114C | #x114E | #x1150 | [#x1154-#x1155] | #x1159 | [#x115F-#x1161] | #x1163 | #x1165 | #x1167 | #x1169 | [#x116D-#x116E] | [#x1172-#x1173] | #x1175 | #x119E | #x11A8 | #x11AB | [#x11AE-#x11AF] | [#x11B7-#x11B8] | #x11BA | [#x11BC-#x11C2] | #x11EB | #x11F0 | #x11F9 | [#x1E00-#x1E9B] | [#x1EA0-#x1EF9] | [#x1F00-#x1F15] | [#x1F18-#x1F1D] | [#x1F20-#x1F45] | [#x1F48-#x1F4D] | [#x1F50-#x1F57] | #x1F59 | #x1F5B | #x1F5D | [#x1F5F-#x1F7D] | [#x1F80-#x1FB4] | [#x1FB6-#x1FBC] | #x1FBE | [#x1FC2-#x1FC4] | [#x1FC6-#x1FCC] | [#x1FD0-#x1FD3] | [#x1FD6-#x1FDB] | [#x1FE0-#x1FEC] | [#x1FF2-#x1FF4] | [#x1FF6-#x1FFC] | #x2126 | [#x212A-#x212B] | #x212E | [#x2180-#x2182] | [#x3041-#x3094] | [#x30A1-#x30FA] | [#x3105-#x312C] | [#xAC00-#xD7A3]
[86]  Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]
[87]  CombiningChar ::= [#x0300-#x0345] | [#x0360-#x0361] | [#x0483-#x0486] | [#x0591-#x05A1] | [#x05A3-#x05B9] | [#x05BB-#x05BD] | #x05BF | [#x05C1-#x05C2] | #x05C4 | [#x064B-#x0652] | #x0670 | [#x06D6-#x06DC] | [#x06DD-#x06DF] | [#x06E0-#x06E4] | [#x06E7-#x06E8] | [#x06EA-#x06ED] | [#x0901-#x0903] | #x093C | [#x093E-#x094C] | #x094D | [#x0951-#x0954] | [#x0962-#x0963] | [#x0981-#x0983] | #x09BC | #x09BE | #x09BF | [#x09C0-#x09C4] | [#x09C7-#x09C8] | [#x09CB-#x09CD] | #x09D7 | [#x09E2-#x09E3] | #x0A02 | #x0A3C | #x0A3E | #x0A3F | [#x0A40-#x0A42] | [#x0A47-#x0A48] | [#x0A4B-#x0A4D] | [#x0A70-#x0A71] | [#x0A81-#x0A83] | #x0ABC | [#x0ABE-#x0AC5] | [#x0AC7-#x0AC9] | [#x0ACB-#x0ACD] | [#x0B01-#x0B03] | #x0B3C | [#x0B3E-#x0B43] | [#x0B47-#x0B48] | [#x0B4B-#x0B4D] | [#x0B56-#x0B57] | [#x0B82-#x0B83] | [#x0BBE-#x0BC2] | [#x0BC6-#x0BC8] | [#x0BCA-#x0BCD] | #x0BD7 | [#x0C01-#x0C03] | [#x0C3E-#x0C44] | [#x0C46-#x0C48] | [#x0C4A-#x0C4D] | [#x0C55-#x0C56] | [#x0C82-#x0C83] | [#x0CBE-#x0CC4] | [#x0CC6-#x0CC8] | [#x0CCA-#x0CCD] | [#x0CD5-#x0CD6] | [#x0D02-#x0D03] | [#x0D3E-#x0D43] | [#x0D46-#x0D48] | [#x0D4A-#x0D4D] | #x0D57 | #x0E31 | [#x0E34-#x0E3A] | [#x0E47-#x0E4E] | #x0EB1 | [#x0EB4-#x0EB9] | [#x0EBB-#x0EBC] | [#x0EC8-#x0ECD] | [#x0F18-#x0F19] | #x0F35 | #x0F37 | #x0F39 | #x0F3E | #x0F3F | [#x0F71-#x0F84] | [#x0F86-#x0F8B] | [#x0F90-#x0F95] | #x0F97 | [#x0F99-#x0FAD] | [#x0FB1-#x0FB7] | #x0FB9 | [#x20D0-#x20DC] | #x20E1 | [#x302A-#x302F] | #x3099 | #x309A
[88]  Digit ::= [#x0030-#x0039] | [#x0660-#x0669] | [#x06F0-#x06F9] | [#x0966-#x096F] | [#x09E6-#x09EF] | [#x0A66-#x0A6F] | [#x0AE6-#x0AEF] | [#x0B66-#x0B6F] | [#x0BE7-#x0BEF] | [#x0C66-#x0C6F] | [#x0CE6-#x0CEF] | [#x0D66-#x0D6F] | [#x0E50-#x0E59] | [#x0ED0-#x0ED9] | [#x0F20-#x0F29]
[89]  Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]

¿©±â¿¡ Á¤�ÇµÈ ±Û�Ú ºÐ·ù´Â ´Ù�½°ú °°�Ì �¯´ÏÄÚµå(Unicode) ±Û�Ú µ¥�ÌÅͺ£�̽º ±âÃÊ·Î ºÎÅÍ ¸¸µé¾î Áú ¼ö �Ö´Ù:

  • �̸§�Ç ½Ã�Û ±Û�Ú´Â Ll, Lu, Lo, Lt, Nl °¡¿îµ¥ Çϳª�Ì¿©¾ß ÇÑ´Ù.
  • Name-start ±Û�Ú �Ì¿Ü�Ç �̸§ ±Û�Úµé�º Mc, Me, Mn, Lm, ¶Ç´Â Nd Áß Çϳª¸¦ °¡Á®¾î¾ß ÇÑ´Ù.
  • compatibility area¿¡ �Ö´Â ±Û�Úµé(¸»ÇÏ�Ú¸é with ±Û�Ú Äڵ尡 #xF900 º¸´Ù Å©°í #xFFFE º¸´Ù �Û�º)�º XML �̸§¿¡ Çã¿ëµÇÁö ¾Ê´Â´Ù.
  • ÆùÆ®(font) ¶Ç´Â Åë¿ë¼º �üȯ(compatibility decomposition)�» °®´Â ±Û�Úµé(¸»ÇÏ�Ú¸é �̵é�º "compatibility formatting tag"¸¦ °¡Áö°í µ¥�ÌÅͺ£�̽º�Ç Çʵå 5¿¡ �Ö´Â -- field 5·Î Ç¥½ÃµÇ°í "<"·Î ½Ã�ÛÇÏ´Â)�º Çã¿ëµÇÁö ¾Ê´Â´Ù.
  • ´Ù�½ ±Û�Úµé�º, Ư¼º È­�Ï�Ì ±×µé�» ¾ËÆÄº£Æ½�¸·Î ºÐ·ùÇÏ¿´½¿�¸·Î, �̸§ ±Û�Úµé�Ì ¾Æ´Ï°í �̸§ ½Ã�Û ±Û�Ú·Î Ãë±ÞµÈ´Ù: [#x02BB-#x02C1], #x0559, #x06E5, #x06E6.
  • #x20DD-#x20E0 º¡�§�Ç ±Û�Úµé�º Á¦¿ÜµÇ¾ú´Ù(Unicode, Ç׸ñ 5.14¿¡ µû¶ó).
  • ±Û�Ú #x00B7´Â, Ư¼º ¸ñ·Ï�Ì ÁöÁ¤ÇÑ´ë·Î, È®�å�Ú(extender)·Î ºÐ·ùµÈ´Ù.
  • ±Û�Ú #x0387´Â �̸§ ±Û�Ú·Î Ãß°¡µÈ´Ù, #x00B7�º ±×´Â Á¤±Ô�û�¸·Î µ¿�ÏÇÔ�¸·Î.
  • ':' ¿Í '_' ±Û�Úµé�º �̸§ ½Ã�Û ±Û�ڵ鿡 Çã¿ëµÈ´Ù.
  • '-' ¿Í '.'±Û�Úµé�º �̸§ ±Û�ڵ鿡 Çã¿ëµÈ´Ù.

C. XML °ú SGML (ºñÁö¸í�û)

XML�º SGML�Ç ÇϺμ¼Æ®(subset)°¡ µÇµµ·Ï ¼³°èµÇ¾ú°í, ¿©±â¼­ °¢ �¯È¿ÇÑ(valid) XML ¹®¼­´Â SGML ¹®¼­¿¡µµ ¸Â¾Æ¾ß ÇÑ´Ù. SGML¿¡¼­¿Í ´Þ¸® XML�Ì ¹®¼­µé¿¡ Ãß°¡�û�¸·Î Á¦ÇÑ ÇÑ »ó¼¼ ºñ±³´Â [Clark]�» ÂüÁ¶Ç϶ó.


D. ¿£Æ¼Æ¼¿Í ±Û�Ú ÂüÁ¶�Ç È®�å (ºñÁö¸í�û)

�Ì ºÎ·Ï�º, 4.4 "XML ó¸®�Ú�Ç ¿£Æ¼Æ¼¿Í ÂüÁ¶�Ç Ã³¸®"¿¡ ¼³¸í ÇÑ ¹Ù¿Í °°�Ì, ¿£Æ¼Æ¼(entity)- ¿Í ±Û�Ú-ÂüÁ¶�Ç �νÄ(recognition)°ú È®�å(expansion)�Ç ¼ø¼­¸¦ ¼³¸íÇÏ´Â �ϺΠ¿¹Á¦µé�» Æ÷ÇÔÇϰí �Ö´Ù.

¼±¾ð�Ì DTD¸¦ Æ÷ÇÔÇÏ·Á¸é

<!ENTITY example "<p>An ampersand (&#38;#38;) may be escaped
numerically (&#38;#38;#38;) or with a general entity
(&amp;amp;).</p>" >

±×·¯¸é, ¿£Æ¼Æ¼(entity) ¼±¾ð�Ì ÇØ¼®(parse)µÇ¸é XML ó¸®�Ú(processor)´Â ±× ±Û�Ú ÂüÁ¶¸¦ �Î½Ä ÇÒ °Í�̰í, �̸¦ ÇØ°á(resolve)ÇÏ¿© ¿£Æ¼Æ¼ "example"�Ç °ª�¸·Î ¾Æ·¡ ½ºÆ®¸µ�» �ú�åÇÑ´Ù:

<p>An ampersand (&#38;) may be escaped
numerically (&#38;#38;) or with a general entity
(&amp;amp;).</p>

¹®¼­¿¡¼­ "&example;"�» ÂüÁ¶Çϸé ÅØ½ºÆ®´Â ´Ù½Ã ÇØ¼®(reparse)µÇ°í, �̶§¿¡´Â "p" ¿¤·¹¸àÆ®�Ç ½Ã�ÛÅÂ±×¿Í Á¾·áűװ¡ �Î½Ä µÉ °Í�̰í, ¼¼°³�Ç ÂüÁ¶µé�º �νĵǰí È®�å(expand)µÇ¾î, "p" ¿¤·¹¸àÆ®(element)´Â ¾Æ·¡ ³»¿ë(content)�» °¡Áú °Í�Ì´Ù(¸ðµç µ¥�ÌÅÍ´Â �Ö�¸³ª ±¸ºÐ�Ú³ª ÄÚµå´Â ¾ø´Â):

An ampersand (&) may be escaped
numerically (&#38;) or with a general entity
(&amp;).

´õ º¹�âÇÑ ¿¹Á¦´Â ÄÚµå(rule)¿Í ±× È¿°ú¸¦ ¿Ï�üÈ÷ ¼³¸í ÇÒ °Í�Ì´Ù. ¾Æ·¡ ¿¹Á¦¿¡¼­, ÁÙ ¹øÈ£´Â ¿�Á÷ Âü°í ¸¸¸¦ �§ÇÑ °Í�Ì´Ù.

1 <?xml version='1.0'?>
2 <!DOCTYPE test [
3 <!ELEMENT test (#PCDATA) >
4 <!ENTITY % xx '&#37;zz;'>
5 <!ENTITY % zz '&#60;!ENTITY tricky "error-prone" >' >
6 %xx;
7 ]>
8 <test>�Ì sample shows a &tricky; method.</test>

�Ì´Â ¾Æ·¡�Ç °á°ú¸¦ ¸¸µç´Ù:

  • 4¹ø, ±Û�Ú 37 ÂüÁ¶´Â Áï½Ã È®�åµÇ°í, ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼(entity) "xx"´Â °ª "%zz;"·Î ºÎÈ£(symbol) Å×�Ìºí¿¡ �ú�åµÈ´Ù. ±³Ã¼ ÅØ½ºÆ®°¡ ¾ø¾î ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼(entity) "zz"�Ç ÂüÁ¶´Â �νÄÇÏÁö ¸øÇÑ´Ù. ("zz"°¡ ¾ÆÁ÷ ¼±¾ðµÇÁö ¾Ê¾Ò½¿�¸·Î, �Ì´Â ¿�·ù�Ï °Í�Ì´Ù.)
  • 5¹ø, "&#60;" ±Û�Ú ÂüÁ¶´Â Áï½Ã È®�åµÇ°í, ÆÄ¶ó¸ÞÅÍ(parameter) ¿£Æ¼Æ¼(entity) "zz"´Â ±³Ã¼ ÅØ½ºÆ® "<!ENTITY tricky "error-prone" >"·Î �ú�åµÇ¸ç, �Ì´Â �ß Çü¼ºµÈ ¿£Æ¼Æ¼(entity) ¼±¾ð�Ì´Ù.
  • 6¹ø, "xx" ÂüÁ¶´Â �νĵǰí, "xx"("%zz;") ±³Ã¼ ÅØ½ºÆ®´Â ÇØ¼®(parse)µÈ´Ù. �̹ø¿¡´Â "zz" ÂüÁ¶°¡ �νĵǰí, ±× ±³Ã¼ ÅØ½ºÆ®("<!ENTITY tricky "error-prone" >")°¡ ÇØ¼®(parse)µÈ´Ù. �ϹÝ(general) ¿£Æ¼Æ¼(entity) "tricky"°¡ �ÌÁ¦ ¼±¾ðµÇ¾î, ±³Ã¼(replacement) ÅØ½ºÆ® "error-prone"¸¦ °®´Â´Ù.
  • 8¹ø, �ϹÝ(general) ¿£Æ¼Æ¼(entity) "tricky" ÂüÁ¶´Â �νĵǰí, È®�åµÇ¾î, "test" ¿¤·¹¸àÆ®(element)�Ç ¿Ï�üÇÑ ³»¿ë(content)�º ¹®¹ý�Ì ¾ø´Â ±×´ë·Î ±â¼úÇÏ´Â ½ºÆ®¸µ "This sample shows a error-prone method."°¡ µÈ´Ù.

E. ÆÇÁ¤�û ³»¿ë ¸ðµ¨ (ºñÁö¸í�û)

±Ô°ÝºÎÇÕ¼º(compatibility)�» �§ÇÏ¿©, ¿¤·¹¸àÆ® Ÿ�Ô ¼±¾ð¿¡¼­ ³»¿ë(content) ¸ðµ¨(model)µé�º ÆÇÁ¤�û�Ì µÉ Çʿ䰡 �Ö´Ù.

SGML�º ÆÇÁ¤�û ³»¿ë ¸ðµ¨("unambiguous(¸íÈ®ÇÑ)"·Î ºÒ¸®¿ò)�» ÇÊ¿ä·Î ÇÑ´Ù; SGML ½Ã½ºÅÛ�» »ç¿ëÇÏ´Â XML ó¸®�Ú(processor)µé�º ºñ ÆÇÁ¤�û ³»¿ë ¸ðµ¨�» ¿�·ùµé·Î Ç¥½Ã ÇÒ ¼ö �Ö´Ù.

¿¹¸¦ µé¾î, ³»¿ë(content) ¸ðµ¨(model) ((b, c) | (b, d))´Â ºñ ÆÇÁ¤�û�Ì´Ù. ÁÖ¾îÁø ÃÖÃÊ�Ç b·Î´Â, b �§¿¡ µû¶ó¿�´Â ¿¤·¹¸àÆ®(element)¸¦ ³»´Ù º¸Áö ¾Ê°í´Â, ÇØ¼®�Ú(parser)°¡ ¸ðµ¨(model)�Ç ¾î´� b°¡ �ÏÄ¡ °Ë»çµÇ´Â°¡ ¾Ë ¼ö ¾ø±â ¶§¹®�Ì´Ù. �Ì °æ¿ì, b�Ç µÎ ÂüÁ¶´Â ´Ü�Ï ÂüÁ¶·Î ºØ±«µÇ¾î, (b, (c | d)) ¸ðµ¨(model)�» ¸¸µé ¼ö �Ö´Ù. �ÌÁ¦ ÃÖÃÊ�Ç 'b'´Â ¸íÈ®È÷ ³»¿ë(content) ¸ðµ¨(model)�Ç ´Ü�Ï �̸§°ú ¸¸ �ÏÄ¡ °ËÁ¤�» ÇÑ´Ù. ÇØ¼®�Ú(parser)´Â ¾Õ¿¡ ¹«¾ù�Ì µû¶ó¿�´Â°¡¸¦ ¾Ë Çʿ䰡 ¾ø´Ù; 'c' ¶Ç´Â 'd'°¡ ¹Þ¾Æ Áú °Í�Ì´Ù.

¾î °ø½Ä�û�¸·Î: �¯ÇÑ ¹®�å �Úµ¿È­´Â ³»¿ë ¸ðµ¨·Î ºÎÅÍ Ç¥ÁØ ±â´É(algorithm)µé�» »ç¿ëÇÏ¿© ±¸¼º µÉ ¼ö �Ö´Ù. ¿¹¸¦ µé¸é Aho, Sethi¿Í Ullman [Aho/Ullman]�Ç Ç׸ñ 3.9 ±â´É(algorithm) 3.5. ¸¹�º �Ì¿Í °°�º ±â´É(algorithm)µé¿¡¼­, �Ï¹Ý °ø½Ä(Ç¥Çö)�¸·Î °¢ �§Ä¡¿¡ ÈÄ¼Ó ¼¼Æ®°¡ ±¸¼ºµÈ´Ù (¸»ÇÏ�Ú¸é, �Ï¹Ý °ø½Ä(Ç¥Çö) ¹®¹ý ü°è¿¡¼­ °¢°¢ ÇàÇÒ Á¶°¢); ¸¸�Ï ¾î¶² �§Ä¡¿¡, °°�º ¿¤·¹¸àÆ® Ÿ�Ô �̸§ ¾È¿¡ Çϳª �Ì»ó�Ç ÈÄ¼Ó �§Ä¡°¡ ¶óº§µÇ¾î �Ö´Â, ÈÄ¼Ó ¼¼Æ®°¡ �Ö�¸¸é, ³»¿ë ¸ðµ¨�º ¿�·ù�̸ç, ¿�·ù·Î ¾Ë¸± ¼ö �Ö´Ù.

¸¹�º °Í�» Çã¿ëÇÏ´Â ±â´É(algorithm)µé�Ì �ÖÁö¸¸, ¸ðµç ºñ ÆÇÁ¤�û ³»¿ë ¸ðµ¨�Ì °°�º ÆÇÁ¤�û ¸ðµ¨(model)¿¡¼­ ó·³ �Úµ¿ Á¤¸®ÇÏ´Â °Í�º ¾Æ´Ï´Ù; Br?gemann-Klein 1991 [Br?gemann-Klein] ÂüÁ¶.


F. ±Û�Ú ¿£ÄÚµù�Ç �Úµ¿°¨Áö (ºñÁö¸í�û)

XML ¿£ÄÚµù(encoding) ¼±¾ð�º °¢ ¿£Æ¼Æ¼(entity)¿¡, ¾î¶² ±Û�Ú ¿£ÄÚµù�Ì »çŠEµÇ°í �ִ°¡¸¦ ³ªÅ¸³»´Â, ³»ºÎ�û�¸·Î ¶óº§(label)·Î ±â´É(function)ÇÑ´Ù. ±×·¯³ª, XML ó¸®�Ú(processor)°¡ ³»ºÎ�û ¶óº§(label)�» �Ð�» ¼ö �Ö±â �ü¿¡, ¾î¶² ±Û�Ú ¿£ÄÚµù)�Ì »ç¿ëµÇ°í �ִ°¡(¾î¶² ³»ºÎ�û ¶óº§�» ÁöÁ¤ÇÏ·Á°í Çϴ°¡)¸¦ ¾Ë¾Æ¾ß ÇÑ´Ù´Â °Í�º ¸í¹éÇÏ´Ù. �ϹÝ�û�Î °æ¿ì, �̰Í�º °¡¸Á�Ì ¾ø´Â »óȲ�Ì´Ù. ±×·¯³ª, XML¿¡¼­ ¿Ï�üÈ÷ ºÒ°¡´É ÇÑ °Í�º ¾Æ´Ï´Ù. XML�º �ϹÝ�û�Î °æ¿ì¸¦ µÎ°¡Áö ¹æ½Ä�¸·Î Á¦ÇÑÇϱ⠶§¹®�Ì´Ù: °¢ �û¿ë(implementation)�º ±Û�Ú ¿£ÄÚµù(encoding)µé�Ç ÇÑÁ¤µÈ ¼¼Æ®¸¸�» Áö¿øÇÏ´Â °Í�¸·Î °£Áֵǰí, XML ¿£ÄÚµù ¼±¾ð�º, Á¤»ó�û�Î °æ¿ì °¢ ¿£Æ¼Æ¼(entity)¿¡ »ç¿ëµÇ´Â ±Û�Ú ¿£ÄÚµù�» �Úµ¿ °ËÁ¤�Ì °¡´ÉÇÏ°Ô Çϱâ �§ÇÏ¿©, �§Ä¡¿Í ³»¿ë(content)�Ì Á¦ÇѵȴÙ. ¶ÇÇÑ, ¸¹�º °æ¿ì XML µ¥�ÌÅÍ È帧 �Úü¿¡ Ãß°¡�û�¸·Î »ç¿ë ÇÒ ¼ö �Ö´Â ´Ù¸¥ Á¤º¸ �Ú¿øµé�Ì �Ö´Ù. XML ¿£Æ¼Æ¼(entity)°¡ ó¸®�Ú¿¡°Ô ´Ù¸¥ µ¿¹ÝÇÏ´Â (¿ÜºÎ�û) Á¤º¸¸¦ Á¦½ÃÇϴ°¡ ¾Ê´Â°¡¿¡ µû¶ó, µÎ°¡Áö °æ¿ì°¡ ±¸º° µÉ ¼ö �Ö´Ù. ¸Õ�ú Á¦½ÃÇÏÁö ¾Ê´Â °æ¿ì¸¦ º¸�Ú.

UTF-8 ¶Ç´Â UTF-16°¡ ¾Æ´Ñ °¢ XML ¿£Æ¼Æ¼ ¾ç½Ä�º ¹Ýµå½Ã XML ¿£ÄÚµù ¼±¾ð�¸·Î ½Ã�ÛÇÏ¿©¾ß µÇ±â ¶§¹®¿¡, ¿©±â¼­ ù ±Û�Úµé�º '<?xml'�̾î¾ß Çϸç, ±Ô°Ý¿¡ ºÎÇÕÇϴ ó¸®�Ú(processor)´Â °¨Áö ÇÒ ¼ö �Ö¸¦ °Í�̰í, µÎ°³¿¡¼­ ³×°³�Ç 8Áø ¼ýÄ¡ �Ô·Â ÈÄ¿¡´Â ´Ù�½�Ì �û¿ëµÈ´Ù. �Ì ¸ñ·Ï�» �дµ¥ UCS-4¿¡¼­ '<'´Â "#x0000003C"�̰í '?'´Â "#x0000003F"�̸ç, µ¥�ÌÅÍ È帧¿¡ ÇÊ¿äÇÑ UTF-16�Ç Byte Order Mark´Â "#xFEFF"�̶ó´Â °Í�» ¾Ë¸é µµ¿ò�Ì µÈ´Ù.

  • 00 00 00 3C: UCS-4, big-endian machine (1234 ¼ø¼­)
  • 3C 00 00 00: UCS-4, little-endian machine (4321 ¼ø¼­)
  • 00 00 3C 00: UCS-4, unusual octet order (2143)
  • 00 3C 00 00: UCS-4, unusual octet order (3412)
  • FE FF: UTF-16, big-endian
  • FF FE: UTF-16, little-endian
  • 00 3C 00 3F: UTF-16, big-endian, no Byte Order Mark (¾ö°ÝÈ÷ ¸»ÇÏ¸é ¿�·ù)
  • 3C 00 3F 00: UTF-16, little-endian, no Byte Order Mark (¾ö°ÝÈ÷ ¸»ÇÏ¸é ¿�·ù)
  • 3C 3F 78 6D: UTF-8, ISO 646, ASCII, ISO 8859�Ç �ϺΠºÎºÐ, Shift-JIS, EUC, ¶Ç´Â ´Ù¸¥ ¾î¶² 7-bit, 8-bit, ¶Ç´Â È¥ÇÕ ³Ð�Ì(mixed-width) ¿£ÄÚµù(encoding), �Ì´Â ASCII ±× ±Û�Úµé�º Á¤»ó�§Ä¡, ³Ð�Ì¿Í °ªµé�» °®´Â´Ù °Í�» È®�ÎÇÑ´Ù; �̵é Áß ¾î´�°Í�Ì �û¿ëµÈ´Ù´Â °Í�» ¾Ë±â �§ÇØ, ½ÇÁ¦ ¿£ÄÚµù ¼±¾ð�Ì �оîÁ®¾ß ÇÏÁö¸¸, �Ìµé ¿£ÄÚµùµé�º ¸ðµÎ ASCII ±Û�ڵ鿡¼­ °°�º �ÌÁø¼ö(bit) ÇüÅÂ(patterns)¸¦ »ç¿ëÇϹǷÎ, ¿£ÄÚµù(encoding) ¼±¾ð �Úü¸¦ �д °Í�Ì °¡´ÉÇÏ´Ù.
  • 4C 6F A7 94: EBCDIC (¾î¶² ¼±È£·Î; ¾î¶² ÄÚµå Æä�ÌÁö°¡ »ç¿ëµÇ´Â°¡´Â ¾Ë·Á¸é ¿Ï�üÇÑ ¿£ÄÚµù ¼±¾ð�Ì �ÐÇôÁ®¾ß ÇÑ´Ù.)
  • ±âŸ: ¿£ÄÚµù(encoding) ¼±¾ð ¾ø´Â UTF-8, ¶Ç´Â ¾Æ´Ï¸é µ¥�ÌÅÍ È帧�Ì ºØ±¥µÇ´Â, ºÎ�§�û(fragmentary), ¶Ç´Â ¾î¶² Á¾·ù�Ç Æ÷�å(wrapper) ¾È¿¡ ½×�Î

�Ì ¼öÁØ�Ç �Úµ¿°¨Áö´Â XML ¿£ÄÚµù(encoding) ¼±¾ð�» �аí, ±Û�Ú ¿£ÄÚµù �νÄ�Ú(identifier)¿¡ ÇØ¼®(parse)Çϴµ¥´Â ÃæºÐÇÏ´Ù. ¿©�üÈ÷ °¢ ¿£ÄÚµù °¡Á·�Ç °³º° ±¸¼º¿ø�» ±¸º°ÇÏ´Â °Í�Ì ÇÊ¿äÇÏ´Ù. (¿¹¸¦ µé¾î 8859·Î ºÎÅÍ UTF-8, ¼­·Î ´Ù¸¥ 8859�Ç ºÎºÐ, ¶Ç´Â »ç¿ëÇϴ ƯÁ¤ EBCDIC ÄÚµå Æä�ÌÁö(code page)¸¦ ±¸º°, µî).

¿£ÄÚµù ¼±¾ð�Ç ³»¿ëµé�Ì ASCII ±Û�Ú·Î Á¦ÇѵDZ⠶§¹®¿¡, ó¸®�Ú(processor)´Â, »ç¿ëµÇ´Â ¿£ÄÚµù(encoding) °¡Á·(family)°¡ °¨ÁöµÇ¸é, �üü ¿£ÄÚµù ¼±¾ð�» ½±°Ô �Ð�» ¼ö �Ö´Ù. ½ÇÁ¦�û�¸·Î, ¸ðµç ³Î¸® »ç¿ëµÇ´Â ±Û�Ú ¿£ÄÚµùµé�º �§�Ç Çϳª¿¡ ÇØ´çµÇ¹Ç·Î, ¿î¿µÃ¼°è³ª ¼Û½Å ÇÁ·ÎÅäÄÝ(transport-protocol) ¼öÁØ�Ç ¿ÜºÎ�û �Ú¿ø Á¤º¸¿¡¼­ Çö½Ç¼º�Ì �û�º °æ¿ìµµ, XML ¿£ÄÚµù ¼±¾ð�º »ó´çÈ÷ ÇÕ¸®�û�¸·Î, ±Û�Ú ¿£ÄÚµù(encoding)µé�Ç ¹ü�§ ¶óº§¸µ(labeling)Çϵµ·Ï, Çã¿ëÇÑ´Ù.

�Ï´Ü Ã³¸®�Ú(processor)°¡ »ç¿ëÇÏ´Â ±Û�Ú ¿£ÄÚµù�» °¨ÁöÇϸé, °¢ �Ô·Â °úÁ¤�» ´Þ¸® ºÒ·¯ ÇÒ °Í�ΰ¡, Ȥ�º °¢ �Ô·Â ±Û�Ú¿¡ �û´çÇÑ º¯È¯ ±â´É(function)�» È£Ãâ ÇÒ °Í�ΰ¡µî¿¡, �ûÁ¤ÇÏ°Ô �Û¿ë ÇÒ ¼ö �Ö´Ù.

´Ù¸¥ �Úü ¶óº§¸µ(self-labeling) ü°è¿¡¼­¿Í ¸¶Âù°¡Áö·Î, ¾î¶² ¼ÒÇÁÆ®¿þ¾î°¡ ¿£ÄÚµù(encoding) ¼±¾ð °»½Å ¾ø�Ì ¿£Æ¼Æ¼(entity)�Ç ±Û�Ú ¼¼Æ® ¶Ç´Â ¿£ÄÚµù¿¡ º¯°æ�» ÁÖ¸é, XML ¿£ÄÚµù ¼±¾ð�º �Û¿ëÇÏÁö ¾Ê�» °Í�Ì´Ù. ±Û�Ú ¿£ÄÚµù °úÁ¤ �û¿ë�Ú(Implementor)µé�º »ç¿ëµÈ ³»ºÎ�û, ¿ÜºÎ�û Á¤º¸¸¦ ¿£Æ¼Æ¼(entity)¿¡ ¶óº§(label)Çϴµ¥ Á¤È®È÷ Çϵµ·Ï ÁÖ�ÇÇÏ¿©¾ß ÇÑ´Ù.

µÎº¯Â° °¡´ÉÇÑ °æ¿ì´Â, �ϺΠȭ�Ï ½Ã½ºÅÛ°ú ³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝ¿¡¼­ ó·³, XML ¿£Æ¼Æ¼(entity)°¡ ¿£ÄÚµù Á¤º¸¿Í ÇÔ²² ¿Ã ¶§, ¹ß»ýµÈ´Ù. º¹¼ö Á¤º¸ �Ú¿ø�» »ç¿ë ÇÒ ¼ö �Ö�» ¶§, ±×µé »ç�Ì�Ç »ó´ë�û ¿ì¼±¼ø�§¿Í ¸¶Âû(¸ð¼ø)�Ç °æ¿ì ¼±È£µÇ´Â ó¸® ¹æ½Ä(method)�º XML�» �ü´ÞÇϴµ¥ »ç¿ëµÇ´Â »ó�§ ·¹º§ ÇÁ·ÎÅäÄÝ(protocol)�Ç ºÎºÐ�¸·Î ÁöÁ¤µÇ¾î¾ß ÇÑ´Ù ³»ºÎ�û ¶óº§(label)°ú ¿ÜºÎ�û Çì´õ(header)�Ç "MIME-type" ¶óº§ »ç�Ì�Ç »ó´ë�û ¿ì¼±¼ø�§ ±ÔÄ¢µé�º, ¿¹¸¦ µé¾î, "text/xml"¿Í "application/xml MIME type"�» Á¤�ÇÇÏ´Â RFC ¹®¼­�Ç ºÎºÐ�̾î¾ß ÇÑ´Ù. ±×·¯³ª, °øÅë»ç¿ë¼º(interoperability)�Ç °ßÁö¿¡¼­ ¾Æ·¡ ±ÔÄ¢µé�Ì ÃßõµÈ´Ù.

  • XML ¿£Æ¼Æ¼°¡ È­�Ï ¾È¿¡ �Ö�¸¸é, ±Û�Ú ¿£ÄÚµù(encoding)�» °áÁ¤Çϱâ �§ÇÏ¿© Byte-Order Mark¿Í ¿£ÄÚµù ¼±¾ð PI°¡ (�Ö�¸¸é) »ç¿ëµÈ´Ù; ¸ðµç ´Ù¸¥ Á¤º¸ °èÅë(heuristics) ¹× �Ú¿ø(source)µé�º ¿�·ùȸº¹ ¸¸�» �§ÇÑ °Í�Ì´Ù.
  • XML ¿£Æ¼Æ¼°¡ "text/xml"�Ç "MIME type" °ú ÇÔ²² �ü´Þ(¹è´Þ)µÇ¸é, "MIME type"�Ç charset ÆÄ¶ó¸ÞÅÍ(parameter)°¡ ±Û�Ú ¿£ÄÚµù(encoding) ¹æ½Ä(method)�» °áÁ¤ÇÑ´Ù; ¸ðµç ´Ù¸¥ Á¤º¸ °èÅë ¹× �Ú¿øµé�º ¿�·ùȸº¹ ¸¸�» �§ÇÑ °Í�Ì´Ù.
  • XML ¿£Æ¼Æ¼(entity)°¡ "application/xml"�Ç "MIME type" °ú ÇÔ²² �ü´Þ(¹è´Þ)µÇ¸é ±Û�Ú ¿£ÄÚµù(encoding)�» °áÁ¤Çϱâ �§ÇÏ¿© Byte-Order Mark ¿Í ¿£ÄÚµù ¼±¾ð PI°¡ (�Ö�¸¸é) »ç¿ëµÈ´Ù; ¸ðµç ´Ù¸¥ Á¤º¸ °èÅë(heuristics) ¹× �Ú¿ø(source)µé�º ¿�·ùȸº¹ ¸¸�» �§ÇÑ °Í�Ì´Ù.

�Ì ±ÔÄ¢µé�º ÇÁ·ÎÅäÄÝ ¼öÁØ(protocol-level) ¹®¼­°¡ ¾ø�» ¶§¿¡ ¸¸ �û¿ëµÈ´Ù; ±¸Ã¼�û�¸·Î, "MIME types text/xml"¿Í "application/xml"�Ì Á¤�Ç µÇ¾ú�¸¸é, ÇØ´ç RFC Ãßõ¾Èµé�º �Ì ±ÔÄ¢µé�» �û¿ëÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù.


G. W3C XML �Û¾÷±¸·ì(Working Group) (ºñÁö¸í�û)

�̱԰Ý�º W3C XML �Û¾÷±¸·ì(WG: Working Group)¿¡ �ÇÇÏ¿© ¹ßÇà�» �§ÇÏ¿© ÁغñµÇ°í ½Â�εǾú´Ù. �̱԰Ý�Ç WG ½Â�Î�º ¸ðµç WG ±¸¼º¿ø�Ì '½Â�Î'¿¡ ÅõÇ¥ÇÏ¿´½¿�» �ǹÌÇÏ´Â °Í�º ¾Æ´Ï´Ù. Çö�ç¿Í °ú°Å�Ç XML WG ±¸¼º¿øµé�º:

Jon Bosak, Sun (Chair); James Clark (Technical Lead); Tim Bray, Textuality and Netscape (XML Co-editor); Jean Paoli, Microsoft (XML Co-editor); C. M. Sperberg-McQueen, U. of Ill. (XML Co-editor); Dan Connolly, W3C (W3C Liaison); Paula Angerstein, Texcel; Steve DeRose, INSO; Dave Hollander, HP; Eliot Kimber, ISOGEN; Eve Maler, ArborText; Tom Magliery, NCSA; Murray Maloney, Muzmo and Grif; Makoto Murata, Fuji Xerox Information Systems; Joel Nava, Adobe; Conleth O'Connell, Vignette; Peter Sharpe, SoftQuad; John Tigue, DataChannel

¿µ¹® �ú�۱ǩ ¿µ¹® W3C (¿µ¹® MIT, ¿µ¹® INRIA, ¿µ¹® Keio ), ¸ðµç ±Ç¸® º¸�¯. W3C ¿µ¹® Ã¥�Ó, ¿µ¹® »óÇ¥±Ç, ¿µ¹® ¹®¼­ »ç¿ë°ú ¿µ¹® ¼ÒÇÁÆ®¿þ¾î ¸éÇã ±ÔÄ¢µé �û¿ë.


W3C�Ç ¹®¼­ »ç¿ë�» �§ÇÑ ¹ý¸¦�û ¹®Á¦´Â ¿ø¹®�» ÂüÁ¶Ç϶ó.
¹ø¿ª�Ú´Â �Ì ¹ø¿ª¹®¿¡ ´ëÇÑ Á÷, °£Á¢�û�Î �Ïü�Ç Ã¥�Ó�» ÁöÁö ¾Ê´Â´Ù.

´Ù¸¥ ±Ô°Ý ¹ø¿ª¹®µé
[HTML 4] [CSS 2] [CSS 1] [XHTML 1.0]
¹ø¿ª¹® Á¦°ø�Ú : Æ®¸®¿� �¥ ÇÁ·£µå Trio ȨÆäÀÌÁö
�̹®¼­(http://trio.co.kr/webrefer/xml/xml10.html)´Â �Ú�¯·Î�Ì ¿¬°á »ç¿ë�Ì °¡´ÉÇÔ.