°³¿ä

XML Data Handler´Â 1Â÷ ¿ªÇҷμ­ Business Object¸¦ XML ¹®¼­·Î º¯È¯(¹Ý´ëÀÇ °æ¿ì Æ÷ÇÔ)ÇÏ´Â µ¥ÀÌÅÍ º¯È¯ ¸ðµâÀÔ´Ï´Ù. XML ¹®¼­´Â text/xml MIME À¯ÇüÀÇ Á÷·ÄÈ­µÈ µ¥ÀÌÅÍÀÔ´Ï´Ù.

XML Data Handler´Â Ä¿³ØÅÍ ¹× ¾×¼¼½º Ŭ¶óÀÌ¾ðÆ®°¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ °³¿ä¿¡¼­´Â XML Data Handler¿¡ ´ëÇÑ ´ÙÀ½ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù.

XML ¹®¼­ ¹× Business Object ó¸®

XML ¹®¼­´Â ±¸Á¶¸¦ Á¤ÀÇÇÏ´Â µ¥ ½ºÅ°¸¶¶ó´Â ÅÛÇø®Æ®¸¦ »ç¿ëÇÕ´Ï´Ù. Ç¥ 11¿¡¼­´Â ÀÌ ½ºÅ°¸¶¸¦ Á¤ÀÇÇϱâ À§ÇÑ °¡Àå °øÅëÀûÀÎ µ¥ÀÌÅÍ ¸ðµ¨À» º¸¿©ÁÝ´Ï´Ù.


Ç¥ 11. XML µ¥ÀÌÅÍ ¸ðµ¨
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¸¦ »ç¿ëÇÏ·Á¸é ´ÙÀ½ ´Ü°è°¡ ¹ß»ýÇØ¾ß ÇÕ´Ï´Ù.


Ç¥ 12. XML Data Handler »ç¿ë
´Ü°è ÀÚ¼¼ÇÑ Á¤º¸
1. XML ¹× Business Object ±¸Á¶¸¦ ¼³¸íÇÏ´Â

Business Object Á¤Àǰ¡ Á¸ÀçÇØ¾ß Çϰí XML Data Handler°¡ ½ÇÇàµÉ ¶§ À̰ÍÀÌ »ç¿ë °¡´ÉÇØ¾ß ÇÕ´Ï´Ù.

Business Object Á¤ÀÇÀÇ ¿ä±¸»çÇ×

DTD¿¡¼­ 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 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 ¼Ó¼º °ª¿¡ ±â¹ÝÀ¸·Î ÇÏ´Â ³×ÀÓ Çڵ鷯ÀÇ ÀνºÅϽº¸¦ È£ÃâÇÕ´Ï´Ù.

»ç¿ëÀÚ Á¤ÀÇ ³×ÀÓ Çڵ鷯 ÀÛ¼º ¹æ¹ý¿¡ ´ëÇÑ Á¤º¸´Â "»ç¿ëÀÚ Á¤ÀÇ XML ³×ÀÓ Çڵ鷯 ºôµå"¸¦ ÂüÁ¶ÇϽʽÿÀ.

SAX Parser

±¸¹® ºÐ¼®±â°¡ XML ÇÏÀ§ Meta ObjectÀÇ Parser ¼Ó¼ºÀÇ ±âº»°ª µî·Ï Á¤º¸¿¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀ¸¸é, Data Handler´Â ±âº» SAX Parser¸¦ »ç¿ëÇÕ´Ï´Ù.

org.apache.xerces.parsers.SAXParser
 

À¯È¿¼º °ËÁõ ±¸¹® ºÐ¼®±â¸¦ »ç¿ëÇϱâ À§ÇØ ´ÙÀ½ ´Ü°è Áß ¾Æ¹« °ÍÀ̳ª ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÁÖ:
À¯È¿¼º °ËÁõ ±¸¹® ºÐ¼®±â¸¦ »ç¿ëÇÒ °æ¿ì, ¿Ã¹Ù¸¥ EntityResolver¸¦ »ç¿ëÇϰí ÀÖ´ÂÁö, ±×¸®°í DTDPath°¡ ¿Ã¹Ù¸£°Ô ¼³Á¤µÇ¾î ÀÖ´ÂÁö È®ÀÎÇϽʽÿÀ. À̸¦ ¼öÇàÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ Áö½Ã»çÇ×Àº XML Data Handler ±¸¼ºÀ» ÂüÁ¶ÇϽʽÿÀ.

