|
|||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||
°³¿ä: ³»ºÎ Ŭ·¡½º | Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå |
XMLReader
ÀÎÅÍÆäÀ̽º·Î ¿Å°Ü³õÀ» ¼ö ÀÖ°í ÀÖ½À´Ï´Ù.
SAX (Simple API for XML) ÆÄ¼ÀÇ ±âº» ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.
ÀÌ ¸ðµâÀº, ¿ø½Ã ÄÚµå, ¹®¼ ¸ðµÎ °ø°³ µµ¸ÞÀο¡ ³õ¿©Á® ÀÖ½À´Ï´Ù. µû¶ó¼, ³»¿ë¿¡ °üÇÑÇÁ·ÎÅØ¼ÇÀº ÀÏÀý Á¦°øµÇÁö ¾Ê½À´Ï´Ù.
SAX1 ÀÇ ¸ÞÀÎÀÇ À̺¥Æ® Á¦°ø ÀÎÅÍÆäÀ̽º¿´Áö¸¸, SAX2 ·Î, À̸§ °ø°£ ±â´É°ú °íµµÀÇ ±¸¼º ¹× È®Àå ±â´ÉÀ» ¼Æ÷Æ®ÇÏ´Â XMLReader
·Î ¿Å°ÜÁ³½À´Ï´Ù.
¸ðµç SAX1 ÆÄ¼´Â, ÀÌ ±âº» ÀÎÅÍÆäÀ̽º¸¦ ½ÇÀåÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº, ´Ù¾çÇÑ ÇüÅÂÀÇ À̺¥Æ® Çڵ鷯¸¦ µî·ÏÇÒ ¶§³ª, URI ¶Ç´Â ij¸¯ÅÍ ½Ã³Á¹°·ÎºÎÅÍ ±¸¹® ºÐ¼®À» °³½ÃÇÒ ¶§¿¡ ÀÌ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÕ´Ï´Ù.
¸ðµç SAX1 ÆÄ¼´Â, Àμö ¾øÀ½ÀÇ constructor¡¡ ¡¡ µµ ½ÇÀåÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù (±× ¿ÜÀÇ constructor¡¡ ¡¡ µµ »ç¿ë °¡´É).
SAX1 ÆÄ¼´Â ÀçÀÌ¿ë °¡´ÉÇÕ´Ï´Ù¸¸, ÀçÀÔ ºÒ°¡´ÉÇÕ´Ï´Ù. Áï ÃÖÃÊÀÇ ±¸¹® ºÐ¼®ÀÌ Á¾·áÇϸé(ÀÚ), ¾îÇø®ÄÉÀ̼ÇÀº ÆÄ¼ ¿ÀºêÁ§Æ®¸¦ ÀçÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸ (´Ù¸¥ ÀÔ·Â ¼Ò½º¿¡¼ÀÇ ÀçÀ̿뵵 °¡´É), 1 ȸÀÇ ±¸¹® ºÐ¼®À¸·Î parse() ¸Þ¼Òµå¸¦ ¹Ýº¹ÇØ È£ÃâÇÒ ¼ö ¾ø½À´Ï´Ù.
EntityResolver
,
DTDHandler
,
DocumentHandler
,
ErrorHandler
,
HandlerBase
,
InputSource
¸Þ¼ÒµåÀÇ °³¿ä | |
void |
parse (InputSource source)
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. XML ¹®¼¸¦ ±¸¹® ºÐ¼® ÇÕ´Ï´Ù. |
void |
parse (java.lang.String systemId)
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ½Ã½ºÅÛ ½Äº°ÀÚ (URI)·ÎºÎÅÍ XML ¹®¼¸¦ ±¸¹® ºÐ¼® ÇÕ´Ï´Ù. |
void |
setDocumentHandler (DocumentHandler handler)
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ǿ¡ ¹®¼ À̺¥Æ® Çڵ鷯ÀÇ µî·ÏÀ» Çã°¡ÇÕ´Ï´Ù. |
void |
setDTDHandler (DTDHandler handler)
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ǿ¡ DTD À̺¥Æ® Çڵ鷯ÀÇ µî·ÏÀ» Çã°¡ÇÕ´Ï´Ù. |
void |
setEntityResolver (EntityResolver resolver)
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ǿ¡ Ä«½ºÅ½¿£Æ¼Æ¼¸®Á¶¸£¹ÙÀÇ µî·ÏÀ» Çã°¡ÇÕ´Ï´Ù. |
void |
setErrorHandler (ErrorHandler handler)
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ǿ¡ ¿¡·¯ À̺¥Æ® Çڵ鷯ÀÇ µî·ÏÀ» Çã°¡ÇÕ´Ï´Ù. |
void |
setLocale (java.util.Locale locale)
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ǿ¡ ¿¡·¯³ª °æ°íÀÇ ·ÎÄÉÀÏÀÇ ¿ä±¸¸¦ Çã°¡ÇÕ´Ï´Ù. |
¸Þ¼ÒµåÀÇ »ó¼¼ |
public void setLocale(java.util.Locale locale) throws SAXException
SAX ÆÄ¼´Â ¿¡·¯ ¹× °æ°íÀÇ Áö¿ª ´ëÀÀÀ» Àǹ«Áö¿öÁö°í ÀÖÁö ¾Ê½À´Ï´Ù. ±×·¯³ª, ¿ä±¸µÈ ·ÎÄÉÀÏÀ» ¼Æ÷Æ®Çϰí ÀÖÁö ¾Ê´Â °æ¿ì´Â SAX ¿¹¿Ü¸¦ ½½·Î¿ì ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ±¸¹® ºÐ¼®ÁßÀº, ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ·ÎÄÉÀÏÀÇ º¯°æÀ» ¿ä±¸ÇÒ ¼ö ¾ø½À´Ï´Ù.
locale
- Java Locale ¿ÀºêÁ§Æ®SAXException
- ¿ä±¸µÈ ·ÎÄÉÀÏÀÌ ¼Æ÷Æ®µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, ÀÌÀüÀÇ (µðÆúÆ®ÀÇ) ·ÎÄÉÀÏÀ» »ç¿ëÇØ ¿¹¿Ü¸¦ ½½·Î¿ìSAXException
,
SAXParseException
public void setEntityResolver(EntityResolver resolver)
¾îÇø®ÄÉÀ̼ÇÀÌ ¿£Æ¼Æ¼¸®Á¶¸£¹Ù¸¦ µî·ÏÇÏÁö ¾ÊÀ¸¸é SAX ÆÄ¼´Â ½Ã½ºÅÛ ½Äº°ÀÚ¸¦ ÇØ°áÇØ, ¿£Æ¼Æ¼ ÀÚü¿¡ÀÇ Á¢¼ÓÀ» °³½ÃÇÕ´Ï´Ù (HandlerBase ÀÇ µðÆúÆ®ÀÇ µ¿ÀÛ ½ÇÀå).
¾îÇø®ÄÉÀ̼ÇÀº, ±¸¹® ºÐ¼®Áßµµ »õ·Î¿î ¿£Æ¼Æ¼¸®Á¶¸£¹Ù¸¦ µî·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù. »õ·Î¿î resolver°¡ µî·ÏµÇ¸é(ÀÚ), SAX ÆÄ¼´Â Áï½Ã ÀÌ resolverÀÇ »ç¿ëÀ» °³½ÃÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
resolver
- ÇØ°áÇÏ´Â ¿£Æ¼Æ¼ÀÇ ¿ÀºêÁ§Æ®EntityResolver
,
HandlerBase
public void setDTDHandler(DTDHandler handler)
¾îÇø®ÄÉÀ̼ÇÀÌ DTD Çڵ鷯¸¦ µî·ÏÇÏÁö ¾ÊÀ¸¸é SAX ÆÄ¼°¡ º¸°íÇÏ´Â ¸ðµç DTD À̺¥Æ®´Â ¾Æ¹« ÅëÁöµµ ¾ø°Ô ¹«½ÃµË´Ï´Ù (HandlerBase ÀÇ µðÆúÆ®ÀÇ µ¿ÀÛ ½ÇÀå).
¾îÇø®ÄÉÀ̼ÇÀº, ±¸¹® ºÐ¼®Áßµµ »õ·Î¿î Çڵ鷯¸¦ µî·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù. »õ·Î¿î Çڵ鷯°¡ µî·ÏµÇ¸é(ÀÚ), SAX ÆÄ¼´Â Áï½Ã ÀÌ Çڵ鷯ÀÇ »ç¿ëÀ» °³½ÃÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
handler
- DTD Çڵ鷯DTDHandler
,
HandlerBase
public void setDocumentHandler(DocumentHandler handler)
¾îÇø®ÄÉÀ̼ÇÀÌ ¹®¼ Çڵ鷯¸¦ µî·ÏÇÏÁö ¾ÊÀ¸¸é SAX ÆÄ¼°¡ º¸°íÇÏ´Â ¸ðµç ¹®¼ À̺¥Æ®´Â ¾Æ¹« ÅëÁöµµ ¾ø°Ô ¹«½ÃµË´Ï´Ù (HandlerBase ÀÇ µðÆúÆ®ÀÇ µ¿ÀÛ ½ÇÀå).
¾îÇø®ÄÉÀ̼ÇÀº, ±¸¹® ºÐ¼®Áßµµ »õ·Î¿î Çڵ鷯¸¦ µî·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù. »õ·Î¿î Çڵ鷯°¡ µî·ÏµÇ¸é(ÀÚ), SAX ÆÄ¼´Â Áï½Ã ÀÌ Çڵ鷯ÀÇ »ç¿ëÀ» °³½ÃÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
handler
- ¹®¼ Çڵ鷯DocumentHandler
,
HandlerBase
public void setErrorHandler(ErrorHandler handler)
¾îÇø®ÄÉÀ̼ÇÀÌ ¿¡·¯ À̺¥Æ® Çڵ鷯¸¦ µî·ÏÇÏÁö ¾ÊÀ¸¸é SAX ÆÄ¼°¡ º¸°íÇÏ´Â ¿¡·¯ À̺¥Æ®´Â ¾Æ¹« ÅëÁöµµ ¾ø°Ô ¹«½ÃµË´Ï´Ù. ´Ù¸¸, fatalError ¸¸ÀÏ ¼ö ÀÖ´ÂÀº ¿¹¿ÜÀÔ´Ï´Ù. ÀÌ ¿¡·¯ À̺¥Æ®´Â SAXException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù (HandlerBase ÀÇ µðÆúÆ®ÀÇ µ¿ÀÛ ½ÇÀå).
¾îÇø®ÄÉÀ̼ÇÀº, ±¸¹® ºÐ¼®Áßµµ »õ·Î¿î Çڵ鷯¸¦ µî·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù. »õ·Î¿î Çڵ鷯°¡ µî·ÏµÇ¸é(ÀÚ), SAX ÆÄ¼´Â Áï½Ã ÀÌ Çڵ鷯ÀÇ »ç¿ëÀ» °³½ÃÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
handler
- ¿¡·¯ Çڵ鷯ErrorHandler
,
SAXException
,
HandlerBase
public void parse(InputSource source) throws SAXException , java.io.IOException
¾îÇø®ÄÉÀ̼ÇÀº, ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇØ, À¯È¿ÇÑ ÀÓÀÇÀÇ ÀÔ·Â ¼Ò½º (ij¸¯ÅÍ ½Ã³Á¹°, ¾Æ¸£¹ÙÀÌÆ® ½Ã³Á¹°, ¶Ç´Â URI)·ÎºÎÅÍ XML ¹®¼ÀÇ ±¸¹® ºÐ¼®À» °³½ÃÇϵµ·Ï(µíÀÌ) SAX ÆÄ¼¿¡ Áö½Ã¸¦ º¸³À´Ï´Ù.
±¸¹® ºÐ¼®ÁßÀº, ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÒ ¼ö ¾ø½À´Ï´Ù. Ãß°¡ÇÏ´Â XML ¹®¼°¡ ÀÖ´Â °æ¿ì´Â ±× 1 °³(»ì) 1 °³(»ì)¿¡ »õ·Î¿î Parser ¸¦ ÀÛ¼ºÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ±¸¹® ºÐ¼®ÀÌ ¿Ï·áÇϸé(ÀÚ), °°Àº Parser ¿ÀºêÁ§Æ®¸¦ ÀçÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ ÀÔ·Â ¼Ò½º¿¡¼ÀÇ ÀçÀ̿뵵 °¡´ÉÇÕ´Ï´Ù.
source
- XML ¹®¼ÀÇ Åé ·¹º§ÀÇ ÀÔ·Â ¼Ò½ºÀÔ´Ï´Ù. SAXException
- SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ Çϰí ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Âjava.io.IOException
- ÆÄ¼·ÎºÎÅÍÀÇ IO ¿¹¿Ü. Åë»ó, ¾îÇø®ÄÉÀ̼ÇÀÌ Á¦°øÇÏ´Â ¾Æ¸£¹ÙÀÌÆ® ½Ã³Á¹° ¶Ç´Â ij¸¯ÅÍ ½Ã³Á¹°·ÎºÎÅÍÀÇ ¿¹¿ÜInputSource
,
parse(java.lang.String)
,
setEntityResolver(org.xml.sax.EntityResolver)
,
setDTDHandler(org.xml.sax.DTDHandler)
,
setDocumentHandler(org.xml.sax.DocumentHandler)
,
setErrorHandler(org.xml.sax.ErrorHandler)
public void parse(java.lang.String systemId) throws SAXException , java.io.IOException
ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇϸé, ½Ã½ºÅÛ ½Äº°ÀڷκÎÅÍ °£´ÜÇÏ°Ô ¹®¼¸¦ Àо ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌÇÏÀÇ ÁöÁ¤¿¡¼µµ °°Àº °ÍÀÌ »ý±é´Ï´Ù.
parse(new InputSource(systemId));
½Ã½ºÅÛ ½Äº°ÀÚ°¡ URL ÀÇ °æ¿ì, ¾îÇø®ÄÉÀ̼ÇÀº À̰ÍÀ» ÆÄ¼¿¡ °Ç³×ÁÖ±â Àü¿¡ ¿ÏÀüÇÏ°Ô ÇØ°áÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
systemId
- ½Ã½ºÅÛ ½Äº°ÀÚ (URI)SAXException
- SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ Çϰí ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Âjava.io.IOException
- ÆÄ¼·ÎºÎÅÍÀÇ IO ¿¹¿Ü. Åë»ó, ¾îÇø®ÄÉÀ̼ÇÀÌ Á¦°øÇÏ´Â ¾Æ¸£¹ÙÀÌÆ® ½Ã³Á¹° ¶Ç´Â ij¸¯ÅÍ ½Ã³Á¹°·ÎºÎÅÍÀÇ ¿¹¿Üparse(org.xml.sax.InputSource)
|
|||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||
°³¿ä: ³»ºÎ Ŭ·¡½º | Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå |