xml :: filter :: domfilter :: libxml.

XML :: ÇÊÅÍ :: DOMFilter :: libxmlÀº ¼±ÅÃµÈ ÇÏÀ§ Æ®¸®ÀÇ DOM 󸮸¦ Çã¿ëÇÏ´Â SAX ÇÊÅÍÀÔ´Ï´Ù.
Áö±Ý ´Ù¿î·Îµå

xml :: filter :: domfilter :: libxml. ¼øÀ§ ¹× ¿ä¾à

±¤°í

  • Rating:
  • ƯÇã:
  • Perl Artistic License
  • °¡°Ý:
  • FREE
  • °Ô½ÃÀÚ À̸§:
  • Petr Pajas
  • °Ô½ÃÀÚ À¥»çÀÌÆ®:
  • http://search.cpan.org/~pajas/

xml :: filter :: domfilter :: libxml. ű×


xml :: filter :: domfilter :: libxml. ¼³¸í

XML :: FILTER :: DOMFILTER :: libxmlÀº ¼±ÅÃµÈ ÇÏÀ§ Æ®¸®ÀÇ DOM 󸮸¦ Çã¿ëÇÏ´Â SAX ÇÊÅÍÀÔ´Ï´Ù. XML :: FILTER :: DOMFILTER :: libxmlÀº ¼±ÅÃµÈ ÇÏÀ§ Æ®¸®ÀÇ DOM 󸮸¦ Çã¿ëÇÏ´Â SAX ÇÊÅÍÀÔ´Ï´Ù. ½Ä ³ëÇÁ°¡ XML :: libxmlÀ» »ç¿ëÇϽʽÿÀ. XML :: ÇÊÅÍ :: DomFilter :: libxmlÀ» »ç¿ëÇϽʽÿÀ. MY $ filter = xml :: filter :: domfilter :: libxml-> new (handler => $ handler, xpathcontext => xml :: libxml :: xpathContext-> new (), ÇÁ·Î¼¼½º => = 'aaa'] / * bar '=> process_bar,'baz => process_baz]); MY $ PARSER = XML :: SAX :: YourFavoritedRiver-> New (handler => $ ÇÊÅÍ); # ÀϺΠDOM ó¸® SUB PROCESS_BAR {MY ($ node) = @ _; ³» $ doc = $ node-> ownerDocument; $ NODE-> APPENDTEXTCHILD ( "Note", "Hallo World!"); $ node-> parentNode-> insertafter ($ doc-> createElement ( "foo"), $ node); } sub process_baz {my ($ node) = @ _; $ node-> unbindNode; }ÀÌ ¸ðµâÀº DOM API¸¦ »ç¿ëÇÏ¿© XML ¹®¼­ÀÇ ÇÕ¸®ÀûÀ¸·Î ÀÛÀº ºÎºÐ ¸¸ ó¸® ÇÒ ¼öÀÖ°ÔÇÏ¿© SAX¿Í DOM 󸮰£¿¡ ¼Õ»óÀ» Á¦°øÇÕ´Ï´Ù. SAX ÇÊÅÍ·Î ÀÛµ¿ÇÕ´Ï´Ù. ÁÖ¾îÁø XPath Ç¥Çö½Ä (ÀϺΠÁ¦ÇÑ »çÇ×ÀÌÀÖ´Â °æ¿ì "Á¦ÇÑ »çÇ×"À» ÂüÁ¶ÇϽʽÿÀ)¿¡¼­ ¼±ÅÃÇÑ ºÎÇ° ÁÖÀ§¿¡ ÀÛÀº DOM Æ®¸®¸¦ ÀϽÃÀûÀ¸·Î ±¸ÃàÇÕ´Ï´Ù. ÇÊÅÍ¿¡´Â A¿Í B·Î ÂüÁ¶ µÉ µÎ °¡Áö »óÅ°¡ ÀÖ½À´Ï´Ù. ÇÊÅÍÀÇ Ãʱ⠻óÅ´ A.IN »óÅ A¿¡¼­ DOM Æ®¸®ÀÇ Á¦ÇÑµÈ ¼öÁ÷ ºÎºÐ ¸¸ ºôµåµË´Ï´Ù. start_element ÀÌ¿ÜÀÇ ¸ðµç SAX À̺¥Æ®´Â Çڵ鷯¿¡ Áï½Ã Àü´ÞµË´Ï´Ù. start_element À̺¥Æ®¿¡¼­ »õ ¿ä¼Ò ³ëµå°¡ DOM Æ®¸®¿¡ ÀÛ¼ºµË´Ï´Ù. »õ·Î »ý¼º µÈ ³ëµåÀÇ ¸ðµç °¡´ÉÇÑ ¸ðµç ÇüÁ¦°¡ Á¦°ÅµË´Ï´Ù. µû¶ó¼­ »óÅ¿¡¼­ A´Â Æ®¸®ÀÇ ¸ðµç ·¹º§¿¡ Á¤È®È÷ ÇϳªÀÇ ³ëµå°¡ ÀÖ½À´Ï´Ù. ÀÌÁ¦ ¸ðµç XPath Ç¥Çö½ÄÀº »õ·Î »ý¼º µÈ ³ëµåÀÇ ÄÁÅؽºÆ®¿¡¼­ È®Àε˴ϴÙ. Ç¥Çö½ÄÀÌ ÀÏÄ¡ÇÏÁö ¾ÊÀ¸¸é Æļ­°¡ »óÅ A¿¡ ³²¾Æ ÀÖÀ¸¸ç start_element À̺¥Æ®¸¦ 󸮱â·Î Àü´ÞÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ÀÏÄ¡Çϴ ù ¹ø° Ç¥Çö½Ä°ú ¿¬°üµÈ ÄݹéÀÌ ±â¾ïµÇ°í Æļ­°¡ »óŸ¦ B.IN »óÅ B·Î º¯°æÇÕ´Ï´Ù. B ÇÊÅÍ´Â CONMMING À̺¥Æ®¿¡ µû¶ó »õ ¿ä¼ÒÀÇ ¿ÏÀüÇÑ DOM ÇÏÀ§ Æ®¸®¸¦ ºôµåÇÕ´Ï´Ù. ÀÌ ´Ü°è¿¡¼­ À̺¥Æ®°¡ Çڵ鷯·Î Àü´ÞµÇÁö ¾Ê½À´Ï´Ù. ÇÏÀ§ Æ®¸®°¡ ¿Ï·áµÇ¸é (Áï, ÇØ´ç ¿£µå űװ¡ ¹ß»ý ÇÔ), ÀÏÄ¡ÇÏ´Â XPath Ç¥Çö½Ä°ú ¿¬°üµÈ ÄݹéÀÌ ½ÇÇàµË´Ï´Ù. ÇÏÀ§ Æ®¸®ÀÇ ·çÆ® ¿ä¼Ò´Â ÄÝ¹é ¼­ºê ·çƾÀ¸·Î À¯ÀÏÇÑ Àμö·Î Àü´ÞµË´Ï´Ù. ÄݹéÀº Çϳª ÀÌ»óÀÇ »õ ÇÏÀ§ Æ®¸®¿Í ÇÔ²² ±³Ã¼Çϱâ À§ÇØ DOM ÇÏÀ§ Æ®¸®¿¡¼­ DOM ÀÛ¾÷À» ¼öÇà ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª CallackÀº ¿ä¼ÒÀÇ »óÀ§ ³ëµå¿Í ¸ðµç Á¶»ó ³ëµå°¡ ¼Õ»óµÇÁö ¾Ê¾Æ¾ßÇÕ´Ï´Ù. ½ÇÆÐÇÏÁö ¾ÊÀ¸¸é ¿À·ù ¶Ç´Â ¿¹ÃøÇÒ ¼ö¾ø´Â °á°ú°¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. ÄݹéÀÌ ¹ÝȯµÇ¸é ¿ø·¡ ¿ä¼Ò ºÎ¸ð ¾Æ·¡ÀÇ DOM Æ®¸®¿¡ ³ªÅ¸³ª´Â ¸ðµç ÇÏÀ§ Æ®¸®°¡ SAX À̺¥Æ®·Î Á÷·ÄÈ­µÇ°í 󸮱â·Î Àü´ÞµË´Ï´Ù. ±× ÈÄ, DOM Æ®¸®¿¡¼­ »èÁ¦µÇ°í ÇÊÅÍ´Â A.Limitations·Î µ¹¾Æ°©´Ï´Ù. ¡¤ÀÌ À¯ÇüÀÇ Ã³¸®´Â XPath ¿£ÁøÀÌ »ç¿ëÇÒ ¼öÀÖ´Â Á¤º¸ÀÇ ¾çÀ» ³ô°Ô Á¦ÇÑÇÕ´Ï´Ù. °¡Àå ƯÈ÷, ¿ä¼Ò´Â ÄÜÅÙÃ÷·Î ¼±ÅÃÇÒ ¼ö ¾ø½À´Ï´Ù. XPath Æò°¡½Ã Æ®¸®¿¡ÀÖ´Â À¯ÀÏÇÑ Á¤º¸´Â ¿ä¼ÒÀÇ À̸§°ú ¼Ó¼º°ú ¸ðµç Á¶»ó¿¡ ´ëÇØ µ¿ÀÏÇÑ Á¤º¸ÀÔ´Ï´Ù. XPath Ç¥Çö½ÄÀÌ Æò°¡ µÉ ¶§ ÇüÁ¦ ÀÚ¸ÅÀÇ ¿ä¼Ò»Ó¸¸ ¾Æ´Ï¶ó ¿ä¼ÒÀÇ °¡´ÉÇÑ ÀÚ½Ä ³ëµå¿¡ ´ëÇØ ¾Ë·ÁÁöÁö ¾ÊÀº °ÍÀº ¾Æ´Õ´Ï´Ù. ¿ä±¸ »çÇ× : ¡¤ Perl.


xml :: filter :: domfilter :: libxml. °ü·Ã ¼ÒÇÁÆ®¿þ¾î