|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
public interface EntityResolver
¿£Æ¼Æ¼¸¦ ÇØ°áÇϱâ À§ÇÑ ±âº» ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.
ÀÌ ¸ðµâÀº ¿ø½Ã ÄÚµå, ¹®¼ ¸ðµÎ °ø°³ µµ¸ÞÀο¡ ³õ¿©Á® ÀÖ½À´Ï´Ù. µû¶ó¼, ³»¿ë¿¡ °üÇѺ¸ÁõÀº ÀÏÀý Á¦°øµÇÁö ¾Ê½À´Ï´Ù. »ó¼¼ÇÑ °Í¿¡ ´ëÇÏ¿©´Â http://www.saxproject.org ¸¦ ÂüÁ¶ÇϽʽÿÀ.
¿ÜºÎ ¿£Æ¼Æ¼ÀÇ Ä¿½ºÅÒ Ã³¸®¸¦ ±¸ÇöÇÒ Çʿ䰡 ÀÖ´Â °æ¿ì, SAX ¾îÇø®ÄÉÀ̼ÇÀº ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇØ, setEntityResolver
¸Þ¼µå¸¦ »ç¿ëÇØ SAX µå¶óÀ̹ö¿¡ ÀνºÅϽº¸¦ µî·ÏÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
±× ÈÄ, XML ¸®´õ¿¡ÀÇÇØ ¾îÇø®ÄÉÀ̼ÇÀº ¿ÜºÎ ¿£Æ¼Æ¼ (¿ÜºÎ DTD ºÎºÐÁýÇÕ, ¿ÜºÎ ÆÄ¶ó¸ÞÀÌŸ¿£Æ¼Æ¼¸¦ Æ÷ÇÔÇÑ´Ù)¸¦ ¼öÁß¿¡ ³Ö±â Àü¿¡ Â÷´ÜÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇØ¾ß ÇÏ´Â SAX ¾îÇø®ÄÉÀ̼ÇÀº ±×´ÙÁö ¾ø½À´Ï´Ù. ±×·¯³ª, ÀÌ ÀÎÅÍÆäÀ̽º´Â µ¥ÀÌŸº£À̽º³ª ±× ¿ÜÀÇ Æ¯¼öÇÑ ÀÔ·Â ¼Ò½º·ÎºÎÅÍ XML ¹®¼¸¦ ±¸ÃàÇÏ´Â °Í °°Àº ¾îÇø®ÄÉÀ̼Ç, ȤÀº URL ÀÌ¿ÜÀÇ URI ÇüÀ» »ç¿ëÇÏ´Â ¾îÇø®ÄÉÀ̼ǿ¡ ÀÖ¾î ¸Å¿ì À¯ÀÍÇÕ´Ï´Ù.
¾Æ·¡ÀÇ ¸®Àý¹ö´Â ½Ã½ºÅÛ ½Äº°ÀÚ ¡¸http://www.myhost.com/today¡¹¸¦ »ç¿ëÇØ, ¾îÇø®ÄÉÀ̼ǿ¡ ¿£Æ¼Æ¼ÀÇ Æ¯¼ö ¹®ÀÚ ½ºÆ®¸²À» Á¦°øÇÕ´Ï´Ù.
import org.xml.sax.EntityResolver; import org.xml.sax.InputSource; public class MyResolver implements EntityResolver { public InputSource resolveEntity (String publicId, String systemId) { if (systemId.equals("http://www.myhost.com/today")) { // return a special input source MyReader reader = new MyReader(); return new InputSource(reader); } else { // use the default behaviour return null; } } }
¾îÇø®ÄÉÀ̼ǵµ ¶Ç, ÀÌ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇØ ½Ã½ºÅÛ ½Äº°ÀÚ¸¦ ·ÎÄà URI¿¡ ¸®´ÙÀÌ·ºÆ® Çϰųª īŻ·Î±×³»ÀÇ Ä¡È¯Ä¡¸¦ °Ë»öÇϰųª (º¸Åë, °ø°³ ½Äº°ÀÚ¸¦ »ç¿ë) ÇÒ ¼ö ÀÖ½À´Ï´Ù.
XMLReader.setEntityResolver(org.xml.sax.EntityResolver)
,
InputSource
¸Þ¼µå °³¿ä | |
---|---|
InputSource |
resolveEntity (String publicId,
String systemId)
¾îÇø®ÄÉÀ̼ÇÀÌ ¿ÜºÎ ¿£Æ¼Æ¼¸¦ ÇØ°áÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù. |
¸Þ¼µåÀÇ »ó¼¼ |
---|
InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException
ÆÄ¼´Â Åé ·¹º§ÀÇ ¹®¼ ¿£Æ¼Æ¼¸¦ Á¦¿ÜÇÑ ¸ðµç ¿ÜºÎ ¿£Æ¼Æ¼¸¦ ¿±â Àü¿¡ ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¿£Æ¼Æ¼·Î¼ ¿ÜºÎ DTD ºÎºÐÁýÇÕÀ̳ª DTD ³»¿¡¼ ÂüÁ¶µÇ´Â ÆÄ¶ó¸ÞÀÌŸ¿£Æ¼Æ¼ (¾î´À ÂÊÀÇ °æ¿ìµµ, ÆÄ¼°¡ ¿ÜºÎ ÆÄ¶ó¸ÞÀÌŸ¿£Æ¼Æ¼¸¦ ÀоîµéÀÌ´Â °æ¿ì¸¸), ¹®¼ ¿ä¼Ò³»¿¡¼ ÂüÁ¶µÇ´Â ÀϹÝÀûÀÎ ¿ÜºÎ ¿£Æ¼Æ¼ (ÆÄ¼°¡ ÀϹÝÀûÀÎ ¿ÜºÎ ¿£Æ¼Æ¼¸¦ ÀоîµéÀÌ´Â °æ¿ì)°¡ ÀÖ½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº ÆÄ¼¿¡ ¿£Æ¼Æ¼ ÀÚüÀÇ °ËÃâ, ´ëü URI »ç¿ë, ¶Ç´Â ¾îÇø®ÄÉÀ̼ǿ¡ ÀÇÇØ Á¦°øµÇ´Â µ¥ÀÌÅÍÀÇ ¹®ÀÚ ¶Ç´Â ¹ÙÀÌÆ® ÀÔ·Â ½ºÆ®¸²·Î¼ÀÇ »ç¿ëÀ» ¿ä±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀÇ ÀÛ¼ºÀÚ´Â ÀÌ ¸Þ¼µå¸¦ »ç¿ëÇØ ¿ÜºÎ ½Ã½ºÅÛ ½Äº°ÀÚ¸¦ ¾ÈÀüÇÑ ·ÎÄà URI¿¡ ¸®´ÙÀÌ·ºÆ® Çϰųª īŻ·Î±×³»ÀÇ °ø°³ ½Äº°ÀÚ¸¦ °Ë»öÇϰųª µ¥ÀÌŸº£À̽º³ª ±× ¿ÜÀÇ ÀÔ·Â ¼Ò½º (¿¹¸¦ µé¾î ´ÙÀÌ¾Ë·Î±× ¹Ú½º)·ÎºÎÅÍ ¿£Æ¼Æ¼¸¦ Àо°Å³ª ÇÒ ¼ö ÀÖ½À´Ï´Ù. XMLµµ SAX µµ, °ø°³ ¶Ç´Â ½Ã½ºÅÛ ID¸¦ »ç¿ëÇØ ÀÚ¿øÀ» ÇØ°áÇϱâ À§ÇÑ ÀûÀýÇÑ Á¤Ã¥¸¦ ÁöÁ¤ÇÏÁö ¾Ê½À´Ï´Ù. ´Ù¸¸, SAX´Â ÀÌ ¸Þ¼µå¿¡ ÀÇÇØ ¸®ÅÏµÈ InputSource ÇØ¼® ¹æ¹ý°ú ¾Æ¹«°Íµµ µ¹·ÁÁÖ°íÁöÁö ¾Ê¾Ò´ø °æ¿ì´Â ½Ã½ºÅÛ ID°¡ URL ·Î¼ ¿ªÂüÁ¶µÇ´Â °ÍÀ» ÁöÁ¤ÇÕ´Ï´Ù.
½Ã½ºÅÛ ½Äº°ÀÚ°¡ URLÀÎ °æ¿ì, SAX ÆÄ¼´Â À̰ÍÀ» ¾îÇø®ÄÉÀ̼ǿ¡ º¸°íÇϱâ Àü¿¡ ¿ÏÀüÇÏ°Ô ÇØ°áÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
publicId
- ÂüÁ¶µÇ´Â ¿ÜºÎ ¿£Æ¼Æ¼ÀÇ °ø°³ ½Äº°ÀÚ. Á¦°øµÇÁö ¾Ê¾Ò´ø °æ¿ì´Â nullsystemId
- ÂüÁ¶µÇ´Â ¿ÜºÎ ¿£Æ¼Æ¼ÀÇ ½Ã½ºÅÛ ½Äº°ÀÚ
SAXException
- SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ Çϰí ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Ù
IOException
- Java °íÀ¯ÀÇ ÀÔÃâ·Â ¿¹¿Ü. º¸Åë, InputSource
»õ·Î¿î InputStream ¶Ç´Â Reader°¡ »ý¼ºµÇ¸é ¹ß»ýÇÏ´ÂInputSource
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.