|
|||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||
°³¿ä: ³»ºÎ Ŭ·¡½º | Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå |
ContentHandler
ÀÎÅÍÆäÀ̽º·Î ¿Å°Ü³õÀ» ¼ö ÀÖ°í ÀÖ½À´Ï´Ù.
ÀϹÝÀûÀÎ ¹®¼ À̺¥Æ®ÀÇ ÅëÁö¸¦ ¹Þ½À´Ï´Ù.
ÀÌ ¸ðµâÀº, ¿ø½Ã ÄÚµå, ¹®¼ ¸ðµÎ °ø°³ µµ¸ÞÀο¡ ³õ¿©Á® ÀÖ½À´Ï´Ù. µû¶ó¼, ³»¿ë¿¡ °üÇÑÇÁ·ÎÅØ¼ÇÀº ÀÏÀý Á¦°øµÇÁö ¾Ê½À´Ï´Ù.
À̰ÍÀº, SAX1, SAX2 ÀÇ ¸ÞÀÎ À̺¥Æ® ó¸® ÀÎÅÍÆäÀ̽º¿´Áö¸¸, À̸§ °ø°£ ±â´É°ú ½ºÅµ µÈ ¿£Æ¼Æ¼ÀÇ º¸°í ±â´ÉÀ» ¼Æ÷Æ®ÇÏ´Â ContentHandler
·Î ¿Å°Ü³õÀ» ¼ö ÀÖ¾ú½À´Ï´Ù. ÀÌ ÀÎÅÍÆäÀ̽º´Â, SAX1 ÀÇ À¯»ê ¾îÇø®ÄÉÀ̼ÇÀÇ ¼Æ÷Æ® Àü¿ëÀ¸·Î¼ SAX2 ¿¡ Æ÷ÇÔÇÒ ¼ö ÀÖ°í ÀÖ½À´Ï´Ù.
ÀÌ ÀÎÅÍÆäÀ̽º³»ÀÇ À̺¥Æ®ÀÇ ¼ø¼´Â, ¹®¼ ÀÚü¿¡ Æ÷ÇԵǴ Á¤º¸ÀÇ ¼ø¼¸¦ ¹Ð·¯ÈÇÑ °ÍÀ̾î, ¸Å¿ì Áß¿äÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ¾î´À ¿ä¼ÒÀÇ ÀüÄÁÅÙÃ÷ (ij¸¯ÅÍ µ¥ÀÌÅÍ, ó¸® ÀνºÆ®·°¼Ç, ¼ºê ¿ä¼Òµî)´Â, startElement À̺¥Æ®¿Í À̰Ϳ¡ ´ëÀÀÇÏ´Â endElement À̺¥Æ®ÀÇ »çÀÌ¿¡ Â÷·Ê·Î ´Ã¾î³õÀ» ¼ö ÀÖ½À´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀÇ ÀÛ¼ºÀÚ´Â, ÀÎÅÍÆäÀ̽º Àüü¸¦ ½ÇÀåÇÒ Çʿ䰡 ¾ø´Â °æ¿ì´Â, µðÆúÆ® ±â´ÉÀ» ½ÇÀåÇÏ´Â HandlerBase ·ÎºÎÅÍ Å¬·¡½º¸¦ ÆÄ»ýÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÆÄ¼ÀÇ ÀÛ¼ºÀÚ´Â, HandlerBase ¸¦ ÀνºÅϽºÈÇØ µðÆúÆ® Çڵ鷯¸¦ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº, Parser °¡ Á¦°øÇÏ´Â Locator ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇØ, setDocumentLocator ¸Þ¼Òµå·ÎºÎÅÍ ÀÓÀÇÀÇ ¹®¼ À̺¥Æ®ÀÇ À§Ä¡¸¦ ¹àÇô³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.
Parser.setDocumentHandler(org.xml.sax.DocumentHandler)
,
Locator
,
HandlerBase
¸Þ¼ÒµåÀÇ °³¿ä | |
void |
characters (char[] ch,
int start,
int length)
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ij¸¯ÅÍ µ¥ÀÌÅÍÀÇ ÅëÁö¸¦ ¹Þ½À´Ï´Ù. |
void |
endDocument ()
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ¹®¼ÀÇ Á¾·á ÅëÁö¸¦ ¹Þ½À´Ï´Ù. |
void |
endElement (java.lang.String name)
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ¿ä¼ÒÀÇ Á¾·á ÅëÁö¸¦ ¹Þ½À´Ï´Ù. |
void |
ignorableWhitespace (char[] ch,
int start,
int length)
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ¿ä¼Ò ÄÁÅÙÃ÷¿¡ Æ÷ÇԵǴ ¹«½ÃÇÒ ¼ö ÀÖ´Â °ø¹é ij¸¯ÅÍÀÇ ÅëÁö¸¦ ¹Þ½À´Ï´Ù. |
void |
processingInstruction (java.lang.String target,
java.lang.String data)
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ó¸® ÀνºÆ®·°¼ÇÀÇ ÅëÁö¸¦ ¹Þ½À´Ï´Ù. |
void |
setDocumentLocator (Locator locator)
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. SAX ¹®¼ À̺¥Æ®ÀÇ ¹ß»ý¿øÀ» ƯÁ¤ÇÏ´Â ¿ÀºêÁ§Æ®¸¦ ¹Þ½À´Ï´Ù. |
void |
startDocument ()
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ¹®¼ÀÇ °³½Ã ÅëÁö¸¦ ¹Þ½À´Ï´Ù. |
void |
startElement (java.lang.String name,
AttributeList atts)
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ¿ä¼ÒÀÇ °³½Ã ÅëÁö¸¦ ¹Þ½À´Ï´Ù. |
¸Þ¼ÒµåÀÇ »ó¼¼ |
public void setDocumentLocator(Locator locator)
locator°¡ ÇÊ¿äÇÑ °æ¿ì´Â, Çʼö Á¶°ÇÀÌ ¾Æ´Õ´Ï´Ù¸¸, SAX ÆÄ¼¸¦ »ç¿ëÇÏ´Â °ÍÀ» °ÇÏ°Ô ÃßõÇÕ´Ï´Ù. SAX ÆÄ¼´Â, DocumentHandler ÀÎÅÍÆäÀ̽º³»ÀÇ ¾î´À ¸Þ¼Òµåº¸´Ù ¸ÕÀú ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇØ, ¾îÇø®ÄÉÀ̼ǿ¡ locator¸¦ Á¦°øÇÕ´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀº, locator¸¦ ÀÌ¿ëÇØ, ÆÄ¼°¡ ¿¡·¯¸¦ º¸°íÇÏÁö ¾Ê´Â °æ¿ì¿¡¼µµ ¹®¼ °ü·Ã À̺¥Æ®ÀÇ Á¾·á À§Ä¡¸¦ ƯÁ¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. Åë»ó, ¾îÇø®ÄÉÀ̼ÇÀº ÀÌ Á¤º¸¸¦ »ç¿ëÇØ °íÀ¯ÀÇ ¿¡·¯ (ij¸¯ÅÍ ÄÁÅÙÃ÷°¡ ¾îÇø®ÄÉÀ̼ÇÀÇ ±â´É ±ÔÄ¢¿¡ µû¸£Áö ¾ÊÀº µî)¸¦ º¸°íÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î, locator·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁö´Â Á¤º¸´Â ºÒÃæºÐÇϰí, °Ë»ö ¿£Áø¿¡¼ÀÇ »ç¿ë¿¡ ÀûÀýÇϰí ÀÖÁö ¾Ê½À´Ï´Ù.
locator°¡ ¿Ã¹Ù¸¥ Á¤º¸¸¦ µ¹·ÁÁÖ´Â °ÍÀº, ÀÌ ÀÎÅÍÆäÀ̽º³»¿¡¼ À̺¥Æ® È£ÃâÀ» Çϰí ÀÖ´Â µ¿¾È¸¸ÀÔ´Ï´Ù. ±× ÀÌ¿Ü ¶§, ¾îÇø®ÄÉÀ̼ÇÀ¸·Î locatorÀÇ Á¤º¸¸¦ ÀÌ¿ëÇØ¾ß ÇÏ´Â °ÍÀÌ ¾Æ´Õ´Ï´Ù.
locator
- SAX ¹®¼ À̺¥Æ®ÀÇ À§Ä¡¸¦ µ¹·ÁÁÖ´Â ¿ÀºêÁ§Æ®Locator
public void startDocument() throws SAXException
SAX ÆÄ¼´Â, ÀÌ ¸Þ¼Òµå¸¦ ÀÌ ÀÎÅÍÆäÀ̽º³» ¶Ç´Â DTDHandler ³»ÀÇ ¾î´À ¸Þ¼Òµåº¸´Ù ¸ÕÀú, 1 ȸ¸¸ È£ÃâÇÕ´Ï´Ù (setDocumentLocator ¸¦ Á¦¿ÜÇÑ´Ù).
SAXException
- SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ Çϰí ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Ùpublic void endDocument() throws SAXException
SAX ÆÄ¼´Â, ÀÌ ¸Þ¼Òµå¸¦ ±¸¹® ºÐ¼®ÀÇ ¸¶Áö¸·¿¡ 1 ȸ¸¸ È£ÃâÇÕ´Ï´Ù. ȸº¹ ºÒ´ÉÀÎ ¿¡·¯¿¡ ÀÇÇØ ±¸¹® ºÐ¼®ÀÌ µµÁß¿¡ ÆÄ±âµÇ´ÂÁö, ÀÔ·ÂÀÌ Á¾·áÇÒ ¶§±îÁö, ÀÌ ¸Þ¼Òµå´Â ºÒ·Á °¡Áö ¾Ê½À´Ï´Ù.
SAXException
- SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ Çϰí ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Ùpublic void startElement(java.lang.String name, AttributeList atts) throws SAXException
ÆÄ¼´Â XML ¹®¼³»ÀÇ °¢ ¿ä¼ÒÀÇ ÀüÀ¸·Î ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. °¢ startElement() À̺¥Æ®¿¡´Â ´ëÀÀÇÏ´Â endElement() À̺¥Æ®°¡ ÀÖ½À´Ï´Ù. À̰ÍÀº, ¿ä¼Ò°¡ ÇÏ´ÃÀÎ °æ¿ìµµ ¹Ù²îÁö ¾Ê½À´Ï´Ù. ´ëÀÀÇÏ´Â endElement() À̺¥Æ®ÀÇ Àü¿¡, ¿ä¼ÒÀÇ ÄÁÅÙÃ÷ ÀüºÎ°¡ Â÷·Ê·Î º¸°íµË´Ï´Ù.
¿ä¼Ò¸í¿¡ À̸§ °ø°£ ¼ö½ÄÀÚ°¡ ºÙ¾î À־, ÀÏÀü¿¡Ä¡¼ö½ÄÀÚ°¡ »èÁ¦µÉ °ÍÀº ¾ø½À´Ï´Ù. Á¦°øµÇ´Â ¼Ó¼º ¸®½ºÆ®¿¡´Â, ¸í½ÃÀûÀÎ °ª (ÁöÁ¤µÈ °ª ¶Ç´Â µðÆúƮġ)À» °¡Áö´Â ¼Ó¼º¸¸ÀÌ Æ÷ÇԵ˴ϴÙ. #IMPLIED ¼Ó¼ºÀº Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.
name
- ¿ä¼ÒÇü¸íatts
- ¿ä¼Ò¿¡ ºÎ°¡µÈ ¼Ó¼º (Á¸ÀçÇÏ´Â °æ¿ì)SAXException
- SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ Çϰí ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´ÂendElement(java.lang.String)
,
AttributeList
public void endElement(java.lang.String name) throws SAXException
SAX ÆÄ¼´Â, XML ¹®¼³»ÀÇ °¢ ¿ä¼ÒÀÇ ¸¶Áö¸·¿¡ ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. °¢ endElement() À̺¥Æ®¿¡´Â ´ëÀÀÇÏ´Â startElement() À̺¥Æ®°¡ ÀÖ½À´Ï´Ù. À̰ÍÀº, ¿ä¼Ò°¡ ÇÏ´ÃÀÎ °æ¿ìµµ ¹Ù²îÁö ¾Ê½À´Ï´Ù.
¿ä¼Ò¸í¿¡ À̸§ °ø°£¾ÕÄ¡¼ö½ÄÀÚ°¡ ºÙ¾î À־, ÀÏÀü¿¡Ä¡¼ö½ÄÀÚ°¡ »èÁ¦µÉ °ÍÀº ¾ø½À´Ï´Ù.
name
- ¿ä¼ÒÇü¸íSAXException
- SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ Çϰí ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Ùpublic void characters(char[] ch, int start, int length) throws SAXException
ÆÄ¼´Â, ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇØ, °¢ ij¸¯ÅÍ µ¥ÀÌŸüũ¸¦ º¸°íÇÕ´Ï´Ù. SAX ÆÄ¼´Â, ¿¬¼ÓÇϴ ij¸¯ÅÍ µ¥ÀÌÅ͸¦ ´ÜÀÏÀÇ Ã¼Å©·Î¼ ¶Ç´Â ¸î°³ÀÇ Ã¼Å©¿¡ ºÐÇÒÇØ µ¹·ÁÁÝ´Ï´Ù. ´Ù¸¸, locator·ÎºÎÅÍ À¯ÀÍÇÑ Á¤º¸¸¦ ¾ò±â À§Çؼ(¶§¹®¿¡)´Â, ´ÜÀÏÀÇ À̺¥Æ®¿¡ Æ÷ÇԵǴ ij¸¯ÅͰ¡ ¸ðµÎ °°Àº ¿ÜºÎ ¿£Æ¼Æ¼ÀÇ °ÍÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀº, ÁöÁ¤µÈ ¹üÀ§¿ÜÀÇ ¹è¿À» Àо ¼ö ¾ø½À´Ï´Ù.
ÀϺÎÀÇ ÆÄ¼´Â, ÀÌ ¸Þ¼Òµå´Â ¾Æ´Ï°í ignorableWhitespace() ¸Þ¼Òµå¸¦ »ç¿ëÇØ, ¿ä¼Ò ÄÁÅÙÃ÷¿¡ Æ÷ÇԵǴ °ø¹é ij¸¯Å͸¦ º¸°íÇÕ´Ï´Ù. À̰ÍÀº, Ÿ´ç¼ºÀ» °Ë»çÇÏ´Â ÆÄ¼¿¡ ÇʼöÀÇ ±â´ÉÀÔ´Ï´Ù.
ch
- XML ¹®¼ÀÇ Ä³¸¯ÅÍstart
- ¹è¿³»ÀÇ °³½Ã À§Ä¡length
- ¹è¿·ÎºÎÅÍ ÀоÁö´Â ij¸¯ÅͼöSAXException
- SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ Çϰí ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´ÂignorableWhitespace(char[], int, int)
,
Locator
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException
Ÿ´ç¼ºÀ» °Ë»çÇÏ´Â ÆÄ¼´Â, ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇØ, ¹«½ÃÇÒ ¼ö ÀÖ´Â °ø¹é ij¸¯ÅÍÀÇ Ã¼Å©¸¦ º¸°íÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù (W3C XML 1.0 ±Ç°í ¼½¼Ç 2.10 À» ÂüÁ¶). Ÿ´ç¼ºÀ» °Ë»çÇÏÁö ¾Ê´Â ÆÄ¼µµ, ÄÁÅÙÃ÷ ¸ðµ¨ÀÇ ±¸¹® ºÐ¼® ¹× ÀÌ¿ëÀÌ °¡´ÉÇÑ °æ¿ì´Â, ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
SAX ÆÄ¼´Â, ¿¬¼ÓÇÏ´Â ¸ðµç °ø¹é ij¸¯Å͸¦ ´ÜÀÏÀÇ Ã¼Å©·Î¼ ¶Ç´Â º¹¼öÀÇ Ã¼Å©¿¡ ºÐÇÒÇØ µ¹·ÁÁÝ´Ï´Ù. ´Ù¸¸, locator·ÎºÎÅÍ À¯ÀÍÇÑ Á¤º¸¸¦ ¾ò±â À§Çؼ(¶§¹®¿¡)´Â, ´ÜÀÏÀÇ À̺¥Æ®¿¡ Æ÷ÇԵǴ ij¸¯ÅͰ¡ ¸ðµÎ °°Àº ¿ÜºÎ ¿£Æ¼Æ¼ÀÇ °ÍÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀº, ÁöÁ¤µÈ ¹üÀ§¿ÜÀÇ ¹è¿À» Àо ¼ö ¾ø½À´Ï´Ù.
ch
- XML ¹®¼ÀÇ Ä³¸¯ÅÍstart
- ¹è¿³»ÀÇ °³½Ã À§Ä¡length
- ¹è¿·ÎºÎÅÍ ÀоÁö´Â ij¸¯ÅͼöSAXException
- SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ Çϰí ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Âcharacters(char[], int, int)
public void processingInstruction(java.lang.String target, java.lang.String data) throws SAXException
ÆÄ¼´Â, ó¸® ÀνºÆ®·°¼ÇÀ» °ËÃâÇÒ ¶§¸¶´Ù 1 ȸ¾¿ ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. ó¸® ÀνºÆ®·°¼ÇÀº, ¸ÞÀÎÀÇ ¹®¼ ¿ä¼ÒÀÇ ÀüÈÄ¿¡ Á¸ÀçÇÒ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.
SAX ÆÄ¼°¡, ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇØ XML ¼±¾ðÀ» º¸°íÇÒ °ÍÀº ¾ø½À´Ï´Ù (XML 1.0, ¼½¼Ç 2.8). ¶Ç, ÅØ½ºÆ® ¼±¾ðÀ» º¸°íÇÏ´Â Àϵµ ¾ø½À´Ï´Ù (XML 1.0, ¼½¼Ç 4.3. 1).
target
- ó¸® ÀνºÆ®·°¼ÇÀÇ Å¸°Ùdata
- ó¸® ÀνºÆ®·°¼Ç µ¥ÀÌÅÍ. µ¥ÀÌÅͰ¡ Á¦°øµÇÁö ¾Ê¾Ò´ø °æ¿ì´Â nullSAXException
- SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ Çϰí ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Ù
|
|||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||
°³¿ä: ³»ºÎ Ŭ·¡½º | Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå |