Site Search :
Standard Enterprise XML Methodology Pattern Setting Tunning Other
Article Contributors
GuestBook
Javapattern Maven
XSourceGen Dev
JetSpeed Test
JLook Image
jLook Family Site


XMLÀÇ ±âº»°³¿ä
 
XML¿¡ ´ëÇÑ °£·«ÇÑ °³¿ä¿Í Ư¡, well-formed, validÇÑ ¹®¼­ÀÇ Á¤ÀÇ¿Í namespace¿¡ ´ëÇÑ °£·«ÇÑ ¼³¸íÀ» Çϵµ·Ï ÇÑ´Ù. ( 2003/03/11 ) 334
Written by ienvyou - ÃÖÁö¿õ
1 of 1
 

ÀÚ. ¿©·¯ºÐµéÀº XMLÀ̶õ ¿ë¾î¿¡ ´ëÇÏ¿© ¸¹ÀÌ µé¾îºÃÀ» °ÍÀÌ´Ù. ÀÌ ±ÛÀ» Àд ºÐÀÌ XML¿¡ ´ëÇÏ¿©
Àß ÇÒ¼öµµ ÀÖ°í Á¢Çغ¸Áö ¸øÇÒ ¼ö ÀÖ´Ù. Á¢Çغ» ºÐÀ̶ó¸é À̹ø±ÛÀº ¼Ò°³¿¡ ´ëÇÑ ¼º°ÝÀÌ °­Çϱâ
¶§¹®¿¡ ±×³É ´Ù¸¥ XML¾ÆƼŬ·Î ³Ñ¾î°¡µµ ¹«¹æÇϸ®¶ó º»´Ù.

¿©±â¼­ »ìÆ캼 ³»¿ëÀº XMLÀÌ ¹«¾ùÀ̸ç, ¹«¾ùÀÌ well-formedÀ̸ç validÇÑ ¹®¼­ÀÎÁö¿¡ ´ëÇÏ¿©
³îÇÒ °ÍÀÌ´Ù. ¶ÇÇÑ namespace¶ó´Â °Í¿¡ ´ëÇÑ À̾߱⸦ °£·«ÇÏ°Ô Çغ¸µµ·Ï ÇÒ °ÍÀÌ´Ù.

¢º XMLÀ̶õ?

XMLÀº eXtensible Markup LanguageÀÇ ¾àÀÚ·Î ±âÁ¸ HTMLÀÌ °¡Áö°í Àִ ű×(tag)ÀÇ ÇÑ°è¿Í SGMLÀÇ 
º¹À⼺À» º¸¿ÏÇϱâ À§ÇØ ¸¸µé¾îÁø °ÍÀ¸·Î, À¥¿¡¼­ÀÇ µ¥ÀÌÅÍ ¹× ±¸Á¶È­µÈ ¹®¼­µéÀ» À§ÇÑ º¸ÆíÀûÀÎ 
Ç¥ÁØÀ̸ç, W3C¿¡ 1996³â¿¡ Á¦¾ÈµÇ¾î 1998³â 2¿ù¿¡ W3CÇ¥ÁØÀÌ µÇ¾ú´Ù. À̸§¿¡¼­ º¸¿©Áöµí XMLÀº 
°íÁ¤µÈ ű׸¦ °¡Áö°í ÀÖ´ø HTML°ú ´Þ¸® ¹®¼­ÀÇ ³»¿ë¿¡ °ü·ÃµÈ ű׸¦ »ç¿ëÀÚ°¡ Á¤ÀÇÇÏ¿© È®ÀåÇÒ 
¼ö ÀÖµµ·Ï ÇÏ¿© ³»¿ëÁ¤º¸ÀÇ Á߿伺À» °­Á¶ÇÑ´Ù. ¶ÇÇÑ XSLÀ» »ç¿ëÇÏ¿© ¹®¼­ÀÇ ¿Ü¾çÀ» Ç¥ÇöÇϱ⠶§¹®¿¡, 
³»ºÎ ±¸Á¶¿Í Ç¥ÇöÀÇ ºÐ¸®¸¦ ÅëÇÑ ´Ù¾çÇÑ È°¿ë °¡´É¼ºÀ» Á¦°øÇÔÀ¸·Î½á ÀÎÅͳݿ¡¼­ Àü´ÞµÇ¾î¾ß ÇÒ 
¸¹Àº Á¤º¸µéÀ» ±â¼úÇÏ´Â µ¥ ÀÖ¾î »ç¿ëÀÚ¿Í °³¹ßÀÚ ¸ðµÎ¿¡°Ô Æí¸®ÇÔÀ» Á¦°øÇÑ´Ù. 

