XML

XML ¹®¼­ ±¸Á¶

 

1. XML Document »ý¼º

xml µµ±Ô¸àÆ®´Â xml½ºÆåÀ» µû¸£´Â Á¤º¸¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â ÅؽºÆ® µµÅ¥¸àÆ®À̹ǷΠÀÏ¹Ý ¿¡µðÅͷεµ ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. xml ¼±¾ðºÎ´Â xml µµÅ¥¸àÆ®¸¦ ó¸®ÇÏ´Â ¾ÖÇø®ÄÉÀ̼ǿ¡°Ô µµÅ¥¸àÆ®¿¡ ´ëÇÑ Á¤º¸¸¦ Á¦°øÇÑ´Ù.

xml µµÅ¥¸àÆ®ÀÇ Ã¹ ¹ø° ¶óÀο¡´Â xml¹®¼­ ÀÓÀ» ³ªÅ¸³»´Â xmlÀ» ¼±¾ðÇØ¾ß ÇÑ´Ù. xml¹®¼­¿¡¼­ xml ¼±¾ðÀº ¾ø¾îµµ µÇÁö¸¸ xmlÀ» ¼±¾ðÇÏ´Â °ÍÀº w3cÀÇ ±ÇÀå »çÇ×ÀÌ´Ù.

xmlÀ» ¼±¾ðÇÒ ¶§ ÁÖÀÇ»çÇ×Àº

ù ¹ø° xml¼±¾ðÀü¿¡ ¾î¶°ÇÑ ³»¿ëÀÌµç ±â¼úÇÏ¸é ¿À·ù°¡ ¹ß»ýÇÑ´Ù. ºñ·Ï ÁÖ¼®¹®ÀÌ¶óµµ ¿À·ù¸¦ ¹ß»ý½ÃŲ´Ù.
µÎ ¹ø° "<?xml" ·Î ½ÃÀÛÇÏ°Ô µÇ°í ÀÌµé »çÀÌ¿¡ ºó °ø¹éÀÌ À־´Â ¾ÈµÈ´Ù.

[¹®¹ý±¸Á¶]

<?xml version="1.0" encoding="euc-kr" standalone="no"?>

1) version

¹öÀü ¹øÈ£´Â xml±Ç°í¾ÈÀÇ ¹öÀü ¹øÈ£¸¦ ±â¼úÇÏ´Â ºÎºÐÀÌ´Ù. ¹Ýµå½Ã ±â¼úÇØ¾ß ÇÒ ºÎºÐÀ̱⵵ ÇÏ´Ù.

 

2) encoding

¿£ÄÚµù ºÎºÐÀº »ý·«µÉ ¼ö ÀÖÀ¸¸ç ¾²¿©Áø ¹®¼­¸¦ ¾î¶² ÀÎÄÚµù ¹æ½ÄÀ¸·Î ÀúÀåÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù.

3) standalone

ÀÛ¼ºµÈ ¹®¼­¸¦ xml Æļ­°¡ Çؼ®ÇÒ ¶§ ¿ÜºÎ DTD¹®¼­¸¦ Âü°íÇØ¾ß µÈ´Ù´Â °ÍÀ» xml Æļ­¿¡°Ô ¾Ë·ÁÁÖ´Â ¸ñÀûÀ¸·Î »ç¿ëµÈ´Ù. »ý·«µÇ¸é ±âº»ÀûÀ¸·Î "no"ÀÇ °ªÀ» °®´Â´Ù.

¸¸¾à

standalone="yes" ¶ó¸é xmlÆļ­°¡ ÇöÀç ¹®¼­¸¦ Çؼ®ÇÒ ¶§ ¿ÜºÎ DTD¹®¼­°¡ ÇÊ¿ä¾ø´Ù´Â ¸»ÀÌ°í

standalone="no" ÀÌ¸é ¿ÜºÎÀÇ DTD¹®¼­¸¦ »ç¿ëÇÏ¿© ÇöÀç ¹®¼­¸¦ Çؼ®ÇØ ´Þ¶ó´Â ¸»ÀÌ´Ù.

