JavaTM 2 Platform
Standard Ed. 5.0

org.xml.sax.ext
ÀÎÅÍÆäÀ̽º EntityResolver2

¸ðµç ½´ÆÛ ÀÎÅÍÆäÀ̽º:
EntityResolver
¾Ë·ÁÁø ±¸Çö Ŭ·¡½º ¸ñ·Ï:
DefaultHandler2

public interface EntityResolver2
extends EntityResolver

¿ÜºÎ ½Çü ÂüÁ¶¸¦ ÀÔ·Â ¼Ò½º¿¡ ¸ÅÇÎ Çϰųª ºÎÁ·ÇÏ´Â ¿ÜºÎ ºÎºÐÁýÇÕÀ» Á¦°øÇϰųª ÇÏ´Â È®Àå ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù. XMLReader.setEntityResolver() ¸Þ¼­µå¸¦ »ç¿ëÇØ Æļ­¿¡ ÀÌ ÀÎÅÍÆäÀ̽ºÀÇ ±¸ÇöÀ» Á¦°øÇÕ´Ï´Ù. Æļ­°¡ ÀÌ ÀÎÅÍÆäÀ̽ºÀÇ ¸Þ¼­µå¸¦ »ç¿ëÇÏ´Â °æ¿ì, ³°Àº SAX 1.0 EntityResolver.resolveEntity() ¸Þ¼­µå°¡ ¾Æ´Ï°í, ÀÌ ÀÎÅÍÆäÀ̽ºÀÇ EntityResolver2.resolveEntity() ¸Þ¼­µå¸¦ »ç¿ëÇÕ´Ï´Ù.

ÀÌ ¸ðµâÀº ¿ø½Ã ÄÚµå, ¹®¼­ ¸ðµÎ °ø°³ µµ¸ÞÀο¡ ³õ¿©Á® ÀÖ½À´Ï´Ù. µû¶ó¼­, ³»¿ë¿¡ °üÇѺ¸ÁõÀº ÀÏÀý Á¦°øµÇÁö ¾Ê½À´Ï´Ù.

¿ÜºÎ ½Çü¸¦ À§Çؼ­ ÀÌ ÀÎÅÍÆäÀ̽º¸¦ Á¤ÀÇÇϵµ·Ï Ä¿½ºÅ͸¶ÀÌÁî ÇÒ ÇÊ¿ä°¡ ÀÖ´Â °æ¿ì, SAX ¾îÇø®ÄÉÀ̼ÇÀº ¡¸true¡¹(±â´ÉÀÌ ÀνĵǾúÀ» °æ¿ìÀÇ ±âº»°ª)·Î ¼³Á¤µÈ ¡¸http://xml.org/sax/features/use-entity-resolver2¡¹±â´É Ç÷¡±×¸¦ °¡Áö´Â XMLReader¸¦ »ç¿ëÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ±× Ç÷¡±×°¡ ÀνĵÇÁö ¾Ê´Â °æ¿ì³ª ±× °ªÀÌ falseÀÎ °æ¿ì, ¶Ç´Â ¸®Àý¹ö°¡ ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏÁö ¾Ê´Â °æ¿ì¿¡´Â EntityResolver ¸Þ¼­µå¸¸À» »ç¿ëÇÕ´Ï´Ù.

