XML Data Handler´Â 1Â÷ ¿ªÇҷμ Business Object¸¦ XML ¹®¼·Î º¯È¯(¹Ý´ëÀÇ °æ¿ì Æ÷ÇÔ)ÇÏ´Â µ¥ÀÌÅÍ º¯È¯ ¸ðµâÀÔ´Ï´Ù. XML ¹®¼´Â text/xml MIME À¯ÇüÀÇ Á÷·ÄÈµÈ µ¥ÀÌÅÍÀÔ´Ï´Ù.
XML Data Handler´Â Ä¿³ØÅÍ ¹× ¾×¼¼½º Ŭ¶óÀÌ¾ðÆ®°¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ °³¿ä¿¡¼´Â XML Data Handler¿¡ ´ëÇÑ ´ÙÀ½ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù.
XML ¹®¼´Â ±¸Á¶¸¦ Á¤ÀÇÇÏ´Â µ¥ ½ºÅ°¸¶¶ó´Â ÅÛÇø®Æ®¸¦ »ç¿ëÇÕ´Ï´Ù. Ç¥ 11¿¡¼´Â ÀÌ ½ºÅ°¸¶¸¦ Á¤ÀÇÇϱâ À§ÇÑ °¡Àå °øÅëÀûÀÎ µ¥ÀÌÅÍ ¸ðµ¨À» º¸¿©ÁÝ´Ï´Ù.
XML µ¥ÀÌÅÍ ¸ðµ¨ | ÀÚ¼¼ÇÑ Á¤º¸ |
---|---|
DTD(¹®¼ À¯Çü Á¤ÀÇ) | DTD¸¦ »ç¿ëÇÏ´Â XML ¹®¼ |
½ºÅ°¸¶ ¹®¼ | ½ºÅ°¸¶ ¹®¼¸¦ »ç¿ëÇÏ´Â XML ¹®¼ |
DTD ¶Ç´Â ½ºÅ°¸¶ ¹®¼°¡ XMLÀÇ ±¸Á¶¿¡ ´ëÇØ ¼³¸íÇϵíÀÌ Business Object Á¤ÀÇ´Â Business ObjectÀÇ ±¸Á¶¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. XML Data Handler´Â Business Object¿Í XML ¹®¼ »çÀÌ¿¡¼ º¯È¯ÇÒ ¶§ Business Object Á¤ÀǸ¦ »ç¿ëÇÕ´Ï´Ù. Business Object Á¤ÀÇÀÇ ±¸Á¶¿Í ÇØ´çµÇ´Â ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ Á¤º¸¸¦ »ç¿ëÇÏ¿© º¯È¯À» ¼öÇàÇÏ´Â ¹æ¹ýÀ» °áÁ¤ÇÕ´Ï´Ù. Business Object Á¤ÀǸ¦ ÀûÀýÇÏ°Ô ±¸¼ºÇϸé Data Handler°¡ Business Object¸¦ XML ¹®¼·Î, XML ¹®¼¸¦ Business Object·Î ¿Ã¹Ù¸£°Ô º¯È¯ÇÒ ¼ö ÀÖ½À´Ï´Ù. XML Data Handler°¡ XML ¹®¼¿Í Business Object »çÀÌÀÇ º¯È¯À» ¼öÇàÇÒ ¼ö ÀÖÀ¸·Á¸é, ¿¬°üµÈ Business Object Á¤ÀǸ¦ ãÀ» ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù.
XML ¹®¼¸¦ Business Object·Î º¯È¯Çϰųª Business Object¸¦ XML ¹®¼·Î º¯È¯ÇÏ´Â µ¥ XML Data Handler¸¦ »ç¿ëÇÏ·Á¸é ´ÙÀ½ ´Ü°è°¡ ¹ß»ýÇØ¾ß ÇÕ´Ï´Ù.
´Ü°è | ÀÚ¼¼ÇÑ Á¤º¸ |
---|---|
1. XML ¹× Business Object ±¸Á¶¸¦ ¼³¸íÇÏ´Â
Business Object Á¤Àǰ¡ Á¸ÀçÇØ¾ß Çϰí XML Data Handler°¡ ½ÇÇàµÉ ¶§ À̰ÍÀÌ »ç¿ë °¡´ÉÇØ¾ß ÇÕ´Ï´Ù. | Business Object Á¤ÀÇÀÇ ¿ä±¸»çÇ×
|
2. XML Data Handler°¡ ȯ°æÀ» À§ÇØ ±¸¼ºµÇ¾î¾ß ÇÕ´Ï´Ù. | XML Data Handler ±¸¼º |
3. ´ÙÀ½°ú °°Àº ÇØ´ç µ¥ÀÌÅÍ Á¶ÀÛÀ» ¼öÇàÇϱâ À§ÇØ Ä¿³ØÅÍ(¶Ç´Â ¾×¼¼½º Ŭ¶óÀ̾ðÆ®)·ÎºÎÅÍ XML Data Handler°¡ È£ÃâµÇ¾î¾ß ÇÕ´Ï´Ù. |
|
a) µ¥ÀÌÅÍ Á¶ÀÛ: È£ÃâÀڷκÎÅÍ Business Object¸¦ ¼ö½ÅÇϰí, Business Object¸¦ XML ¹®¼·Î º¯È¯Çϸç, XML ¹®¼¸¦ È£ÃâÀÚ¿¡°Ô Àü´Þ | Business Object¸¦ XML ¹®¼·Î º¯È¯ |
b) µ¥ÀÌÅÍ Á¶ÀÛ: È£ÃâÀڷκÎÅÍ XML ¹®¼¸¦ ¼ö½ÅÇϰí, ³×ÀÓ Çڵ鷯, SAX ±¸¹® ºÐ¼®±â¸¦ »ç¿ëÇÏ¿© Business Object¸¦ ºôµå. ±×·± ´ÙÀ½, Business Object È£ÃâÀÚ¿¡°Ô ¸®ÅÏ | XML ¹®¼¿¡¼ Business Object·Î º¯È¯ |
XML Data Handler´Â ´ÙÀ½ ±¸¼º¿ä¼Ò¸¦ »ç¿ëÇÏ¿© XML µ¥ÀÌÅ͸¦ Business Object·Î º¯È¯ÇÕ´Ï´Ù.
±×¸² 11¿¡¼´Â XML Data Handler ±¸¼º¿ä¼Ò ¹× ÇØ´ç °ü°è¸¦ º¸¿©ÁÝ´Ï´Ù. ÀÌ·¯ÇÑ ±¸¼º¿ä¼Ò¿¡ ´ëÇØ¼´Â ´ÙÀ½ ¼½¼Ç¿¡ ¼³¸íµÇ¾î ÀÖ½À´Ï´Ù.
±×¸² 11. XML Data Handler ±¸¼º¿ä¼Ò
XML Data Handler´Â ³×ÀÓ Çڵ鷯¸¦ »ç¿ëÇÏ¿© Business ObjectÀÇ À̸§À» XML ¸Þ½ÃÁö·ÎºÎÅÍ ÃßÃâÇÕ´Ï´Ù.
Data Handler´Â XML Data Handler ÇÏÀ§ Meta ObjectÀÇ NameHandlerClass ¼Ó¼º °ª¿¡ ±â¹ÝÀ¸·Î ÇÏ´Â ³×ÀÓ Çڵ鷯ÀÇ ÀνºÅϽº¸¦ È£ÃâÇÕ´Ï´Ù.
BOPrefix_rootElement
»ç¿ëÀÚ Á¤ÀÇ ³×ÀÓ Çڵ鷯 ÀÛ¼º ¹æ¹ý¿¡ ´ëÇÑ Á¤º¸´Â "»ç¿ëÀÚ Á¤ÀÇ XML ³×ÀÓ Çڵ鷯 ºôµå"¸¦ ÂüÁ¶ÇϽʽÿÀ.
±¸¹® ºÐ¼®±â°¡ XML ÇÏÀ§ Meta ObjectÀÇ Parser ¼Ó¼ºÀÇ ±âº»°ª µî·Ï Á¤º¸¿¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀ¸¸é, Data Handler´Â ±âº» SAX Parser¸¦ »ç¿ëÇÕ´Ï´Ù.
org.apache.xerces.parsers.SAXParser
À¯È¿¼º °ËÁõ ±¸¹® ºÐ¼®±â¸¦ »ç¿ëÇϱâ À§ÇØ ´ÙÀ½ ´Ü°è Áß ¾Æ¹« °ÍÀ̳ª ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.
IBMÀÌ ÀÌ ¼Ó¼º¿¡ Á¦°øÇÏ´Â ±âº»°ªÀº falseÀÔ´Ï´Ù.
com.ibm.xml.parsers.ValidatingSaxParser
Business Object Á¤Àǰ¡ DTD¸¦ ±Ù°Å·Î ÇÒ °æ¿ì, ·ÎÄà Entity Resolver¸¦ »ç¿ëÇÏ¿© DTDPath ¼Ó¼º¿¡ DTD(¹®¼ À¯Çü Á¤ÀÇ) ¶Ç´Â ½ºÅ°¸¶ °æ·Î¿¡ ´ëÇÑ ±âº»°ªÀ» Á¦°øÇϽʽÿÀ. ¹Ýµå½Ã ¸ðµç DTD ¶Ç´Â ½ºÅ°¸¶ ÆÄÀÏÀ» DTDPath ¼Ó¼º¿¡ ÁöÁ¤µÈ À§Ä¡¿¡ ¹èÄ¡Çϵµ·Ï ÇϽʽÿÀ.
´ë¾ÈÀ¸·Î¼, IBMÀÇ ºñÀ¯È¿¼º °ËÁõ SAX Parser¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ ±¸¹® ºÐ¼®±â¸¦ »ç¿ëÇÏ·Á¸é, XML ÇÏÀ§ Meta ObjectÀÇ Parser ¼Ó¼ºÀÇ Default Value µî·Ï Á¤º¸¸¦ °ª com.ibm.xml.parsers.SAXParser·Î ¼³Á¤ÇϽʽÿÀ.
Entity Resolver´Â SAX Parser°¡ XML µ¥ÀÌÅÍÀÇ ¿ÜºÎ ÂüÁ¶(¿¹: DTD ¹× ½ºÅ°¸¶ ¹®¼¿¡ ´ëÇÑ ÂüÁ¶)ÀÇ ºÐ¼® ¹æ¹ýÀ» ÁöÁ¤ÇÕ´Ï´Ù.
XML ¹®¼¿¡ ¿£Æ¼Æ¼ ÂüÁ¶°¡ ÀÖÀ¸¸é, SAX Parser´Â XML Data Handler ±¸¼º Meta Object¿¡ ÀÖ´Â EntityResolver ¼Ó¼ºÀ» »ç¿ëÇÏ¿© Entity ResolverÀÇ ÀνºÅϽº¸¦ È£ÃâÇÕ´Ï´Ù.
¿ÜºÎ ÂüÁ¶´Â EntityResolver°¡ ÁöÁ¤ÇÏ´Â Entity Resolver¿¡ µû¶ó ´Ù¸£°Ô 󸮵˴ϴÙ. Ç¥ 13¿¡¼´Â XML Data Handler°¡ Á¦°øÇÏ´Â Entity Resolver Ŭ·¡½º¸¦ º¸¿©ÁÝ´Ï´Ù.
Ç¥ 13. XML Data Handler¿¡ ´ëÇÑ entity-resolver Ŭ·¡½º
com.crossworlds.DataHandlers.xml
»ç¿ëÀÚÀÇ XML ¹®¼°¡ ½ºÅ°¸¶ ¹®¼¸¦ »ç¿ëÇÏ´Â °æ¿ì, ½ºÅ°¸¶ ¹®¼°¡ Æ÷ÇÔÇÏ´Â
¿ÜºÎ ½ºÅ°¸¶µµ ¿ÜºÎ ¿£Æ¼Æ¼·Î Ãë±ÞµË´Ï´Ù.
µû¶ó¼, SAX Parser´Â Entity Resolver¸¦ È£ÃâÇÏ¿© Æ÷ÇÔµÈ ½ºÅ°¸¶ ¹®¼¸¦
ÇØ¼®ÇÕ´Ï´Ù. XML ¹®¼°¡ schemaLocation ¶Ç´Â noNamespaceSchemaLocationÀ»
»ç¿ëÇÏ¿© ½ºÅ°¸¶ À§Ä¡¸¦ ÁöÁ¤Çϸé, ¿ÜºÎ ½ºÅ°¸¶ ¹®¼(Æ÷ÇԵǰųª °¡Á®¿Â)ÀÇ À¯È¿¼º °ËÁõÀ» À§ÇØ
EntityResolver ¼Ó¼ºÀ»
LocalEntityResolver ¶Ç´Â URIEntityResolver·Î ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿ÜºÎ ¿£Æ¼Æ¼¸¦ ã±â À§ÇÑ ¶Ç´Ù¸¥ ¹æ¹ýÀ» ÁöÁ¤ÇØ¾ß ÇÒ °æ¿ì, »ç¿ëÀÚ Á¤ÀÇ Entity Resolver¸¦ ÀÛ¼ºÇØ¾ß ÇÕ´Ï´Ù. »ç¿ëÀÚ Á¤ÀÇ Entity Resolver ÀÛ¼º¿¡ ´ëÇÑ Á¤º¸´Â »ç¿ëÀÚ Á¤ÀÇ Entity Resolver ºôµå¸¦ ÂüÁ¶ÇϽʽÿÀ.