2. Element ÀÛ¼º¹ý

1) ¿¤¸®¸ÕÆ® ÀÛ¼º¹ý

  • ¸ðµç xml ¹®¼­´Â ´Ü ÇϳªÀÇ ·çÆ® ¿¤¸®¸ÕÆ®(root element)¸¦ °®´Â´Ù.
  • ·çÆ® ¿¤¸®¸ÕÆ®´Â ÀÚ½Ä ¿¤¸®¸ÕÆ®¸¦ °®À» ¼ö ÀÖ°í, ÀÚ½Ä ¿¤¸®¸ÕÆ®´Â ´Ù½Ã ÀÚ½Ä ¿¤¸®¸ÕÆ®¸¦ °®À» ¼ö ÀÖ´Ù.
  • ¿¤¸®¸ÕÆ®´Â ºÎ°¡ÀûÀÎ ¼Ó¼ºÀ» °®À» ¼ö ÀÖ´Ù.
  • ¸ðµç ¿¤¸®¸ÕÆ®´Â html°ú ´Ù¸£°Ô ¹Ýµå½Ã ½ÃÀÛÅÂ±×¿Í ³¡Å±׷Π±¸¼ºµÈ´Ù.
  • ű׻çÀÌ¿¡´Â ½ÇÁúÀûÀÎ ³»¿ëÀ» ±â¼úÇÏ¸ç ³»¿ëÀÌ ¾ø´Â ¿¤¸®¸ÕÆ®µµ Á¸ÀçÇÑ´Ù.

2) ¿¡¸®¸ÕÆ® ÀÛ¼º¿¹

  1. <?xml version="1.0" encoding="euc-kr" standalone="yes"?>
  2. <°¡Á·>
  3.      <¾Æ¹öÁö> À̵µ·É </¾Æ¹öÁö>
  4.      <¾î¸Ó´Ï> ÃáÇâÀÌ </¾î¸Ó´Ï>
  5.      <ÀÚ½Ä>    ¸ù½ÇÀÌ </ÀÚ½Ä>
  6. </°¡Á·>

À§ÀÇ ¼Ò½º¸¦ ÀÔ·ÂÇÑÈÄ ÀͽºÇ÷η¯·Î ¿­¸é ¾Æ·¡¿Í °°ÀÌ ºê¶ó¿ìÀú¿¡ ³ªÅ¸³ª°Ô µÈ´Ù. ±×·Á¸é ¼º°ø ^^!

[»çÁ·]
- ·çÆ® ¿¤¸®¸ÕÆ® ¾Õ¿¡ "-"¸¦ Ŭ¸¯Çϸé ÀÚ½Ä ¿¤¸®¸ÕÆ®µéÀÌ ¼û°ÜÁø´Ù.

3. ElementÀÇ Á¾·ù

1) ³»¿ëÀÌ ÀÖ´Â ¿¤¸®¸ÕÆ®

À§¿¡¼­ °°ÀÌ <¾Æ¹öÁö></¾Æ¹öÁö>´Â ¿¤¸®¸ÕÆ®ÀÌ°í ÀÌ ¿¤¸®¸ÕÆ®´Â "À̵µ·É" À̶ó´Â ³»¿ëÀ» °®°í ÀÖ´Ù.

2) ³»¿ëÀÌ ¾ø´Â ¿¤¸®¸ÕÆ®

¸¸¾à <¾Æ¹öÁö>ÀÇ ¿¤¸®¸ÕÆ®¿¡ ³»¿ëÀ» ±â¼úÇÏÁö ¾ÊÀ» °Å¸é <¾Æ¹öÁö/>¶ó°í ±â¼úÇÏ¸é µÈ´Ù. Áï ½ÃÀÛ ÅÂ±×¿Í ³¡Å±׸¦ Çѹø¿¡ ±â¼úÇÏ¸é µÇ´Â °ÍÀÌ´Ù. ¹°·Ð <¾Æ¹öÁö></¾Æ¹öÁö>¶ó°í ±â¼úÇصµ µ¿ÀÏÇÏ´Ù.