ÀÌ ÀÎÅÍÆäÀ̽º´Â ½Çü ÇØ°áÀ» º¯°æÇÏ´Â 3 Á¾·ùÀÇ ¾îÇø®ÄÉÀ̼ÇÀ» Áö¿ø ÇÕ´Ï´Ù. ¡¸Old Style¡¹¾îÇø®ÄÉÀ̼ÇÀº ÀÌ ÀÎÅÍÆäÀ̽º¿¡ ´ëÇؼ­´Â ÀνÄÇÏÁö ¾Ê°í, EntityResolver¸¦ Á¦°øÇÕ´Ï´Ù. ¡¸Transitional Mode¡¹´Â EntityResolver2¸¦ Á¦°øÇØ, EntityResolver2¸¦ Áö¿øÇÏ´Â ¸ðµç ½Ã½ºÅÛ (Æļ­ ¶Ç´Â ±× ¿ÜÀÇ Åø)¿¡ ÀÖ´Â ¸Þ¼­µåÀÇ ÀÌÁ¡À» ÀÚµ¿ÀûÀ¸·Î ¾òÀ» ¼ö ÀÖ½À´Ï´Ù (´Ù»ó¼ºÀ̱⠶§¹®¿¡). ¡¸Old Style¡¹¾îÇø®ÄÉÀ̼ǵµ ¡¸Transitional Mode¡¹¾îÇø®ÄÉÀ̼ǵµ SAX2 Æļ­¿Í ÇÔ²² µ¿ÀÛÇÕ´Ï´Ù. ¡¸New style¡¹¾îÇø®ÄÉÀ̼ÇÀº SAX2 Æļ­»ó ÀÌ¿Ü¿¡¼­´Â ÀÌ Æ¯Á¤ÀÇ ±â´ÉÀ» Áö¿ø ÇÒ ¼ö ¾ø½À´Ï´Ù. ¿øÀÇ SAX 1.0 ½ºÅ¸ÀÏ ½Çü ÇØ°á ¸Þ¼­µå°¡ ºÒ·Á °¬À» °æ¿ì, ÀÌ·¯ÇÑ ¾îÇø®ÄÉÀ̼ÇÀº ±â´É Ç÷¡±×°¡ ¡¸true¡¹ÀÇ °ªÀ» °¡Áöµµ·Ï ¿ä±¸ÇØ, Á¦°øÇÏ´Â EntityResolver2 ±¸Çö¿¡ ÀÇÇØ = ¿¹¿Ü¸¦ ¹ß»ý½Ãų ¼ö ÀÖ½À´Ï´Ù.

µµÀÔµÈ ¹öÀü :
SAX 2.0 (extensions 1.1 alpha)
°ü·Ã Ç׸ñ:
XMLReader.setEntityResolver(org.xml.sax.EntityResolver)

¸Þ¼­µå °³¿ä
 InputSource getExternalSubset (String  name, String  baseURI)
          ¾îÇø®ÄÉÀ̼ÇÀº ¸íÈ®ÇÏ°Ô Á¤ÀÇÇÏ°í ÀÖÁö ¾Ê´Â ¹®¼­ÀÇ ¿ÜºÎ ºÎºÐÁýÇÕÀ» Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù.
 InputSource resolveEntity (String  name, String  publicId, String  baseURI, String  systemId)
          ¾îÇø®ÄÉÀ̼ÇÀº ¿ÜºÎ ½Çü ÂüÁ¶¸¦ ÀÔ·Â ¼Ò½º¿¡ ¸ÅÇÎ ÇÏ´ÂÁö, ÀϹÝÀûÀÎ URI ÇØ°áÀ» »ç¿ëÇϵµ·Ï Æļ­¿¡ ÅëÁöÇÒ ¼ö ÀÖ½À´Ï´Ù.
 
ÀÎÅÍÆäÀ̽º org.xml.sax. EntityResolver ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
resolveEntity
 

¸Þ¼­µåÀÇ »ó¼¼

getExternalSubset

InputSource  getExternalSubset(String  name,
                              String  baseURI)
                              throws SAXException,

                                     IOException 
¾îÇø®ÄÉÀ̼ÇÀº ¸íÈ®ÇÏ°Ô Á¤ÀÇÇÏ°í ÀÖÁö ¾Ê´Â ¹®¼­ÀÇ ¿ÜºÎ ºÎºÐÁýÇÕÀ» Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿ÜºÎ ºÎºÐÁýÇÕÀ» »ý·« ÇÏ´Â DOCTYPE ¼±¾ð ÷ºÎÀÇ ¹®¼­´Â °ËÁõ, ½ÇüÀÇ Ã³¸®, ¼Ó¼ºÀÇ Ã³¸® (Á¤±ÔÈ­, µðÆúÆ® ¼³Á¤, ID¸¦ Æ÷ÇÔÇÑ ÇüŸ¦ ¸®Æ÷Æ®ÇÑ´Ù)¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¼±¾ðÀ» ´Ã¸± ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ ÄݹéÀº ¸ðµç ³»ºÎ ºÎºÐÁýÇÕ µ¥ÀÌÅͳª ¿¡·¯°¡ º¸°íµÇ±â Àü¿¡ ÇàÇØÁö±â ¶§¹®¿¡ ÀÌ È®Àå ±â´ÉÀº startDTD()¸¦ ÅëÇØ ÀÌ¹Ì ¹®¼­¿¡´Â ¿ÜºÎ ºÎºÐÁýÇÕÀÌ Æ÷ÇԵǾî ÀÖ¾ú´ÂÁö¿Í °°ÀÌ º¸°íµË´Ï´Ù.