eXtensible ? SGMLÀ̳ª HTMLó·³ ÀÌ¹Ì Á¤ÇØÁø ű׿¡ ´ëÇÑ Á¦¾àÀ» ¹ÞÁö ¾Ê´Â´Ù.
ÀڽŸ¸ÀÇ ¾ÖÇø®ÄÉÀ̼ǿ¡ ¸Â°Ô²û ±¸¼ºÇÒ ¼ö ÀÖ´Ù.

¢º XMLÀÇ Æ¯Â¡

´Ü¼ø¼º:XMLÀº ´Ù¸¥ ÄÚµå¼ÂÀÌ ¾Æ´Ñ ÀÏ¹Ý text·Î µÇ¾î ÀÖ¾î ½±°Ô Æǵ¶ÀÌ °¡´ÉÇϸç, H/W or S/W¿¡ 
ÀÇÁ¸ÇÏÁö ¾ÊÀ¸¹Ç·Î simpleÇØÁú¼ö Àִ Ư¡À» °¡Áö°í ÀÖ´Ù.

Ç¥Áؼº:W3C°¡ ÁÖµµÇϹǷΠ½ºÆåÀÇ Ç¥ÁØÈ­¸¦ ÀÌ·ê ¼ö ÀÖ´Ù.

È®À强:»ç¿ëÀÚ ÀÓÀÇ´ë·ÎÀÇ ¹«ÇÑÇÑ Å±×È®ÀåÀÌ ÀÌ·ç¾îÁú ¼ö ÀÖÀ¸¸ç, »óȲ¿¡ µû¶ó ÀûÀýÇÑ 
ű×ÀÇ ºÎ¿©°¡ °¡´ÉÇÏ´Ù.

½ºÅ¸ÀϽÃÆ®:¹®¼­ÀÇ ³í¸®±¸Á¶¸¦ ±â¼úÇϱâ À§ÇÑ ¾ð¾î·Î XSL°ú °°Àº Ç¥ÁØ ½ºÅ¸ÀÏ ½ÃÆ®¾ð¾î°¡ Á¸ÀçÇÑ´Ù.

Character Set: UTF-8 or UTF-16 Äڵ尡 °¡´ÉÇѵ¥, ¸ðµç XMLÇÁ·Î¼¼¼­´Â 16bit Unicode¸¦ Áö¿øÇϵµ·Ï 
ÇϹǷΠÇѱ۰ú °°Àº 2byte¹®ÀÚ±ÇÀÇ µ¥ÀÌÅ͵µ 󸮰¡ °¡´ÉÇÏ´Ù.

¢º Well-formed Document±¸Á¶

¾Æ·¡¿Í °°Àº »çÇ×À» °¡Áø´Ù¸é Well-Formed¹®¼­¶ó ºÎ¸¥´Ù

    - Prolog : <?xml version="1.0"?>
    - Root Element : XML Document½ÃÀÛÁ¡
    - Miscellaneous : Element, Entity, Comment, PI, DTD declaration, CDATA Section µîµî


Prolog:XMLÀÇ ¼±¾ðºÎ¿Í °°Àº ÇüÅÂÀÌ´Ù. À§¿¡¼­´Â ¾î¶°ÇÑ ÀÎÄÚµù¹æ½Äµµ ÃëÇÏ°í ÀÖÁö ¾Ê´Ù.
À§Ã³·³ ¾Æ¹«·± ¹æ½Äµµ ÃëÇÏÁö ¾Ê¾Ò´Ù¸é ¹®¼­´Â ¿ÀÁ÷ UTF-8À̳ª UTF-16¸¸À» ÃëÇØ¾ß ÇÑ´Ù.

Root Element : XML DocumentÀÇ ½ÃÀÛÁ¡À̸ç, ¿À·ÎÁö ¹®¼­³»¿¡ Çϳª¸¸ Á¸ÀçÇÑ´Ù.

Miscellaneous : ·çÆ® ¿ø¼Ò µÚ¿¡ ³ªÅ¸³¯ ¼ö ÀÖ´Â ´Ù¸¥ ¿ä¼ÒµéÀ̸ç À§ÀÇ ¿¹ ÀÌ¿Ü¿¡µµ
whitespace characterµîÀÌ ¿Ã ¼ö ÀÖ´Ù.

À§¿¡¼­ ¸»ÇÑ ¼¼°¡ÁöÀÇ ±¸¼º¿ä¼Ò´Â XML Specification v1.0¿¡ Ç¥±âµÇ¾î ÀÖ´Â ³»¿ëÀÌ´Ù. 
ÀÌµé ¸ðµÎ´Â EBNF¸¦ »ç¿ëÇϸç, À̵鿡 ´ëÇÑ ³»¿ëÀº 
       http://www.w3c.org/TR/2000/REC-xml-20001006 