3) À§ÀÇ ¼Ò½º¸¦ »ì¦ ¹Ù²Ù¾î¼­ <¾Æ¹öÁö>¿¤¸®¸ÕÆ®¿¡ ³»¿ëÀ» ¾ø¾Ö°í ºê¶ó¿ìÀú·Î »ìÆ캸ÀÚ.

  1. <?xml version="1.0" encoding="euc-kr" standalone="yes"?>
  2. <°¡Á·>
  3.      <¾Æ¹öÁö></¾Æ¹öÁö>
  4.      <¾î¸Ó´Ï> ÃáÇâÀÌ </¾î¸Ó´Ï>
  5.      <ÀÚ½Ä>    ¸ù½ÇÀÌ </ÀÚ½Ä>
  6. </°¡Á·>

³»¿ëÀ» Áö¿ü´ø <¾Æ¹öÁö>¿¤¸®¸ÕÆ®°¡ <¾Æ¹öÁö/>·Î ¹Ù²î¾î¼­ º¸¿©ÁüÀ» ¾Ë ¼ö ÀÖ´Ù.

4. ¿¤¸®¸ÕÆ®ÀÇ ³»¿ë

¿¤¸®¸ÕÆ®ÀÇ ³»¿ëÀ¸·Î ¾Æ·¡¿Í °°Àº Ç׸ñµéÀÌ ¿Ã ¼ö ÀÖ´Ù.

  • ¹®ÀÚ µ¥ÀÌÅÍ
  • ÀÚ½Ä ¿¤¸®¸ÕÆ®
  • ¿£Æ¼Æ¼ ¶Ç´Â ¹®ÀÚ ÂüÁ¶
  • CDATA ¼½¼Ç
  • ÇÁ·Î¼¼½Ì Áö½ÃÀÚ
  • ÁÖ¼®
  • °ø¹é ¹®ÀÚ¿­

1) ¹®ÀÚ µ¥ÀÌÅÍ

ÀϹÝÀûÀÎ ¹®ÀÚ¿­À» °®´Â µ¥ÀÌÅ͸¦ ¸»ÇÑ´Ù. ¹®ÀÚ¿­À» ±¸¼ºÇÒ ¶§ ¸î°¡Áö ±ÔÄ¢ÀÌ Á¸ÀçÇϴµ¥ '&' ³ª '<'ÀÇ ±âÈ£¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù. ÀÌ´Â xml¿¡¼­ Ưº°ÇÑ Àǹ̸¦ °®´Â Å°¿öµå À̱⠶§¹®ÀÌ´Ù. ¸¸¾à ÀÌ ¹®ÀÚ¸¦ Ç¥½ÃÇÏ°í ½Í¾î Á×À» Áö°æ¿¡ À̸£¸é °¢°¢ &amp;¿Í &lt;ÀÇ ¹®ÀÚ·Î ´ë½ÅÇÑ´Ù.

&amp; ³ª &lt; ÀÇ ¹®ÀÚ¸¦ ºôÆ®ÀÎ(Built-in) ¿£Æ¼Æ¼¶ó Çϴµ¥ &gt; (>), &qout; ("), &apos;(') °¡ ´õ ÀÖ´Ù.

  1. <?xml version="1.0" encoding="euc-kr" standalone="yes"?>
  2.  
  3. <°¡Á·>
  4.     <¾Æ¹öÁö>&apos;À̸ù·æ&apos;</¾Æ¹öÁö>
  5.     <¾î¸Ó´Ï> ÃáÇâÀÌ </¾î¸Ó´Ï>
  6.     <ÀÚ½Ä>    ¸ù½ÇÀÌ </ÀÚ½Ä>
  7. </°¡Á·

2) ÀÚ½Ä ¿¤¸®¸ÕÆ®

À§ÀÇ ¿¹Á¦¿¡¼­ º¸¸é <°¡Á·>Àº ºÎ¸ð ¿¤¸®¸ÕÆ®°¡ µÇ°í <¾Æ¹öÁö>,<¾î¸Ó´Ï>,<ÀÚ½Ä> Àº <°¡Á·>ÀÇ ÀÚ½Ä ¿¤¸®¸ÕÆ®°¡ µÈ´Ù.