¶Ç, ÀÌ ¸Þ¼­µå´Â DOCTYPE ¼±¾ðÀ» °¡ÁöÁö ¾Ê´Â ¹®¼­¿¡µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ·çÆ® ¿ä¼Ò°¡ °ËÃâµÇ¾îµµ DOCTYPE ¼±¾ðÀÌ ¹ß°ßµÇÁö ¾Ê¾Ò´ø °æ¿ì¿¡ ÀÌ ¸Þ¼­µå°¡ È£ÃâµË´Ï´Ù. ¿ÜºÎ ºÎºÐÁýÇÕÀÇ °ªÀ» µ¹·ÁÁÖ´Â °æ¿ì, ÀÌ ·çÆ® ¿ä¼Ò´Â ·çÆ® ¿ä¼Ò·Î¼­ ¼±¾ðµÇ¾î ¹«È¿°¡ µÇ´Â ¹®¼­ÀÇ ÃÖÃÊ·Î DOCTYPE ¼±¾ðÀ» ÀÕ´Â È¿°ú¸¦ °¡Á®¿É´Ï´Ù. ±× Æļ­ ÄݹéÀÇ ¼ø¼­´Â ³í¸®ÀûÀÌ°Ô´Â ´ÙÀ½ÀÇ ÄÉÀ̽º¿Í ´à¾Æ ÀÖ½À´Ï´Ù.


 ... comments and PIs from the prolog (as usual)
 startDTD ("rootName", source.getPublicId (), source.getSystemId ());
 startEntity ("[dtd]");
 ... declarations, comments, and PIs from the external subset
 endEntity ("[dtd]");
 endDTD ();
 ... then the rest of the document (as usual)
 startElement (..., "rootName", ...);
 

InputSource ¿¡¼­´Â ´õ ÀÌ»óÀÇ ÇØ°áÀº ÃëµæµÇÁö ¾Ê½À´Ï´Ù. ÀÌ ¸Þ¼­µå¸¦ ±¸ÇöÇÏ´Â °ÍÀ¸·Î resolveEntity()¸¦ È£ÃâÇØ DTD ½ÇüÀÇ ·ÎÄà ij½¬¸¦ »ç¿ëÇÏ´Â µîÀÇ ÀÌÁ¡À» ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ¶Ç, Ÿ´ç¼ºÀ» °ËÁõÇÏÁö ¾Ê°í, ¿ÜºÎ ÆĶó¹ÌÅÍ ½Çü¸¦ Æ÷ÇÔÇÏÁö ¾ÊÀº ÇÁ·Î¼¼¼­¿¡¼­´Â ÀÌ ¸Þ¼­µå¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

¿ÜºÎ ½Çü¿¡ ´ëÇؼ­ ¹Ù¶÷Á÷ÇÏÁö ¾ÊÀº ³×Æ®¿öÅ© ¾×¼¼½º¸¦ Ç×»ó ¿ä±¸ÇÏ´Â XML ÇÁ·Î¼¼¼­¿Í ȣȯ¼ºÀÌ ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼­µå¿¡ »ç¿ëÇÏ¸é µ¥ÀÌÅÍÀÇ °ËÁõµµ ¿ëÀÌÇÏ°Ô µË´Ï´Ù. ¶Ç, ´Ù¸¥ ÀÌÀ¯¿¡´Â DTD ÀÌ¿ÜÀÇ Á¤Ã¥¸¦ ÀÓÆ÷Æ® ÇÕ´Ï´Ù. Ÿ´ç¼ºÀ» °ËÁõÇÒ ¼ö ¾ø´Â ¿øÀο¡´Â ¹®¼­¿¡ DTD¸¦ Æ÷ÇÔÇϵµ·Ï ¿ä±¸ÇÕ´Ï´Ù. ÀÌ°Í¿¡ ÀÇÇØ ¼Ó¼ºÀÌ ¸¶À» ¾ø°Ô 󸮵˴ϴÙ. ¿¹¸¦ µé¾î XPath ÇÁ·Î¼¼¼­´Â ³Ð°Ô »ç¿ëµÇ°í ÀÖ´Â ÂüÁ¶ÀÇ ÇüŸ¦ ó¸®Çϱâ Àü¿¡ ÇüÅ ¡¸ID¡¹¸¦ °¡Áö´Â ¼Ó¼ºÀ» ÀνÄÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