´ë¾ÈÀ¸·Î¼­, IBMÀÇ ºñÀ¯È¿¼º °ËÁõ SAX Parser¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ ±¸¹® ºÐ¼®±â¸¦ »ç¿ëÇÏ·Á¸é, XML ÇÏÀ§ Meta ObjectÀÇ Parser ¼Ó¼ºÀÇ Default Value µî·Ï Á¤º¸¸¦ °ª com.ibm.xml.parsers.SAXParser·Î ¼³Á¤ÇϽʽÿÀ.

Entity Resolver

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 Ŭ·¡½º
entity-resolver Ŭ·¡½º ¼³¸í
DefaultEntityResolver
 

ÀÌ Å¬·¡½º´Â ±âº» Entity ResolverÀÔ´Ï´Ù. ÀÌ Entity Resolver¸¦ È£ÃâÇϸé, ¸ðµç ¿ÜºÎ ÂüÁ¶°¡ ¹«½ÃµË´Ï´Ù.

LocalEntityResolver
 

·ÎÄà Entity Resolver´Â ¿ÜºÎ ÂüÁ¶¸¦ ·ÎÄà ÆÄÀÏ À̸§À¸·Î ó¸®ÇÕ´Ï´Ù. À̰ÍÀÇ ÀÛµ¿Àº À¯È¿¼º °ËÁõ¿¡ »ç¿ëµÇ´Â µ¥ÀÌÅÍ ¸ðµ¨¿¡ µû¶ó ´Ù¸¨´Ï´Ù.

  • À¯È¿¼º °ËÁõ¿¡ DTD¸¦ »ç¿ëÇÏ´Â °æ¿ì, systemID°¡ file:// ¶Ç´Â http://·Î ½ÃÀÛÇϰí DTDPath ¼Ó¼ºÀÌ ¼³Á¤µÇ¾î ÀÖÀ¸¸é, ·ÎÄà Entity Resolver°¡ systemIDÀÇ °æ·Î¸¦ DTDPath Meta Object ¼Ó¼º °ªÀ¸·Î ´ëüÇÕ´Ï´Ù.

    ¿ÜºÎ ÂüÁ¶´Â systemID°¡ °æ·Î À̸§ÀÌ ¾Æ´Ï°Å³ª DTDPath ¼Ó¼ºÀ» ¼³Á¤ÇÏÁö ¾ÊÀº °æ¿ì ¹«½ÃµË´Ï´Ù.

  • À¯È¿¼º °ËÁõ¿¡ ½ºÅ°¸¶ ¹®¼­¸¦ »ç¿ëÇÏ´Â °æ¿ì, °æ·Î°¡ file:// ¶Ç´Â http://·Î ½ÃÀ۵ǰųª DOS ÆÄÀÏ À̸§(¿¹: "D:\xmlschemas\test")À» Æ÷ÇÔÇϸé, ·ÎÄà Entity Resolver°¡ schemaLocation ¶Ç´Â noNamespaceSchemaLocation ¼Ó¼ºÀÌ ÁöÁ¤ÇÏ´Â °æ·Î¸¦ DTDPath Meta Object ¼Ó¼º °ªÀ¸·Î ´ëüÇÕ´Ï´Ù.
URIEntityResolver
 

ÀÌ Entity Resolver´Â ¿ÜºÎ ÂüÁ¶¸¦ ·ÎÄà ÆÄÀÏ À̸§ ¶Ç´Â ´Ù¿î·Îµå °¡´ÉÇÑ URL·Î ó¸®ÇÕ´Ï´Ù. µ¿ÀûÀ¸·Î ¿ÜºÎ ÂüÁ¶¸¦ ´ÙÀ½ Áß ÇϳªÀÇ °æ¿ì·Î ÇØ¼®ÇÕ´Ï´Ù.

  • DTD¸¦ À¯È¿¼º °ËÁõ¿¡ »ç¿ëÇÏ´Â °æ¿ì: DOCTYPEÀÌ http:// ¶Ç´Â file://·Î ½ÃÀÛÇÏ´Â SYSTEM °ªÀ» Æ÷ÇÔÇÏ´Â °æ¿ì
  • À¯È¿¼º °ËÁõ¿¡ ½ºÅ°¸¶ ¹®¼­¸¦ »ç¿ëÇÏ´Â °æ¿ì: schemaLocation ¶Ç´Â

    noNamespaceSchemaLocation ¼Ó¼ºÀÌ http:// ¶Ç´Â file://·Î ½ÃÀÛÇÏ´Â °æ¿ì