3) ¿£Æ¼Æ¼

ÇÁ·Î±×·¥ ¾ð¾î¿¡¼­ ¸¶Ä¡ º¯¼ö¿Í °°Àº ¿ªÇÒÀ» ÇÏ´Â ¿ä¼Ò¸¦ ¸»ÇÑ´Ù. À§ÀÇ ¿¹¸¦ »ì¦ º¯ÇüÇÏ¿© ¿£Æ¼Æ¼¸¦ ±¸ÇöÇØ º¸µµ·Ï ÇÏÀÚ.

  1. <?xml version="1.0" encoding="euc-kr" standalone="yes"?>
  2. <!-- ¿£Æ¼Æ¼ ¿¹ -->
  3. <!-- ³»ºÎ DTD ¼±¾ð -->
  4. <!DOCTYPE °¡Á· [
  5.     <!ENTITY name "¸ù½ÇÀÌ">
  6. ]>
  7.  
  8. <°¡Á·>
  9.     <¾Æ¹öÁö>&apos;À̵µ·É&apos;</¾Æ¹öÁö>
  10.     <¾î¸Ó´Ï> ÃáÇâÀÌ </¾î¸Ó´Ï>
  11.     <ÀÚ½Ä>   &name; </ÀÚ½Ä>
  12. </°¡Á·>

ÇöÀç ¼³¸íµÇ¾îÁöÁö ¾ÊÀº ³»¿ëÀÌ 4~6Çà±îÁö ³ª¿À±ä ÇÏÁö¸¸ ±×³É ±×·¸´Ù°í ³Ñ¾î°¡ÀÚ. ³»ºÎ DTD¸¦ ¼±¾ðÇÑ °ÍÀÌ´Ù. ±×·¯³ª ¼³¸íÇÏ°íÀÚ ÇÏ´Â ÇàÀº 5ÇàÀ¸·Î, ¿£Æ¼Æ¼¸¦ ¼±¾ðÇÏ°í Àִµ¥, ¹Ù·Î nameÀÌ "¸ù½ÇÀÌ" ¶ó´Â ¹®ÀÚ¿­À» ÀúÀåÇÏ°í ÀÖ´Â º¯¼ö¿Í °°Àº ¿ªÇÒÀ» ÇÑ´Ù. ÀúÀåµÈ °ªÀ» 11Çà¿¡¼­ °¡Á®´Ù ¾²°í ÀÖ´Ù. Ãâ·Â °á°ú´Â À§¿Í ´Ù¸£Áö ¾Ê´Ù.

4) ¹®ÀÚ ÂüÁ¶

¹®ÀÚ ÁýÇÕ ÄÚµåÇ¥»óÀÇ Äڵ尪À» Á÷Á¢ »ç¿ëÇÏ¿© ¹®ÀÚ¸¦ ³ªÅ¸³»´Â °ÍÀÌ´Ù. ¹®ÀÚ ÂüÁ¶¸¦ ³ªÅ¸³»·Á¸é

&#x(16Áø¼ö Äڵ尪); ¶Ç´Â &#(10Áø¼ö Äڵ尪)

À¸·Î ¹®ÀÚ¸¦ ³ªÅ¸³½´Ù. ¿¹¸¦ µéÀÚ¸é, °ø¹éÀ» ³ªÅ¸³»´Â ¹®ÀÚ ÄÚµå °ªÀ» 16Áø¼ö·Î ³ªÅ¸³»¸é &#x20 ÀÌ°í, 10Áø¼ö·Î ³ªÅ¸³»¸é &#32; ÀÌ´Ù.

5) CDATA »ö¼Ç

<![CDATA[ ... ]]>

CDATA¿Í À¯»çÇÑ ¹®ÀÚ µ¥ÀÌÅÍÁß¿¡ PCDATA(parsed Character DATA)´Â xmlÆļ­°¡ Çؼ®ÇÏ´Â ¹®ÀÚ¿­À» ¸»ÇÏ°í CDATA ¼½¼Ç³»¿¡ Á¤ÀÇµÈ ¹®ÀÚ µ¥ÀÌÅÍ´Â xml Æļ­°¡ Çؼ®ÇÏÁö ¾Ê°í ¹Ù·Î À¸¿ëÇÁ·Î±×·¥À¸·Î Àü´ÞÇÑ´Ù.