¿¡¼­ ãÀ» ¼ö ÀÖ´Ù.

¢º Valid XML Document conditions

    - Valid XML Description
    - DTD¸¦ µû¸£´Â Well-formed XML ¹®¼­
    - Valid XML Requirement
    - DTD¸¦ °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù.
    - DTD¿¡¼­ Á¤ÀÇÇÑ ¹®¹ýÀ» µû¶ó¾ß ÇÑ´Ù

Well-Formed documentÀ̱â À§Çؼ­ ¿ä±¸µÇ¾îÁö´Â Á¦¾àÁ¶°ÇµéÀº ÃæºÐÈ÷ ÀǹÌÀÖ°í À¯¿ëÇÑ´Ù. 
ÇÏÁö¸¸ well-formed document³»¿¡ µé¾îÀÖ´Â µ¥ÀÌÅ͵éÀ» Á¤È®ÇÏ°Ô Ã³¸®ÇÒ ¼ö ÀÖ´Ù´Â º¸ÀåÀº 
¾ø´Â °ÍÀÌ´Ù. À̵¥ µû¶ó XML ½ºÆå»ó¿¡ Á¤ÀǵǾî ÀÖ´Â Á¶°Ç(validity constraints)¸¦ ÀÌ¿ëÇÏ°Ô µÇ´Â 
ÀÌ ÀûÇÕ¼º°Ë»ç¿¡ DTD¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

¢º NamespaceÀÇ Çʿ伺

ÇÁ·Î±×·¥À» ¸¹ÀÌ Â¥º¸¾Ò´Ù¸é ÇÁ·Î±×·¥»ó¿¡¼­ °°Àº º¯¼öÀ̸§À» »ç¿ëÇÏ¿© ÄÄÆÄÀÏ ¿¡·¯¸¦ ¸¸³µ´ø
°æÇèÀ» ´©±¸³ª Çѹø¾¿ °¡Áö°í ÀÖÀ» °ÍÀÌ´Ù. °¡·É i, number, countµîµîÀÇ º¯¼öÀ̸§À̶ó¸é ±×·¯ÇÒ 
°ÍÀÌ´Ù.
±×·¯ÇÑ °æ¿ì°¡ XML document¿¡¼­µµ ³ªÅ¸³¯ ¼ö Àִµ¥ ÀÌ´Â XMLÀÌ °¡Áø È®À强ÀÇ Æ¯Â¡ ¶§¹®ÀÌ´Ù. 
ÀÛ¼ºÀÚ ³ª¸§´ë·ÎÀÇ Å±׸¦ Á¤ÀÇÇÏ´Ùº¸¸é ÇÁ·Î±×·¥»óÀÇ ¿À·ù¸¦ ÃæºÐÈ÷ ¸¸³¯ ¼ö ÀÖ´Â °ÍÀÌ´Ù.
ÇØ°á¹æ¾ÈÀº ÀÏ¹Ý ÀÚ¹ÙÇÁ·Î±×·¥À» »ý°¢Çغ¸¸é µÉ °ÍÀÌ´Ù. °°Àº count¶ó´Â º¯¼ö¶óµµ ¼­·Î ´Ù¸¥ 
Ŭ·¡½ºÀÇ attribute·Î ¼ÓÇØ ÀÖ´Ù¸é ±×°ÍÀ» °°Àº À̸§À¸·Î º¼ °ÍÀΰ¡ ÇÏ´Â °ÍÀÌ´Ù. 
±×°ÍÀº ºÐ¸íÈ÷ ´Ù¸£´Ù. ÀÚ¹Ù¿¡¼­ attribute scope¸¦ ÀÌ¿ëÇÏ¿© ÇØ°áÇÏ´Â °Íó·³ XMLµµ °°Àº À̸§¿¡ 
´ëÇÏ¿© ´Ù¸¥ scope¸¦ ÇÒ´çÇÔÀ¸·Î¼­ À̸§Ãæµ¹À» ÇÇÇÒ ¼ö ÀÖ°Ô ÇÏ´Â °ÍÀÌ´Ù

¢º Namespace Prefix

Namespace¿¡ ´ëÇÑ À¯Àϼº º¸Àå
 : (colon)À» ÀÌ¿ëÇÏ¿© ±¸ºÐ
 <prefix:name>
(¿¹) <person:leg>2</person:leg>
		  <horse:leg>4</horse:leg>