°æ°í: ¿ÜºÎ ºÎºÐÁýÇÕÀ» µ¹·ÁÁÖ¸é ÀÔ·Â ¹®¼­°¡ º¯°æµË´Ï´Ù. ÀϹÝÀÇ ½Çü¿¡ Á¤ÀǸ¦ ÁÖ´Â °Í¿¡ ÀÇÇØ ºÎÁ¤ÇÑ ¹®¼­¸¦ Á¤ÇüÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
name - ¹®¼­ÀÇ ·çÆ® ¿ä¼ÒÀÇ ½Äº°. ÀÌ¿ë °¡´ÉÇÑ DOCTYPE ¼±¾ð ¶Ç´Â ½ÇÁ¦ÀÇ ·çÆ® ¿ä¼Ò·ÎºÎÅÍÀÇ À̸§
baseURI - ¹®¼­ÀÇ ±âÀú URI. ¿ÜºÎ ¼­ºê ÅؽºÆ®¸¦ ¼±ÅÃÇÏ´Â Ãß°¡ ÈùÆ®·Î¼­ ±â´ÉÇÑ´Ù. XMLReader¿¡´Â InputSource ¸¸ÀÌ ÁöÁ¤µÇ¾ú±â ¶§¹®¿¡ nullÀÌ ¾Æ´Ñ ÇÑ Ç×»ó Àý´ë URI ÀÌ´Ù
¹Ýȯ°ª:
Æļ­¿¡ ÀÇÇØ »ç¿ëµÇ´Â »õ·Î¿î ¿ÜºÎ ºÎºÐÁýÇÕÀ» ±â¼úÇÏ´Â InputSource °´Ã¼. ¿ÜºÎ ºÎºÐÁýÇÕÀÌ Á¦°øµÇÁö ¾Ê´Â °æ¿ì´Â nullÀÌ ³ªÅ¸³­´Ù
¿¹¿Ü:
SAXException - SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ ÇÏ°í ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Ù
IOException - »õ·Î¿î InputStream ³ª Reader, ¶Ç´Â ºÎÁ¤ÇÑ URL ÀÛ¼º ½ÇÆи¦ ³ªÅ¸³»°í ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Ù

resolveEntity

InputSource  resolveEntity(String  name,
                          String  publicId,
                          String  baseURI,
                          String  systemId)
                          throws SAXException,

                                 IOException 
¾îÇø®ÄÉÀ̼ÇÀº ¿ÜºÎ ½Çü ÂüÁ¶¸¦ ÀÔ·Â ¼Ò½º¿¡ ¸ÅÇÎ ÇÏ´ÂÁö, ÀϹÝÀûÀÎ URI ÇØ°áÀ» »ç¿ëÇϵµ·Ï Æļ­¿¡ ÅëÁöÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ¿Ã¹Ù¸£°Ô ¼±¾ðµÈ ¿ÜºÎ ½ÇüÀÎ ¸¸Å­ ¿ä±¸µË´Ï´Ù. ÀÌ ¸Þ¼­µå´Â EntityResolver ÀÎÅÍÆäÀ̽º¿¡ ºñÇØ À¯¿¬¼ºÀÌ ÀÖ¾î, OASIS XML Catalogs »ç¾çÀ¸·Î Á¤ÀǵǾú´ø °Íº¸´Ù º¹ÀâÇÑ Ä«Å»·Î±× schemaÀÇ ±¸ÇöÀ» Áö¿ø ÇÕ´Ï´Ù.¡¡

ÀÌ ¸®Àý¹ö ¸Þ¼­µå¸¦ »ç¿ëÇϵµ·Ï ¼³Á¤µÈ Æļ­´Â ¸®Àý¹ö ¸Þ¼­µå¸¦ È£ÃâÇØ XML ÅؽºÆ®ÀÇ ÂüÁ¶¿¡ ÀÇÇØ Æ÷ÇԵǾî ÀÖ´Â ¿ÜºÎ ½Çü¿¡ »ç¿ëÇÏ´Â ÀÔ·Â ¼Ò½º¸¦ °áÁ¤ÇÕ´Ï´Ù. ±× °æ¿ì, ¹®¼­ ½Çü¿Í getExternalSubset() ¿¡ ÀÇÇØ ¸®ÅÏµÈ ¿ÜºÎ ½Çü´Â Á¦¿ÜµË´Ï´Ù. Ÿ´ç¼ºÀ» °ËÁõÇÒ ¼ö ¾ø´Â ÇÁ·Î¼¼¼­°¡ ±â´É Ç÷¡±×¸¦ »ç¿ëÇØ ½Çü (ÆĶó¹ÌÅÍ ½Çü ¶Ç´Â ÀÏ¹Ý ½Çü)ÀÇ Å¬·¡½º¸¦ Æ÷ÇÔÇÏÁö ¾Ê°Ô ¼³Á¤µÇ¾î ÀÖÀ¸¸é, ÀÌ ¸Þ¼­µå´Â ±×·¯ÇÑ ½Çü¿¡¼­´Â ºÒ·Á°¡ Áö ¾Ê½À´Ï´Ù.

