|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
public interface ContentHandler
¹®¼ÀÇ ³í¸® ÄÁÅÙÃ÷ÀÇ ÅëÁö¸¦ ¹Þ½À´Ï´Ù.
ÀÌ ¸ðµâÀº ¿ø½Ã ÄÚµå, ¹®¼ ¸ðµÎ °ø°³ µµ¸ÞÀο¡ ³õ¿©Á® ÀÖ½À´Ï´Ù. µû¶ó¼, ³»¿ë¿¡ °üÇѺ¸ÁõÀº ÀÏÀý Á¦°øµÇÁö ¾Ê½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº http://www.saxproject.org ¸¦ ÂüÁ¶ÇϽʽÿÀ.
´ëºÎºÐÀÇ SAX ¾îÇø®ÄÉÀ̼ÇÀÌ, ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϰí ÀÖ½À´Ï´Ù. Ç¥ÁØÀÇ ±¸¹® ºÐ¼® À̺¥Æ®ÀÇ ÅëÁö¸¦ ¹ÞÀ» Çʿ䰡 ÀÖ´Â °æ¿ì, ¾îÇø®ÄÉÀ̼ÇÀº ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇØ, org.xml.sax.XMLReader#setContentHandler setContentHandler ¸Þ¼µå¸¦ »ç¿ëÇØ ÀνºÅϽº¸¦ SAX ÆÄ¼¿¡ µî·ÏÇÕ´Ï´Ù. ÆÄ¼´Â ÀÌ ÀνºÅϽº¸¦ »ç¿ëÇØ, ¿ä¼Ò³ª ¹®ÀÚ µ¥ÀÌÅÍÀÇ °³½Ã, Á¾·á¶ó°í Çϴ ǥÁØÀÇ ¹®¼ °ü·Ã À̺¥Æ®¸¦ º¸°íÇÕ´Ï´Ù.
ÀÌ ÀÎÅÍÆäÀ̽º³»ÀÇ À̺¥Æ®ÀÇ ¼ø¼´Â ¹®¼ ÀÚü¿¡ Æ÷ÇԵǴ Á¤º¸ÀÇ ¼ø¼¸¦ ¹Ð·¯ÈÇÑ °ÍÀ̾î, ¸Å¿ì Áß¿äÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ¾î´À ¿ä¼ÒÀÇ ¸ðµç ÄÁÅÙÃ÷ (¹®ÀÚ µ¥ÀÌÅÍ, ó¸® ¸í·É, ¼ºê ¿ä¼Òµî)´Â startElement À̺¥Æ®¿Í À̰Ϳ¡ ´ëÀÀÇÏ´Â endElement À̺¥Æ®ÀÇ »çÀÌ¿¡ Â÷·Ê·Î ´Ã¾î³õÀ» ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ÀÎÅÍÆäÀ̽º´Â ÇöÀç´ÂºñÃßõÀ¸·Î °¡¸®Å°´Â SAX 1.0 DocumentHandler ÀÎÅÍÆäÀ̽º¿Í ´à¾Æ ÀÖ½À´Ï´Ù¸¸, »õ·Ó°Ô À̸§ °ø°£ÀÇ Áö¿ø¿Í Ÿ´ç¼ºÀ» °ËÁõÇÏÁö ¾Ê´Â XML ÇÁ·Î¼¼¼·Î ½ºÅµ µÈ ½ÇüÀÇ º¸°íÀÇ Áö¿ø°¡ Ãß°¡µÇ°í ÀÖ½À´Ï´Ù.
±¸ÇöÀÚ´Â java.net
ÆÐŰÁö¿¡ ContentHandler
Ŭ·¡½º°¡ Æ÷ÇԵǾî ÀÖ´Â Á¡À» °í·ÁÇØ, ´ÙÀ½°ú °°Àº 󸮴 ¹Ýµå½Ã ÇÇÇØ ÁÖ¼¼¿ä.
import java.net. *; import org.xml.sax. *;
º¸Åë, ¡¸import ...*¡¹¸¦ »ç¿ëÇÑ ÇÁ·Î±×·¥Àº ¾û¼ºÇÑ (sloppy) ÇÁ·Î±×·¥À̶ó°í º¸¿©Áý´Ï´Ù. »ç¿ëÀÚ´Â ¹ö±×º¸´Ù ÀÌ Á¡¿¡ ÁÖÀ§¸¦ ±â¿ïÀÏ Çʿ䰡 ÀÖ½À´Ï´Ù.
XMLReader
,
DTDHandler
,
ErrorHandler
¸Þ¼µå °³¿ä | |
---|---|
void |
characters (char[] ch,
int start,
int length)
¹®ÀÚ µ¥ÀÌÅÍÀÇ ÅëÁö¸¦ ¹Þ½À´Ï´Ù. |
void |
endDocument ()
¹®¼ÀÇ Á¾·á ÅëÁö¸¦ ¹Þ½À´Ï´Ù. |
void |
endElement (String uri,
String localName,
String qName)
¿ä¼ÒÀÇ Á¾·á ÅëÁö¸¦ ¹Þ½À´Ï´Ù. |
void |
endPrefixMapping (String prefix)
Á¢µÎ»ç¿Í URI ¸ÅÇÎÀÇ ½ºÄÚÇÁ¸¦ Á¾·áÇÕ´Ï´Ù. |
void |
ignorableWhitespace (char[] ch,
int start,
int length)
¿ä¼Ò ÄÁÅÙÃ÷¿¡ Æ÷ÇԵǴ ¹«½ÃÇÒ ¼ö ÀÖ´Â °ø¹é ¹®ÀÚÀÇ ÅëÁö¸¦ ¹Þ½À´Ï´Ù. |
void |
processingInstruction (String target,
String data)
ó¸® ¸í·ÉÀÇ ÅëÁö¸¦ ¹Þ½À´Ï´Ù. |
void |
setDocumentLocator (Locator locator)
SAX ¹®¼ À̺¥Æ®ÀÇ ¹ß»ý¿øÀ» ƯÁ¤ÇÏ´Â °´Ã¼¸¦ ¹Þ½À´Ï´Ù. |
void |
skippedEntity (String name)
½ºÅµ µÈ ½ÇüÀÇ ÅëÁö¸¦ ¹Þ½À´Ï´Ù. |
void |
startDocument ()
¹®¼ÀÇ °³½Ã ÅëÁö¸¦ ¹Þ½À´Ï´Ù. |
void |
startElement (String uri,
String localName,
String qName,
Attributes atts)
¿ä¼ÒÀÇ °³½Ã ÅëÁö¸¦ ¹Þ½À´Ï´Ù. |
void |
startPrefixMapping (String prefix,
String uri)
Á¢µÎ»ç¿Í URI À̸§ °ø°£ ¸ÅÇÎÀÇ ½ºÄÚÇÁ¸¦ °³½ÃÇÕ´Ï´Ù. |
¸Þ¼µåÀÇ »ó¼¼ |
---|
void setDocumentLocator(Locator locator)
Çʼö Á¶°ÇÀÌ ¾Æ´Õ´Ï´Ù¸¸, locator°¡ ÇÊ¿äÇÑ °æ¿ì´Â SAX ÆÄ¼ÀÇ »ç¿ëÀ» °ÇÏ°Ô ÃßõÇÕ´Ï´Ù. SAX ÆÄ¼´Â ContentHandler ÀÎÅÍÆäÀ̽º³»ÀÇ ¾î´À ¸Þ¼µåº¸´Ù ¸ÕÀú ÀÌ ¸Þ¼µå¸¦ È£ÃâÇØ, ¾îÇø®ÄÉÀ̼ǿ¡ locator¸¦ Á¦°øÇÕ´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀº locator¸¦ ÀÌ¿ëÇØ, ÆÄ¼°¡ ¿¡·¯¸¦ º¸°íÇÏÁö ¾Ê´Â °æ¿ì¿¡¼µµ ¹®¼ °ü·Ã À̺¥Æ®ÀÇ Á¾·á À§Ä¡¸¦ ƯÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. º¸Åë, ¾îÇø®ÄÉÀ̼ÇÀº ÀÌ Á¤º¸¸¦ »ç¿ëÇØ °íÀ¯ÀÇ ¿¡·¯ (¹®ÀÚ ÄÁÅÙÃ÷°¡ ¾îÇø®ÄÉÀ̼ÇÀÇ ±â´É ±ÔÄ¢¿¡ µû¸£Áö ¾ÊÀº µî)¸¦ º¸°íÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î locator·ÎºÎÅÍ ¸®ÅÏµÈ Á¤º¸´Â ºÒÃæºÐÇϰí, °Ë»ö ¿£Áø¿¡¼ÀÇ »ç¿ë¿¡ ÀûÀýÇϰí ÀÖÁö ¾Ê½À´Ï´Ù.
locator´Â startDocument
°¡ ¸®ÅÏµÈ µÚ, endDocument
°¡ ºÒ·Á°¡±â ÀüÀÇ È£Ãâ SAX À̺¥Æ® ÄݹéÁß¿¡ ÇÑÇØ ÀûÁ¤ÇÑ Á¤º¸¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº È£Ãâ SAX À̺¥Æ® Äݹé À̿ܿ¡ locator¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
locator
- SAX ¹®¼ À̺¥Æ®ÀÇ À§Ä¡¸¦ µ¹·ÁÁÖ´Â °´Ã¼Locator
void startDocument() throws SAXException
SAX ÆÄ¼´Â ´Ù¸¥ À̺¥Æ®°¡ ÄÝ¹é µÇ±â Àü¿¡ 1ȸ
¸¸ ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù (setDocumentLocator
ÀÌ¿Ü).
SAXException
- SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ Çϰí ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´ÂendDocument()
void endDocument() throws SAXException
ÀÌ ¸Þ¼µåÀÇ ¸Þ´º¾ó°ú endDocument()
¸Þ´º¾ó°úÀÇ »çÀÌ¿¡´Â ºÐ¸íÇÏ°Ô ¸ð¼øÀÌ ÀÖ½À´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â ÇâÈÄÀÇ ¸ÞÀÌÀú ¸±¸®½º·Î ÀÌ ¾Ö¸ÅÇÔÀÌ ÇØ°áµÇÁö ¾Ê´Â ÇÑ, ÆÄ¼°¡ fatalError()¸¦ º¸°íÇϰųª ¿¹¿Ü¸¦ Throw ÇßÀ» ¶§¿¡ endDocument()°¡ ºÒ·Á °¥Áö ¾î¶³Áö¸¦ °¡Á¤ÇÏÁö ¾Ê°Ô ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.¡¡
SAX ÆÄ¼´Â ÀÌ ¸Þ¼µå¸¦ ±¸¹® ºÐ¼®ÀÇ ¸¶Áö¸·¿¡ 1ȸ ¸¸ È£ÃâÇÕ´Ï´Ù. ȸº¹ ºÒ°¡´ÉÇÑ ¿¡·¯¿¡ ÀÇÇØ ±¸¹® ºÐ¼®ÀÌ µµÁß¿¡ ÆÄ±âµÇ´ÂÁö, ÀÔ·ÂÀÌ Á¾·áÇÒ ¶§±îÁö, ÀÌ ¸Þ¼µå´Â ºÒ·Á°¡ Áö ¾Ê½À´Ï´Ù.
SAXException
- SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ Çϰí ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´ÂstartDocument()
void startPrefixMapping(String prefix, String uri) throws SAXException
º¸Åë
ÀÇ À̸§ °ø°£ 󸮴 À̺¥Æ®·ÎºÎÅÍ Á¦°øµÇ´Â Á¤º¸¸¦ ÇÊ¿ä·Î ÇÏÁö ¾Ê½À´Ï´Ù. SAX
XML ¸®´õ´Â http://xml.org/sax/features/namespaces
±â´ÉÀÇ °ªÀÌ true (µðÆúÆ®)·Î ¼³Á¤µÇ¾î ÀÖÀ¸¸é, ¿ä¼Ò ¹× ¼Ó¼º¸íÀÇ Á¢µÎ»ç¸¦ ÀÚµ¿ÀûÀ¸·Î ¿Å°Ü³õ½À´Ï´Ù.
±×·¯³ª, ¾îÇø®ÄÉÀ̼ǿ¡ ÀÇÇØ ¹®ÀÚ µ¥ÀÌÅͳª ¼Ó¼º°ª ¾È¿¡¼ »ç¿ëµÇ´Â °æ¿ì, Á¢µÎ»ç¸¦ ¾ÈÀüÇÏ°Ô Àü°³ÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ·¯ÇÑ ¾îÇø®ÄÉÀ̼ǿ¡´Â Çʿ信 µû¶ó¼, start/endPrefixMapping À̺¥Æ®¿¡ÀÇÇØ Á¢µÎ»ç¸¦ ¾îÇø®ÄÉÀÌ¼Ç ÄÁÅØ½ºÆ® ³»¿¡¼ È®ÀåÇϱâ À§Çؼ ÇÊ¿äÇÑ Á¤º¸°¡ Á¦°øµË´Ï´Ù.
start/endPrefixMapping À̺¥Æ®°¡ °¢°¢ ¿Ã¹Ù¸£°Ô »óÀÚ·Î µÉÁö ¾î¶³Áö´Â º¸ÁõµÇÁö ¾Ê½À´Ï´Ù. ¸ðµç startPrefixMapping À̺¥Æ®´Â ´ëÀÀÇÏ´Â startElement
À̺¥Æ®ÀÇ Àü¿¡ Áï½Ã ¹ß»ýÇØ, ¸ðµç endPrefixMapping
À̺¥Æ®´Â ´ëÀÀÇÏ´Â endElement
À̺¥Æ®ÀÇ ³ªÁß¿¡ ¹ß»ýÇÕ´Ï´Ù¸¸, ÀÌ·¯ÇÑ Â÷·Ê´Â º¸ÁõµÇÁö ¾Ê½À´Ï´Ù.
¡¸xml¡¹Á¢µÎ»ç´Â »çÀü¿¡ ¼±¾ðµÇ´Â ºÒº¯ÀÇ ¼ö½ÄÀÚÀ̹ǷΠ±× start/endPrefixMapping À̺¥Æ®´Â Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.
prefix
- ¼±¾ðµÇ´Â À̸§ °ø°£ Á¢µÎ»ç. µðÆúÆ®¿¡
ÇÑ ¿ä¼ÒÀÇ À̸§ °ø°£¿¡ »ç¿ëÇÏ´Â °ø¹®ÀÚ¿ (Á¢µÎ»ç ¾øÀ½). uri
- Á¢µÎ»çÀÇ ¸Ê »çŰ³ª ¸¶¿¡Á¶¶ó°£ URI
SAXException
- ó¸®Áß¿¡ Ŭ¶óÀÌ¾ðÆ®°¡ ¿¹¿Ü¸¦ Throw ÇÏ´Â ÀÏÀÌ ÀÖ´ÂendPrefixMapping(java.lang.String)
,
startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
void endPrefixMapping(String prefix) throws SAXException
ÀÚ¼¼ÇÑ °ÍÀº startPrefixMapping
¸¦
ÂüÁ¶ÇϽʽÿÀ. ÀÌ·¯ÇÑ À̺¥Æ®´Â Ç×»ó, ´ëÀÀÇÏ´Â endElement
À̺¥Æ®ÀÇ ÈÄ¿¡ °ð ¹ß»ýÇÕ´Ï´Ù¸¸, endPrefixMapping
À̺¥Æ®ÀÇ Â÷·Ê´Â º¸ÁõµÇÁö ¾Ê½À´Ï´Ù.
prefix
- ¸ÅÇÎ µÈ Á¢µÎ»ç. µðÆúÆ® ¸ÅÇÎÀÇ ½ºÄÚÇÁ°¡ Á¾·áÇÏ´Â °æ¿ì´Â °ø¹®ÀÚ¿ÀÌ µÈ´Ù
SAXException
- ó¸®Áß¿¡ Ŭ¶óÀÌ¾ðÆ®°¡ ¿¹¿Ü¸¦ Throw ÇÏ´Â ÀÏÀÌ ÀÖ´ÂstartPrefixMapping(java.lang.String, java.lang.String)
,
endElement(java.lang.String, java.lang.String, java.lang.String)
void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException
ÆÄ¼´Â XML ¹®¼³»ÀÇ °¢ ¿ä¼ÒÀÇ ÀüÀ¸·Î ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù. °¢ startElement À̺¥Æ®¿¡´Â ´ëÀÀÇÏ´Â endElement
À̺¥Æ®°¡ ÀÖ½À´Ï´Ù. À̰ÍÀº ¿ä¼Ò°¡ ºñ¾îÀÖ´Â °æ¿ìµµ ¹Ù²îÁö ¾Ê½À´Ï´Ù. ´ëÀÀÇÏ´Â endElement À̺¥Æ®ÀÇ Àü¿¡
¿ä¼ÒÀÇ ÄÁÅÙÃ÷ ÀüºÎ°¡ Â÷·Ê·Î º¸°íµË´Ï´Ù.
ÀÌ À̺¥Æ®¿¡¼´Â °¢ ¿ä¼Ò¿¡ ÃÖ´ë 3°³ÀÇ À̸§ ÄÄÆÛ³ÍÆ®¸¦ Çã¿ëÇÕ´Ï´Ù.
http://xml.org/sax/features/namespaces ÇÁ·ÎÆÛƼ ¹× http://xml.org/sax/features/namespace-prefixes ÇÁ·ÎÆÛƼÀÇ °ª¿¡ÀÇÇØ ÀÌ·¯ÇÑ ¾î¶² °ÍÀΰ¡ ¶Ç´Â ÀüºÎ°¡ Á¦°øµË´Ï´Ù.
Á¦°øµÇ´Â ¼Ó¼º ¸®½ºÆ®¿¡´Â ¸í½ÃÀûÀÎ °ª (ÁöÁ¤µÈ °ª ¶Ç´Â ±âº»°ª)À» °¡Áö´Â ¼Ó¼º¸¸ÀÌ Æ÷ÇԵ˴ϴÙ. #IMPLIED ¼Ó¼ºÀº Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù. ÀÌ ¸®½ºÆ®¿¡´Â http://xml.org/sax/features/namespace-prefixes
ÇÁ·ÎÆÛƼ°¡ true (µðÆúÆ®ÀÇ ¼³Á¤Àº false. true
Áö¿øÀº ¿É¼Ç)ÀÎ °æ¿ì¿¡ ÇÑÁ¤ÇØ, À̸§ °ø°£ Á¤ÀÇ (xmlns* ¼Ó¼º)¿¡ »ç¿ëµÇ´Â ¼Ó¼ºÀÌ Æ÷ÇԵ˴ϴÙ.
¼Ó¼º°ª´Â characters()
¿Í
°°ÀÌ 2°³
ÀÌ»óÀÇ char
°ªÀ» ÇÊ¿ä·Î Çϴ ij¸¯ÅÍ ¶óÀÎÀ» °¡Áö´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
uri
- À̸§ °ø°£ URI. ¿ä¼Ò°¡ À̸§ °ø°£ URI¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ì, ¶Ç´Â À̸§ °ø°£ 󸮸¦ ÇÏÁö ¾Ê´Â °æ¿ì´Â °ø¹®ÀÚ¿localName
- Á¢µÎ»ç¸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â ·ÎÄøí. À̸§ °ø°£ 󸮸¦ ÇÏÁö ¾Ê´Â °æ¿ì´Â °ø¹®ÀÚ¿qName
- Á¢µÎ»ç¸¦ °¡Áö´Â ¼ö½Ä¸í. ¼ö½Ä¸íÀ» »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì´Â °ø¹®ÀÚ¿atts
- ¿ä¼Ò¿¡ Ãß°¡µÈ ¼Ó¼º. ¼Ó¼ºÀÌ ¾ø´Â °æ¿ì´Â ºñ¾îÀÖ´Â Attributes °´Ã¼°¡ µÈ´Ù. startElement°¡ ¸®ÅÏµÈ µÚÀÇ ÀÌ °´Ã¼ÀÇ °ªÀº Á¤ÀǵÇÁö ¾Ê´Â´Ù
SAXException
- SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ Çϰí ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´ÂendElement(java.lang.String, java.lang.String, java.lang.String)
,
Attributes
,
AttributesImpl
void endElement(String uri, String localName, String qName) throws SAXException
SAX ÆÄ¼´Â XML ¹®¼³»ÀÇ °¢ ¿ä¼ÒÀÇ ¸¶Áö¸·¿¡ ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù. °¢ endElement À̺¥Æ®¿¡´Â ´ëÀÀÇÏ´Â startElement
À̺¥Æ®°¡ ÀÖ½À´Ï´Ù. À̰ÍÀº ¿ä¼Ò°¡ ºñ¾îÀÖ´Â °æ¿ìµµ ¹Ù²îÁö ¾Ê½À´Ï´Ù.
À̸§¿¡ ´ëÇØ¼´Â startElement¸¦ ÂüÁ¶ÇϽʽÿÀ.
uri
- À̸§ °ø°£ URI. ¿ä¼Ò°¡ À̸§ °ø°£ URI¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ì, ¶Ç´Â À̸§ °ø°£ 󸮸¦ ÇÏÁö ¾Ê´Â °æ¿ì´Â °ø¹®ÀÚ¿localName
- Á¢µÎ»ç¸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â ·ÎÄøí. À̸§ °ø°£ 󸮸¦ ÇÏÁö ¾Ê´Â °æ¿ì´Â °ø¹®ÀÚ¿qName
- Á¢µÎ»ç¸¦ °¡Áö´Â ¼ö½ÄµÈ XML ¸í. ¼ö½Ä¸íÀ» »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì´Â °ø¹®ÀÚ¿
SAXException
- SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ Çϰí ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Ùvoid characters(char[] ch, int start, int length) throws SAXException
ÆÄ¼´Â ÀÌ ¸Þ¼µå¸¦ È£ÃâÇØ, °¢ ¹®ÀÚ µ¥ÀÌŸüũ¸¦ º¸°íÇÕ´Ï´Ù. SAX ÆÄ¼´Â ¿¬¼ÓÇÏ´Â ¹®ÀÚ µ¥ÀÌÅ͸¦ ´ÜÀÏÀÇ Ã¼Å©·Î¼ ¶Ç´Â ¸î°³ÀÇ Ã¼Å©¿¡ ºÐÇÒÇØ ¸®ÅÏÇÕ´Ï´Ù. ´Ù¸¸, locator·ÎºÎÅÍ À¯ÀÍÇÑ Á¤º¸¸¦ ¾ò±â À§Çؼ´Â ´ÜÀÏÀÇ À̺¥Æ®¿¡ Æ÷ÇԵǴ ¹®ÀÚ°¡ ¸ðµÎ °°Àº ¿ÜºÎ ½ÇüÀÇ °ÍÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀº ÁöÁ¤µÈ ¹üÀ§¿ÜÀÇ ¹è¿À» Àо ¼ö ¾ø½À´Ï´Ù.
°¢°¢ÀÇ Ä³¸¯ÅÍ ¶óÀÎÀº 2°³
ÀÌ»óÀÇ Java char
°ªÀ¸·Î ±¸¼ºµË´Ï´Ù. ij¸¯ÅÍ ¶óÀÎÀ» 16 ºñÆ® À̳»¿¡¼ Ç¥½ÃÇÒ ¼ö ¾ø±â ¶§¹®¿¡
2°³ÀÇ Áß¿äÇÑ ÄÉÀ̽º°¡ ¹ß»ýÇÕ´Ï´Ù. 1°³´Â ij¸¯ÅÍ ¶óÀÎÀÌ 2°³ÀÇ Unicode°ªÀ» »ç¿ëÇØ ¡¸Surrogate Pair¡¹·Î ³ªÅ¸³»Áö´Â °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ Ä³¸¯ÅÍ ¶óÀÎÀº ¡¸Astral Planes¡¹¶ó°í ºÒ·Á U+FFFF º¸´Ù Å« ÄÚµå Æ÷ÀÎÆ®¸¦ °¡Áý´Ï´Ù. ÀÌÁ¦(À̹Ì
) 1°³´Â 1°³
ÀÌ»óÀÇ ¿¢¼¾Æ® ¹®ÀÚ¿¡ °áÇÕÇϰí ÀÖ´Â º£À̽º ij¸¯ÅÍ ¶óÀεîÀÇ ÇÕ¼º ij¸¯ÅÍ ¶óÀÎÀÌ µÇ´Â °ÍÀÔ´Ï´Ù.
char
-at-a-time °ü¿ë¹ýÀ» »ç¿ëÇÏ´Â ¾Ë°í¸®ÁòÀº ij¸¯ÅÍ ¶óÀÎÀ» ºÐÇÒÇÏ´Â °æ¿ìµµ ÀÖÀ¸¹Ç·Î ij¸¯ÅÍ ¶óÀÎ ´ÜÀ§·Î ó¸®Çϰí ÀÖÀ¸¸é »óÁ¤ ÇØ¼´Â ¾ÈµË´Ï´Ù. À̰ÍÀº XML°¡ ¼Ó¼º°ª, ó¸® ¸í·É µ¥ÀÌÅÍ, ÄÚ¸àÆ®µîÀÇ ÀÓÀÇÀÇ Ä³¸¯ÅÍ ¶óÀÎÀ̳ª, ÀÌ ¸Þ¼µå·ÎºÎÅÍ º¸°íµÈ µ¥ÀÌÅͳ»¿¡ ÀÖ´Â ÀÓÀÇÀÇ Ä³¸¯ÅÍ ¶óÀÎÀ» Çã°¡ÇÏ´Â Àå¼Ò¿¡ °ü·ÃÇÕ´Ï´Ù. ¶Ç, ÀϹÝÀûÀ¸·Î´Â Java Äڵ尡 ±¹Á¦È µÈ ÅØ½ºÆ®¸¦ Á¶ÀÛÇÏ´Â Àå¼Ò¿¡ °ü·ÃÇÕ´Ï´Ù¸¸, ¹ßÇàÀº XML¿¡ ÀÏÀÇÀÇ °ÍÀÌ ¾Æ´Õ´Ï´Ù.
ÀϺÎÀÇ ÆÄ¼´Â ÀÌ ¸Þ¼µå°¡ ¾Æ´Ï°í ignorableWhitespace
¸Þ¼µå¸¦ »ç¿ëÇØ, ¿ä¼Ò ÄÁÅÙÃ÷¿¡ Æ÷ÇԵǴ °ø¹é ¹®ÀÚ¸¦ º¸°íÇÕ´Ï´Ù. À̰ÍÀº Ÿ´ç¼ºÀ» °ËÁõÇÏ´Â ÆÄ¼¿¡ ¡¸Çʼö¡¹ÀÇ ±â´ÉÀÔ´Ï´Ù.
ch
- XML ¹®¼ÀÇ ¹®ÀÚstart
- ¹è¿³»ÀÇ °³½Ã À§Ä¡length
- ¹è¿·ÎºÎÅÍ ÀоÁö´Â ¹®ÀÚ¼ö
SAXException
- SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ Çϰí ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´ÂignorableWhitespace(char[], int, int)
,
Locator
void ignorableWhitespace(char[] ch, int start, int length) throws SAXException
Ÿ´ç¼ºÀ» °ËÁõÇÏ´Â ÆÄ¼´Â ÀÌ ¸Þ¼µå¸¦ »ç¿ëÇØ, ¿ä¼Ò ÄÁÅÙÃ÷¿¡ Æ÷ÇԵǴ °ø¹é ¹®ÀÚÀÇ Ã¼Å©¸¦ º¸°íÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù (W3C XML 1.0 ±Ç°í ¼½¼Ç 2.10À» ÂüÁ¶). Ÿ´ç¼ºÀ» °ËÁõÇÏÁö ¾Ê´Â ÆÄ¼µµ, ÄÁÅÙÃ÷ ¸ðµ¨ÀÇ ±¸¹® ºÐ¼® ¹× ÀÌ¿ëÀÌ °¡´ÉÇÑ °æ¿ì´Â ÀÌ ¸Þ¼µå¸¦ »ç¿ëÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
SAX ÆÄ¼´Â ¿¬¼ÓÇÏ´Â ¸ðµç °ø¹é ¹®ÀÚ¸¦ ´ÜÀÏÀÇ Ã¼Å©·Î¼ ¶Ç´Â º¹¼öÀÇ Ã¼Å©¿¡ ºÐÇÒÇØ ¸®ÅÏÇÕ´Ï´Ù. ´Ù¸¸, locator·ÎºÎÅÍ À¯ÀÍÇÑ Á¤º¸¸¦ ¾ò±â À§Çؼ´Â ´ÜÀÏÀÇ À̺¥Æ®¿¡ Æ÷ÇԵǴ ¹®ÀÚ°¡ ¸ðµÎ °°Àº ¿ÜºÎ ½ÇüÀÇ °ÍÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀº ÁöÁ¤µÈ ¹üÀ§¿ÜÀÇ ¹è¿À» Àо ¼ö ¾ø½À´Ï´Ù.
ch
- XML ¹®¼ÀÇ ¹®ÀÚstart
- ¹è¿³»ÀÇ °³½Ã À§Ä¡length
- ¹è¿·ÎºÎÅÍ ÀоÁö´Â ¹®ÀÚ¼ö
SAXException
- SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ Çϰí ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Âcharacters(char[], int, int)
void processingInstruction(String target, String data) throws SAXException
ÆÄ¼´Â ó¸® ¸í·ÉÀ» °ËÃâÇÒ ¶§¸¶´Ù 1ȸ ¾¿ ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù. ó¸® ¸í·ÉÀº ¸ÞÀÎÀÇ ¹®¼ ¿ä¼ÒÀÇ ÀüÈÄ¿¡ Á¸ÀçÇÒ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.
SAX ÆÄ¼°¡ ÀÌ ¸Þ¼µå¸¦ »ç¿ëÇØ XML ¼±¾ðÀ» º¸°íÇÒ °ÍÀº ¾ø½À´Ï´Ù (XML 1.0, ¼½¼Ç 2.8). ¶Ç, ÅØ½ºÆ® ¼±¾ðÀ» º¸°íÇÏ´Â Àϵµ ¾ø½À´Ï´Ù (XML 1.0, ¼½¼Ç 4.3. 1).
ó¸® ¸í·É µ¥ÀÌÅÍ´Â characters()
¿Í
°°ÀÌ 2°³
ÀÌ»óÀÇ char
°ªÀ» ÇÊ¿ä·Î Çϴ ij¸¯ÅÍ ¶óÀÎÀ» °¡Áö´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
target
- ó¸® ¸í·ÉÀÇ Å¸°Ùdata
- ó¸® ¸í·ÉÀ» ¹Þ´Â µ¥ÀÌÅÍ. µ¥ÀÌÅͰ¡ Á¦°øµÇÁö ¾Ê´Â °æ¿ì´Â null. µ¥ÀÌÅÍ¿¡´Â Ÿ°Ù°ú ÀÚ½ÅÀ» ±¸º°Çϱâ À§ÇÑ °ø¹é ¹®ÀÚ´Â Æ÷ÇÔµÇÁö ¾Ê´Â´Ù
SAXException
- SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ Çϰí ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Ùvoid skippedEntity(String name) throws SAXException
ÆÄ¼´Â ½Çü°¡ ½ºÅµ µÉ ¶§¸¶´Ù 1ȸ
¾¿ ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù. Ÿ´ç¼ºÀ» °ËÁõÇÏÁö ¾Ê´Â ÇÁ·Î¼¼¼´Â (½Çü°¡ ¿ÜºÎ DTD ºÎºÐÁýÇÕ³»¿¡ Á¤Àǵǰí ÀÖ´Â µîÀÇ ÀÌÀ¯·Î½á) ¼±¾ðÀÌ °ËÃâµÇÁö ¾ÊÀ¸¸é ½Çü¸¦ ½ºÅµ ÇÕ´Ï´Ù. ¸ðµç ÇÁ·Î¼¼¼´Â http://xml.org/sax/features/external-general-entities
ÇÁ·ÎÆÛƼ¿Í http://xml.org/sax/features/external-parameter-entities
ÇÁ·ÎÆÛƼÀÇ °ª¿¡ÀÇÇØ ¿ÜºÎ ½Çü¸¦ ½ºÅµ ÇÒ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.
name
- ½ºÅµ µÈ ½ÇüÀÇ À̸§. ÆÄ¶ó¹ÌÅÍ ½ÇüÀÇ °æ¿ì, ÀÌ À̸§Àº ¡¸%¡¹·Î ½ÃÀ۵ȴÙ. ¿ÜºÎ DTD ºÎºÐÁýÇÕÀÇ °æ¿ì, ij¸¯ÅÍ ¶óÀÎ ¡¸[dtd]¡¹·Î ½ÃÀ۵ȴÙ
SAXException
- SAX ¿¹¿Ü. ´Ù¸¥ ¿¹¿Ü¸¦ ·¦ Çϰí ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Ù
|
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 µµ ÂüÁ¶ÇϽʽÿÀ.