±×·¯¸é, Entity Resolver°¡ HTTP ¿¬°áÀ» ¿­°í ÁöÁ¤ÇÑ À¥ »çÀÌÆ®¿¡¼­ DTD ¶Ç´Â ½ºÅ°¸¶ ¹®¼­¸¦ ´Ù¿î·ÎµåÇÕ´Ï´Ù.

ÁÖÀÇ: XML Data Handler´Â DTD ¶Ç´Â ½ºÅ°¸¶ ¹®¼­¸¦ ij½ÃÇÏÁö ¾Ê½À´Ï´Ù. Data Handler°¡ URIEntityResolver Ŭ·¡½º¸¦ Entity Resolver·Î »ç¿ëÇÒ °æ¿ì, XML ¹®¼­¸¦ ±¸¹® ºÐ¼®ÇÒ ¶§¸¶´Ù HTTP ¿¬°áÀ» ¿±´Ï´Ù. ±×·¯¹Ç·Î ³×Æ®¿öÅ© Æ®·¡ÇÈÀº XML Data HandlerÀÇ ¼º´É¿¡ ¿µÇâÀ» ÁÙ ¼ö ÀÖ½À´Ï´Ù.

ÁÖ:
Ç¥ 13ÀÇ ¸ðµç Entity Resolver´Â ´ÙÀ½ÀÇ Å¬·¡½º Á¢µÎºÎ¸¦ °¡Á®¾ß ÇÕ´Ï´Ù.
com.crossworlds.DataHandlers.xml
 

»ç¿ëÀÚÀÇ XML ¹®¼­°¡ ½ºÅ°¸¶ ¹®¼­¸¦ »ç¿ëÇÏ´Â °æ¿ì, ½ºÅ°¸¶ ¹®¼­°¡ Æ÷ÇÔÇÏ´Â ¿ÜºÎ ½ºÅ°¸¶µµ ¿ÜºÎ ¿£Æ¼Æ¼·Î Ãë±ÞµË´Ï´Ù. µû¶ó¼­, SAX Parser´Â Entity Resolver¸¦ È£ÃâÇÏ¿© Æ÷ÇÔµÈ ½ºÅ°¸¶ ¹®¼­¸¦ ÇØ¼®ÇÕ´Ï´Ù. XML ¹®¼­°¡ schemaLocation ¶Ç´Â noNamespaceSchemaLocationÀ» »ç¿ëÇÏ¿© ½ºÅ°¸¶ À§Ä¡¸¦ ÁöÁ¤Çϸé, ¿ÜºÎ ½ºÅ°¸¶ ¹®¼­(Æ÷ÇԵǰųª °¡Á®¿Â)ÀÇ À¯È¿¼º °ËÁõÀ» À§ÇØ EntityResolver ¼Ó¼ºÀ»

LocalEntityResolver ¶Ç´Â URIEntityResolver·Î ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿ÜºÎ ¿£Æ¼Æ¼¸¦ ã±â À§ÇÑ ¶Ç´Ù¸¥ ¹æ¹ýÀ» ÁöÁ¤ÇØ¾ß ÇÒ °æ¿ì, »ç¿ëÀÚ Á¤ÀÇ Entity Resolver¸¦ ÀÛ¼ºÇØ¾ß ÇÕ´Ï´Ù. »ç¿ëÀÚ Á¤ÀÇ Entity Resolver ÀÛ¼º¿¡ ´ëÇÑ Á¤º¸´Â »ç¿ëÀÚ Á¤ÀÇ Entity Resolver ºôµå¸¦ ÂüÁ¶ÇϽʽÿÀ.

Copyright IBM Corp. 1997, 2003