½ÇÁ¦ XML¹®¼­ÀÇ ÀÛ¼º±ÔÄ¢¿¡ :À» »ç¿ëÇÒ ¼ö ¾ø°Ô µÇ¾î Àִµ¥ ÀÌ´Â ÀÌ NamespaceÀÇ ¿µ¿ªÀ» À§ÇÑ 
°ÍÀ̱⠶§¹®ÀÌ´Ù. ¶ÇÇÑ namespace´Â °¢°¢ÀÇ À̸§¿µ¿ª¿¡ ´ëÇÑ À¯ÀϼºÀ» º¸ÀåÇؾ߸¸ ÇÑ´Ù.
¸¸¾à º¸ÀåÀÌ ¾ÈµÇ´Ù¸é °á±¹ ¶Ç ´Ù¸¥ À̸§ÀÇ Ãæµ¹À» ÇÇÇÒ ¼ö ¾ø±â ¶§¹®ÀÌ´Ù.
 NamespaceÀÇ ±¸ºÐÀº °£´ÜÈ÷ :À» ÀÌ¿ëÇÏ¿© ±¸ºÐÇÏ¿© À§ÀÇ ¿¹Á¦°°Àº °æ¿ì leg¶ó´Â ±âÁ¸ÀÇ 
 À̸§ Ãæµ¹À» ¸¸³¯ ¼ö°¡ Àִµ¥ À̸§ namespaceÀÇ Á¢µÎ¾î¸¦ ÀÌ¿ëÇÏ¿© ÇØ°áÇÏ°í ÀÖ´Ù.

¢º Namespace Declaration

    - Namespace»ç¿ëÀü ¹Ýµå½Ã ¼±¾ð
    - ElementÀÇ attribute·Î ¼±¾ð
    - Attribute name˼ xmlns or xmlns:
    - xmlns: ÀÇ °æ¿ì URI¿Í prefix·Î ±¸¼º
    - xmlns:prefix=¡°URI¡±

Namespace¸¦ »ç¿ëÇϱâ À§Çؼ­´Â ½ÇÁ¦ namespaceÀÇ ¿ä¼ÒÀÇ ¼Ó¼ºÀ¸·Î ¹Ýµå½Ã ¼±¾ðÇϵµ·Ï ÇÑ´Ù. 
ÇÁ·Î±×·¥ ÄÚµù½Ã º¯¼ö¸¦ »ç¿ëÇϱâ Àü ¼±¾ðÀ» ÇÏ´Â °Í°ú °°Àº ³í¸®¶ó°í º¸¸é ¹«¹æÇÒ µí ÇÏ´Ù.
 xmlns¿¡´Â ÆøÆ÷È¿°ú(waterfall effect)°¡ Àִµ¥ ÀÌ´Â ¾î¶² prefix°¡ element³ª attribute¿¡¼­ »ç¿ëµÇ¾ú°í, 
 ÇØ´ç ¿ä¼Ò¿¡´Â ±× Á¢µÎ¾î¿¡ ´ëÇÑ xmlns attribute°¡ »ç¿ëµÇÁö ¾Ê¾Ò´Ù¸é ÀÚµ¿À¸·Î ±× ¿ä¼ÒÀÇ ºÎ¸ð¸¦ 
 °Ë»çÇϸç, ¹Ýº¹ÀûÀÎ ¹æ¹ýÀ¸·Î ·çÆ®¿ø¼Ò±îÁö ã¾Æ ¿Ã¶ó°¡°Ô µÈ´Ù. µû¶ó¼­ º¸Åë xmlns attribute¸¦ 
 ·çÆ®¿ø¼Ò¿¡ ¼±¾ðÇÏ´Â°Ô ÀϹÝÀûÀÌ´Ù.

°£´ÜÇÏ°Ô À̹ø ±Û¿¡¼­´Â XMLÀÇ ±âº»ÀûÀÎ ³»¿ëÀ» »ìÆ캸¾Ò°í ´ÙÀ½ ±Û¿¡¼­´Â SAXÆļ­ ¹× 
DOMÆļ­¿¡ ´ëÇÑ ¼³¸íÀ» Çϵµ·Ï ÇÑ´Ù. 
»ó´çÈ÷ °£·«ÇÑ ¼Ò°³ÀÇ ³»¿ëÀ̾ú´Âµ¥ ´Ù¸¥ °ÍÀº ´Ù ±×¸¸µÎ´õ¶óµµ È®½ÇÇÏ°Ô ¾Ë¾ÆµÎ¾î¾ß ÇÒ°ÍÀº
tag, attribute, content¿¡ ´ëÇÑ ³»¿ëÀ̸é ÃßÈÄ ÇÁ·Î±×·¥°úÀÇ ¿¬µ¿À¸·Î Â÷Â÷ ÀÍÇô³ª°¡µµ·Ï ÇÏÀÚ.
        
Written by Carouser - 2002-08-05
 
1
References
 
http://www.w3c.org/TR/2000/REC-xml-20001006
Copyright ¨Ï 2003 www.javapattern.info & www.jlook.com, an jLOOK co.,LTD