ÀÌ CDATA ¼½¼ÇÀº XML ¿ä¼Ò¿¡ html °ú °°Àº ºñ Ç¥ÁØ ÅؽºÆ®¸¦ Æ÷ÇÔÇÏ°Ô Çϰųª ´ë·®ÀÇ ÅؽºÆ® Á¤º¸¸¦ Æ÷ÇÔÇÏ°Ô Çϱâ À§ÇØ »ç¿ëµÇ´Â ¹æ¹ýÀÌ´Ù.

CDATA ¼½¼ÇÀº ´ÙÀ½°ú °°Àº Ư¡À» °®´Â´Ù.

  • Ư¼ö ¹®ÀÚ¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â ´ë·®ÀÇ ÅؽºÆ®¿¡¼­ Ư¼ö ¹®ÀÚ¸¦ Built-In¹®ÀÚ·Î ´ëÄ¡ÇÏÁö ¾Ê¾Æµµ µÈ´Ù.
  • ´ë·®ÀÇ ÅؽºÆ® Á¤º¸¸¦ ½±°Ô Ç¥ÇöÇÒ ¼ö ÀÖ´Ù.
  • °¢Á¾ ¾ð¾îÀÇ ¹®¹ý ±¸Á¶¸¦ ±×´ë·Î Ç¥Çö ÇÒ ¼ö ÀÖ´Ù.
  • XML Æļ­¿¡ ÀÇÇØ ÄÚµåÀÇ À¯Çô¼ºÀ̳ª ´Ù¸¥ xmlÀÇ Æ¯¼ºÀ» È®ÀÎÇÏÁö ¾Ê´Â´Ù.
  1. <?xml version="1.0" encoding="euc-kr" standalone="yes"?>
  2.  
  3. <todo>
  4.     <father>À̸ù·æ</father>
  5.     <mother>¼ºÃáÇâ</mother>
  6.     <etc><![CDATA[
  7.         ÀÌ°÷¿£ ¾î¶² ±ÛÀÚ³ª ¹®ÀÚ°¡ ¿Íµµ »ó°ü¾ø½À´Ï´Ù.
  8.         " <> " &^%*(!
  9.         ±×·¸ÁÒ ???
  10.     ]]>
  11.     </etc>
  12.  
  13. </todo>

[½ÇÇà°á°ú]

 

6) ÇÁ·Î¼¼½Ì Áö½ÃÀÚ(Processing Instruction)

º¸ÅäÀÇ °æ¿ì¿¡´Â ¿¤¸®¸ÕÆ®ÀÇ ³»¿ë ºÎºÐ¿¡ ÇÁ·Î¼¼½Ì Áö½ÃÀÚ°¡ ¿ÀÁö ¾Ê´Â´Ù. ÇÁ·Î¼¼½Ì Áö½ÃÀÚ´Â ¹®¼­ ¼­µÎ¿¡ ±â¼úµÇ¾î ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ xml ¹®¼­¸¦ ó¸®Çϱâ À§ÇÑ Á¤º¸¸¦ Àü´ÞÇÒ ¸ñÀûÀ¸·Î »ç¿ëµÈ´Ù.

7) °ø¹é ¹®ÀÚ¿­

Çϳª ÀÌ»óÀÇ °ø¹é ¹®ÀÚµé·Î ±¸¼ºµÈ ¹®ÀÚ¿­À» ¸»ÇÑ´Ù. xml 1.0±Ç°í ¾È¿¡¼­ ½ºÆäÀ̽º(#x20), ÅÇ(#x9), ij¸®Áö ¸®ÅÏ(#xd), ¶óÀÎÇǵå(#xa)¸¸À» °ø¹é ¹®ÀÚ·Î ºÐ·ùÇÏ°í ÀÖ´Ù.