¿©±â¼­ »ç¿ëµÇ´Â ½Çü À̸§ schema´Â LexicalHandler ¶Ç´Â ContentHandler.skippedEntity() ¸Þ¼­µå·Î »ç¿ëµÇ´Â °Í °Í°ú °°½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
name - ÇØ°áµÇ´Â ¿ÜºÎ ½ÇüÀÇ ½Äº°. ¿ÜºÎ ºÎºÐÁýÇÕÀÇ ¡¸[dtd]¡¹³ª ÆĶó¹ÌÅÍ ½Çü¸¦ ³ªÅ¸³»´Â ¡¸%¡¹·Î °³½ÃµÇ´Â À̸§, ¶Ç´Â ±× ÀÌ¿ÜÀÇ ÀÏ¹Ý ½ÇüÀÇ À̸§. SAX2 Æļ­¿¡ ÀÇÇØ È£ÃâµÇ´Â °æ¿ì´Â nullÀÌ ¾Æ´Ñ
publicId - ÂüÁ¶µÇ´Â ¿ÜºÎ ½ÇüÀÇ °ø°³ ½Äº°ÀÚ (XML »ç¾çÀ¸·Î ¿ä±¸µÇµµ·Ï Á¤±ÔÈ­µÇ°í ÀÖ´Ù). Á¦°øµÇÁö ¾Ê¾Ò´ø °æ¿ì´Â null
baseURI - »ó´ëÀûÀÎ systemID¸¦ ±âÁØÀ¸·Î ÇÑ URI Çؼ®. XMLReader´Â InputSource ·Î ÁöÁ¤µÈ °¡´É¼ºÀÌ ÀÖÀ¸¹Ç·Î nullÀÌ ¾Æ´Ñ ÇÑ Ç×»ó Àý´ë URI. ÀÌ URI´Â °ü·ÃµÈ ¼±¾ðÀ» °³½ÃÇÏ´Â ¡¸<¡¹¿¡ °ü·ÃµÈ XML »ç¾ç¿¡ ÀÇÇØ Á¤ÀǵǴÂ
systemId - ÂüÁ¶µÇ´Â ¿ÜºÎ ½ÇüÀÇ ½Ã½ºÅÛ ½Äº°ÀÚ. »ó´ë ¶Ç´Â Àý´ë URI. SAX2 Æļ­¿¡ ÀÇÇØ È£ÃâµÇ´Â °æ¿ì´Â nullÀº ¾Æ´Ï°í, ¼±¾ðµÈ ½Çü¿Í ¿ÜºÎ ºÎºÐÁýÇÕ¸¸ÀÌ, ±×·¯ÇÑ Æļ­¿¡ ÀÇÇØ ÇØ°áµÈ´Ù
¹Ýȯ°ª:
Æļ­¿¡ ÀÇÇØ »ç¿ëµÇ´Â »õ·Î¿î ÀÔ·Â ¼Ò½º¸¦ ±â¼úÇÏ´Â InputSource °´Ã¼. nullÀ» µ¹·ÁÁÖ´Â °Í¿¡ÀÇÇØ ±âÀú URI¿¡ ´ëÇÑ ½Ã½ºÅÛ ID¸¦ ÇØ°áÇØ, °á°úÀûÀ¸·Î ¾òÀ» ¼ö ÀÖ´Â URI¿¡ ¿¬°áÇϵµ·Ï Æļ­¿¡ Áö½ÃÇÑ´Ù
¿¹¿Ü:
SAXException - SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ ÇÏ°í ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Ù
IOException - »õ·Î¿î InputStream ³ª Reader, ¶Ç´Â ºÎÁ¤ÇÑ URL ÀÛ¼º ½ÇÆи¦ ³ªÅ¸³»°í ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Ù

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.