Ȩ > ´º½º > Å×Å©°¡À̵å > Åë½Å/³×Æ®¿öÅ©
  • Æ®À§ÅÍ
  • ÆäÀ̽ººÏ
  • ±¸Ç÷¯½º
  • ³×À̹ö¹êµå
  • Ä«Ä«¿À½ºÅ丮
     
WORKSHOP XSLT / XPath
2006³â 10¿ù 04ÀÏ 00:00:00
µ¥ÀÌÅÍ È帧ÀÇ º¯È­¸¦ Àâ¾Æ¶ó
µ¥ÀÌÅÍ ±¸Á¶È­ º¸Àå ¡¦ 2.0 ¹öÀü ±Ç°í Èĺ¸ »óÅÂ

ȸ»ç µ¥ÀÌÅ͸¦ ÃÖ´ëÇÑ È°¿ëÇϱâ À§Çؼ­´Â ±× È帧¿¡¼­ÀÇ º¯È­(»ç¿ëÀÚ, ¾ÖÇø®ÄÉÀÌ¼Ç ¹× ½Ã½ºÅÛ°£)¸¦ ÁÀ¾Æ°¡¾ß ÇÑ´Ù. XMLÀÌ ÀÏ»óÈ­µÅ °¡´Â ITȯ°æÀ» °ü¸®ÇÏ´Â »ç¶÷À̶ó¸é ´©±¸µçÁö XSLT¿Í XPath¸¦ Á¦´ë·Î ÀÌÇØÇÏ´Â °Ô Çʼö´Ù.


¾î¶² ±â¾÷ÀÇ IT ȯ°æÀÌµç ±× ±Ùº»Àº »ç¿ëÀÚ, ¾ÖÇø®ÄÉÀÌ¼Ç ¹× ¿ÜÀå ½Ã½ºÅÛµé »çÀ̸¦ À̵¿ÇÏ´Â µ¥ÀÌÅÍ´Ù. ȯ°æÀÌ ¹Ù²ñ¿¡ µû¶ó, »ç¿ëÀÚ ´ÏÁî¿Í ¾ÖÇø®ÄÉÀÌ¼Ç ¼ö¿ä·Î ÀÎÇØ ¿ì¸®´Â ÀÌ·¯ÇÑ µ¥ÀÌÅÍ È帧ÀÇ º»¼ºÀ» Á¶Á¤Çؾ߸¸ ÇÑ´Ù.
W3C(World Wide Web Cosortium)ÀÇ ESL(Extensi ble Stylesheet Language) ±Ç°í¾ÈÀº ÀÌ·¯ÇÑ µ¥ÀÌÅÍ È帧À» ¿ì¸®ÀÇ ÇÊ¿ä¿Í ¿ì¸® »ç¿ëÀÚÀÇ ÇÊ¿ä¿¡ ¸Â°Ô ÀûÀÀ½Ãų ¼ö ÀÖµµ·Ï ¸ÞÄ¿´ÏÁòÀ» Á¦°øÇÏ´Â µÎ °¡Áö À¯¿ëÇÑ ±â¼úÀ» ¼³¸íÇÏ°í ÀÖ´Ù. ¿ì¼± XSLT(XSL Transformations)´Â XML ¹®¼­¸¦ º¯ÇüÇÏ´Â ¾ð¾î¸¦ Á¦°øÇϸç, XPath´Â XML ¹®¼­¿¡ Àִ ƯÁ¤ ¿¤·¯¸ÕÆ®(element)¸¦ ½Äº°ÇÒ ¼ö ÀÖ´Â ÅøÀ» Á¦°øÇÑ´Ù. XSLT¿Í XPath¿¡ À̵éÀ» ÀÌÇàÇÏ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ °áÇÕ½ÃÅ°¸é Áß¼Ò±â¾÷µéÀÌ Ã·´Ü ±â¼úÀ» ¹èÄ¡ÇÒ ¼ö ÀÖ´Â ÀÔ¼ö °¡´ÉÇÑ ±æÀÌ ¿­¸°´Ù.
XSLT/XPath ÄÞº¸´Â °ÅÀÇ ¸ðµç ITÁ¶Á÷¿¡ ÈçÈ÷ Àִ Ư¼öÇÑ ÇÊ¿ä, Áï »ç¿ëÀÚ¿Í ¾ÖÇø®ÄÉÀ̼ÇÀÌ ÃÖ´ëÇÑ È°¿ëÇÒ ¼ö ÀÖµµ·Ï µ¥ÀÌÅÍÀÇ ±¸Á¶È­¸¦ Ç׽à º¸ÀåÇÔÀ¸·Î½á ±× °¡Ä¡¸¦ ±Ø´ëÈ­½ÃÄÑ¾ß ÇÑ´Ù´Â ÇÊ¿ä¿¡ ´ëÇØ ¶Ù¾î³­ ¼Ö·ç¼ÇÀ» Á¦°øÇÑ´Ù. XSLT 1.0°ú XPath 1.0Àº 1999³â 11¿ù¿¡ ¹ßÇ¥µÈ °ÍÀ̸ç, W3C´Â ÇöÀç µÎ Ç¥ÁØÀ» ¸ðµÎ ´ë´ëÀûÀ¸·Î °³Á¤ÇÏ´Â ÀÛ¾÷À» ÁøÇà ÁßÀÌ´Ù. »ç½Ç ÀÌ ±â»ç¸¦ ÀÛ¼ºÇÏ°í ÀÖ´Â Áö±Ý, XSLT 2.0°ú XPath 2.0Àº ¸ðµÎ ±Ç°í Èĺ¸(Candidate Recom mendation) ´Ü°è¿¡ ÀÖ´Ù.

±âº»ÀûÀÎ °Íµé
½ºÅ¸ÀϽÃÆ®(stylesheet)´Â XSLTÀÇ ±âº»ÀûÀÎ ÄÄÆ÷³ÍÆ®´Ù. ÀÌ°ÍÀº XML ¹®¼­·ÎºÎÅÍ ¸ñÀûÁö ¹®¼­·ÎÀÇ ¸ÅÇÎÀ» ±ÔÁ¤Çϴµ¥, ÀÌ´Â XML, HTML, ȤÀº ´Ù¸¥ ÅؽºÆ® Æ÷¸ËÀ¸·Î °¡´ÉÇÏ´Ù. ÀÌ·¯ÇÑ ¸ÅÇÎÀ» Á¾Á¾ ¡®º¯Çü(transformation)¡¯À̶ó°íµµ ºÎ¸¥´Ù.
¡®½ºÅ¸ÀϽÃÆ®¡¯¶õ ¸»Àº ¾à°£ À߸øµÈ À̸§Àε¥, ±× ÀÌÀ¯´Â ÀÌ°ÍÀÌ ¡®½ºÅ¸ÀÏ¡¯¿¡ °ü·ÃµÈ °Ô ¾Æ´Ï±â ¶§¹®ÀÌ´Ù. ±×º¸´Ù ½ºÅ¸ÀϽÃÆ®´Â ¼Ò½º ¹®¼­ÀÇ µ¥ÀÌÅ͸¦ ¸ñÀûÁö ¹®¼­ÀÇ ½ºÆ®·°Ã³·Î ÀüȯÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ XSLT ÇÁ·Î¼¼½º¿¡ Áö½Ã¸¦ ÇÏ´Â ¸í·É¾î ¼¼Æ®¸¦ Á¦°øÇÑ´Ù.
½ºÅ¸ÀϽÃÆ® ¾È¿¡ ÀÖ´Â XML ű״ ¼Ò½º ¹®¼­ÀÇ ¿øÇÏ´Â ºÎºÐ¿¡¼­ ¸ñÀûÁö ¹®¼­¸¦ ±¸ÃàÇÏ´Â ¹ø¿ªÀ» ±ÔÁ¤ÇÑ´Ù. XSLT¿¡´Â ¡®if¡¯³ª ¡®choose¡¯¿Í °°Àº Àͼ÷ÇÑ ÇÁ·Î±×·¡¹Ö ±¸¹®ÀÌ Æ÷ÇԵŠÀִµ¥, ÀÌ°ÍÀº °³¹ßÀÚ·Î ÇÏ¿©±Ý Ãâ·Â ¹®¼­¿¡ ¾î¶² °ÍÀÌ º¸ÀÏÁö¿¡ ´ëÇÑ Á¶°ÇÀ» µÑ ¼ö ÀÖ°Ô ÇØÁØ´Ù. XSLT¿¡´Â ¶ÇÇÑ ¼³¸íµÈ À¯ÇüÀÌ ¼Ò½º ¹®¼­¿¡¼­ ¹ß°ßµÉ ¶§ Æ®¸®°Å¸µµÇ´Â °­·ÂÇÑ ÅÛÇø´ ÇÁ·Î¼¼½Ì ¸ÞÄ¿´ÏÁòÀÌ Æ÷ÇԵŠÀÖ´Ù.
XPath´Â XSLT¿¡ ´ëÇÑ Áß¿äÇÑ Áö¿ø ¿ªÇÒÀ» ÇÑ´Ù. XSLT´Â ÀÚ½ÅÀÇ ÇÁ·Î¼¼½Ì ÅÂ±× ¾È¿¡¼­ XPathÀÇ Ç¥Çö¹ýÀ» ÀÌ¿ëÇØ ¼Ò½º ¹®¼­ÀÇ ¿¤·¯¸ÕÆ®¸¦ ½Äº°ÇÑ´Ù. XPath´Â ÇÏµå µå¶óÀ̺꿡 Àִ ƯÁ¤ ÆÄÀÏ·Î Àεµ¸¦ ÇÏ´Â ±æ°ú °°Áö¸¸, ÆÄÀÏÀ» ·ÎÄÉÀÌÆÃÇÏ´Â ´ë½Å ¼Ò½º ¹®¼­ ¾È¿¡ Àִ ƯÁ¤ ¿¤·¯¸ÕÆ®¸¦ ½Äº°ÇÏ´Â µ¥ »ç¿ëµÈ´Ù.

½ÇÁúÀû Á¶¾ð
XSLT¿Í XPath°¡ ITȯ°æ¿¡¼­ »ç¿ëµÉ ¼ö ÀÖ´Â ¸î °¡Áö ¹æ¹ýÀÌ ÀÖ´Ù. °¡Àå ÀÏ»óÀûÀÌ°í ½¬¿î XSLTÀÇ ¿ë·Ê´Â XML ¹®¼­¸¦ ´Ù¸¥ °ÍÀ¸·Î ¸ÅÇÎÇÏ´Â °ÍÀÌ´Ù. »õ·Î¿î ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î µ¥ÀÌÅ͸¦ ÀÓÆ÷ÆÃÇÏ°í ½Í¾îÁú ¼ö ÀÖÁö¸¸, ±âÁ¸ÀÇ XML ±¸Á¶È­ ¸Þ½ÃÁö´Â Àû¿ëÇÒ ¼ö ¾ø´Ù.
±âÁ¸ ¸Þ½ÃÁöÀÇ ½ºÆ®·°Ã³¸¦ ¹Ù²Ù±âº¸´Ù´Â XSLT ÇÁ·Î¼¼½º¿Í ¿¬°èµÈ ½ºÅ¸ÀϽÃÆ®°¡ »õ ½ºÆ®·°Ã³ ±¸Á¶¸¦ ÀÌ¿ëÇØ ¸Þ½ÃÁö¸¦ ¸¸µå´Â µ¥ »ç¿ëµÈ´Ù. XSLT´Â ¶ÇÇÑ ¿ÜºÎ Ŭ¶óÀ̾ðÆ®°¡ ´ç½Å¿¡°Ô XML µ¥ÀÌÅ͸¦ Á¦°øÇÒ ¶§µµ À¯¿ëÇÏ´Ù. ÀÌ °æ¿ì ½ºÅ¸ÀϽÃÆ®´Â Ŭ¶óÀ̾ðÆ® µ¥ÀÌÅÍÀÇ ¿¤·¯¸ÕÆ®¸¦ ´ç½ÅÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ÀνÄÇϴ ǥÁØ ÇüÅ·Π¸ÅÇÎÇϱâ À§ÇØ ¸¸µé¾îÁú ¼ö ÀÖ´Ù.
XSLT¿¡´Â ¶ÇÇÑ ÇÁ¸®Á¨Å×ÀÌ¼Ç ·¹À̾¼­ ¿ªÇÒÀ» ÇÒ ¼ö Àִµ¥, ±× ÀÌÀ¯´Â ½ºÅ¸ÀϽÃÆ®°¡ XML ¹®¼­¿¡ Æ÷ÇÔµÈ µ¥ÀÌÅͷκÎÅÍ HTMLÀ» ±¸¼ºÇÏ´Â µ¥ »ç¿ëµÉ ¼ö Àֱ⠶§¹®ÀÌ´Ù. ÀÌ·± »óȲ¿¡¼­´Â XSLT¸¦ ÀÌ¿ëÇØ ½Ã½ºÅÛ ¾È¿¡ ÀÖ´Â XML¿¡ ÀúÀåµÈ ¾î¶² µ¥ÀÌÅͷκÎÅÍµç ¿ªµ¿ÀûÀ¸·Î HTMLÀ» ¸¸µé ¼ö ÀÖ´Ù. »ç¿ëÀÚ ±×·ì¿¡ µû¶ó Àڽŵ鿡°Ô °¡Àå À¯¿ëÇÑ ÇüÅ·Πµ¥ÀÌÅ͸¦ µð½ºÇ÷¹ÀÌÇÏ´Â ¼­·Î ´Ù¸¥ ½ºÅ¸ÀϽÃÆ®¸¦ °¡Áú ¼ö ÀÖ´Ù. µ¥ÀÌÅÍ ¸ð¾çÀ» Á¶Á¤ÇÏ´Â ÀÏÀº ½ºÅ¸ÀϽÃÆ®¸¸ º¯°æÇÏ¸é °£´ÜÈ÷ ÇØ°áµÈ´Ù.
XMLÀÌ Á¶Á÷¿¡¼­ ³Î¸® »ç¿ëµÇ°í ÀÖÁö ¾ÊÀ» °æ¿ì¿¡µµ ¿ª½Ã ÀÚ¹Ù³ª ÆÞ °°ÀÌ ±âÁ¸ µ¥ÀÌÅÍ ½ºÆ®·°Ã³¸¦ XML·Î ¸ÅÇÎÇØÁÖ´Â ÅøÀ» ÀÌ¿ëÇØ ÀÚü ¾î´ðÅ͸¦ ±¸ÃàÇÔÀ¸·Î½á ÀÌ·¯ÇÑ ±â¼úÀ» È°¿ëÇÒ ¼ö ÀÖ´Ù. XSLT 2.0Àº ¶ÇÇÑ »õ·Î¿î ¸í·É¾îÀÎ ¾Ö³Î¶óÀÌÁî-½ºÆ®¸µ(analyze-string)À» ÀÌ¿ëÇØ ºñ XML µ¥ÀÌÅ͸¦ ³»ºñ°ÔÀÌÆÃÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» Á¦°øÇÑ´Ù.
ȸ»ç¿¡¼­ »õ ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÌÇàÇÏ°í, ¾÷µ¥ÀÌÆ® °úÁ¤¿¡¼­ »ç¿ëÀÚ µ¥ÀÌÅ͸¦ »õ ½ºÆ®·°Ã³·Î ¸¶À̱׷¹ÀÌÆÃÇÒ ÇÊ¿ä°¡ ÀÖÀ» ¶§´Â XSLT°¡ ÀÌ·¯ÇÑ ¸¶À̱׷¹À̼ÇÀ» ÀÚµ¿È­ÇØÁÖ´Â ¸ÞÄ¿´ÏÁòÀ» Á¦°øÇÒ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì µ¥ÀÌÅÍ°¡ XML·Î ÀúÀåµÅ ÀÖ´Ù´Â °ÍÀ» ÀüÁ¦·Î ÇÑ´Ù. ¾÷µ¥ÀÌÆ® ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÌ¿ëÇÏ¸é »ç¿ëÀÚ µ¥ÀÌÅ͸¦ »õ ¹öÀüÀ¸·Î ¾÷µ¥ÀÌÆ®Çϵµ·Ï °í¾ÈµÈ ½ºÅ¸ÀϽÃÆ®»Ó¸¸ ¾Æ´Ï¶ó ¾î¶°ÇÑ XML ±¸¼º ÆÄÀÏÀ̵ç Àû¿ëÀ» ½Ãų ¼ö ÀÖ´Ù.
¾Õ¼­ ¾ð±ÞÇÑ ¹Ù¿Í °°ÀÌ XPath´Â XSLT¿Í µ¶¸³ÀûÀ¸·Î »ç¿ëµÈ´Ù. XPath´Â ÁÖ¾îÁø Á¶°Ç ¼¼Æ®¿¡ ºÎÇյǴ ƯÁ¤ ¿ä¼Ò¸¦ À§ÇØ XML ¹®¼­¸¦ °Ë»öÇÏ´Â µ¥ »ç¿ëµÉ ¼ö ÀÖÀ¸¸ç, ÀÌ·¯ÇÑ ±â´ÉÀº XML µ¥ÀÌÅÍ¿¡¼­ ÈçÈ÷ ³ªÅ¸³ª´Â º¹ÀâÇÑ °èÃþÀû ½ºÆ®·°Ã³¸¦ ´Ù¸¦ ¶§ ¸Å¿ì Áß¿äÇÏ´Ù.

Á¦´ë·Î »ç¿ëÇÏ°í Àִ°¡
½ºÅ¸ÀϽÃÆ®¿¡¼­ ƯÁ¤ ÇÁ·Î¼¼½Ì ¸í·É¾î¸¦ µÎ¾î¾ß ÇÒÁö¸¦ °áÁ¤ÇÒ ¶§ °í·ÁÇØ¾ß ÇÒ Áß¿äÇÑ Áú¹®ÀÌ ÀÖ´Ù. ¿¹¸¦ µé¾î ÄÚµå ¾È¿¡¼­ ÅÛÇø´ ¸ÞÄ¿´ÏÁòÀ» ¿ÏÀüÈ÷ »ç¿ëÇÏ´Â ´ë½Å ¡®if¡¯³ª ¡®when¡¯°ú °°Àº È帧 Á¦¾î ¹®±¸¸¦ ¸¹ÀÌ »ç¿ëÇÏ°í Àִ°¡? ½ºÅ¸ÀϽÃÆ® ³»¿¡¼­ ÀÛ¾÷À» ¿Ï·áÇϱâ À§ÇØ XSLTÀÇ ÀͽºÅټǿ¡ ÀÇÁ¸Çϴ°¡? ¸¸¾à ÀÌ·± Áú¹®¿¡ ´ëÇÑ ´ë´äÀÌ ¿¹½º¶ó¸é ³Ê¹« ¸¹Àº ÇÁ·Î¼¼½ÌÀ» ¼öÇàÇϱâ À§ÇØ ½ºÅ¸ÀϽÃÆ®¸¦ °­ÇàÇÏ°í ÀÖ´Ù´Â ¾ê±â°¡ µÈ´Ù.
¸¹Àº ÇÁ·Î±×·¡¸ÓµéÀÌ ¼øÂ÷ÀûÀÎ ¹æ½ÄÀ¸·Î ¹®¼­¸¦ ó¸®ÇÏ´Â ½ºÅ¸ÀϽÃÆ®¸¦ ¸¸µå´Â µ£¿¡ ºüÁø´Ù. °³¹ßÀÚµéÀº XSLTÀÇ ÅÛÇø´ ¸ÞÄ¿´ÏÁò¿¡ ¼÷´ÞµÇ´Â °Ô ¾Æ´Ï¶ó ÀÌ·± ½ÄÀ¸·Î »ç¿ëÇÏ´Â µ¥ ½À°üÀÌ µÈ ½º½º·Î¸¦ ¹ß°ßÇÏ°Ô µÉ °ÍÀÌ´Ù. XSLT¸¦ »ç¿ëÇÏ´Â °¡Àå °­·ÂÇÑ ¹æ½ÄÀº ÀÌ°ÍÀ» ÆÐÅÏ ¸ÅĪ(pattern-matching) ¾ð¾î·Î »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ¿©±â¼­´Â ÅÛÇø´ÀÌ ¼Ò½º ¹®¼­¿¡¼­ ¹ß°ßµÇ´Â ÆÐÅÏÀ» ±â¹ÝÀ¸·Î Àû¿ëµÈ´Ù. ÀÌ·± ½ÄÀ¸·Î ÇÁ·Î±×·¡¹ÖÀ» ÇÏ´Â ¹æ¹ýÀº ½Ã°£À» µé¿© ¹è¿ï ¸¸ÇÑ °¡Ä¡°¡ Àִµ¥, ±× ÀÌÀ¯´Â ÀÌ°ÍÀÌ XSLT·Î ÇÏ¿©±Ý ÈξÀ ´Ù¾çÇÑ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ°Ô ÇØÁֱ⠶§¹®ÀÌ´Ù.
±Ã±ØÀûÀ¸·Î XSLT ÇÁ·Î¼¼½º¸¦ ÁÖµµÇÏ´Â ½ºÅ¸ÀϽÃÆ®´Â ÄÚµå¸ç, ÀÌ°ÍÀº ÀÚ¹Ù³ª C# ÄÚµå ±â¹ÝÀ» ´Ù·ê ¶§¿Í °°Àº ¹æ½ÄÀ¸·Î Ãë±ÞµÅ¾ß ÇÑ´Ù. ½ºÅ¸ÀϽÃÆ®¸¦ µ¥ÀÌÅÍ º¯Çü ÇÁ·Î¼¼½º¸¦ ÁÖµµÇÏ´Â ¹èÄ¡µÈ ±¸¼º ÆÄÀϺ¸´Ùµµ ¾à°£ÀÌ¶óµµ ´õ ½±°Ô Ãë±ÞÀ» ÇÑ´Ù¸é, À߸ø µðÀÚÀεǰí Å×½ºÆ®µÇÁö ¾ÊÀº Äڵ忡 ÀÇÇØ ¹®Á¦¸¦ °Þ°Ô µÉ °ÍÀÌ´Ù.
ÀÌ¿Í ÇÔ²² XSLT ½ºÅ¸ÀϽÃÆ® µð¹ö±ëÀº ´Ù¸¥ Á¾·ùÀÇ Äڵ忡¼­º¸´Ù ´õ º¹ÀâÇÏ´Ù´Â »ç½Ç ¶ÇÇÑ ¿°µÎ¿¡ µÖ¾ß ÇÑ´Ù. ¿ÏÀü »ç¾çÀÇ IDE(Integrated Development Environment)¿¡¼­ Á¦°øÇÏ´Â ¿ÍÄ¡(watch)³ª ºê·¹ÀÌÅ©Æ÷ÀÎÆ®(breakpoint)ÀÇ µµ¿òÀÌ ¾øÀÌ µð¹ö±ëÀ» ÇØ¾ß Çϱ⠶§¹®ÀÌ´Ù.
JUnit³ª NUnit Å×½ºÆ® ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇϴ ȯ°æ¿¡¼­ À¯¿ëÇÏ°Ô »ç¿ëµÉ ¼ö ÀÖ´Â ÇÑ °¡Áö ÅøÀº XMLUnit ÀͽºÅÙ¼ÇÀÌ´Ù. XMLUnit´Â ±¸Ãà ÇÁ·Î¼¼½ºÀÇ ÀϺηΠXML Ãâ·Â¹°À» ÀÚµ¿½Ä¿¡¼­ ¿¹»óµÇ´Â °Í°ú ºñ±³ÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ¶ÇÇÑ ÀÔ·Â ¹× Ãâ·Â XML ¹®¼­¿¡ °¢°¢ Àß Á¤ÀÇµÈ DTD (Document Type Definition)³ª XML ½ºÅ°¸¶°¡ ÀÖÀ» °æ¿ì Å×½ºÆÃÀº ÈξÀ ´õ ¼ö¿ùÇØÁø´Ù.
XSLT´Â °³¹æÇü À¥ Ç¥ÁØÀ» ±â¹ÝÀ¸·Î Çϱ⠶§¹®¿¡, ÇϳªÀÇ Ç÷§ÆûÀ̳ª ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¸À» »ç¿ëÇØ¾ß ÇÏ´Â Á¦ÇÑÀÌ ¾ø´Ù. °³¹ßµÈ ¾î¶°ÇÑ ½ºÅ¸ÀϽÃÆ®µç ´Ù¾çÇÑ Ç÷§ÆûÀ¸·Î À̽ÄÀÌ °¡´ÉÇÏ´Ù. C++, ÀÚ¹Ù, ÆÞ ¹× ´å³Ý µî°ú °°Àº ¼ö¸¹Àº ¾ð¾î¿ëÀÇ XSLT ÇÁ·Î¼¼¼­°¡ ³ª¿Í ÀÖ´Ù.

¼ÒÁßÇÑ µµ±¸
¾Õ¼­ ¾ð±ÞÇÑ °Íó·³ ÀÌ µÎ °¡Áö ±â¼ú¿¡´Â °³¹ßÆÀ ½ºÅÂÇÁ°¡ ¹ß°ßÇÒ ¼ö ÀÖ´Â °Í ÀÌ»óÀÇ ¿ë·Ê°¡ ÀÖ´Ù. »õ·Î¿î ±â¼úÀ» ÀÌÇàÇÏ´Â µ¥ »ç¿ëµÇ´Â ¸¹Àº ¾ÖÇø®ÄÉÀ̼ǵéÀÌ XML ±¸Á¶È­ µ¥ÀÌÅ͸¦ ó¸®Çϱâ À§ÇØ XSLT¿¡ ÀÇÁ¸ÇÏ°í ÀÖ´Ù. ȸ»ç¿¡¼­ ÀÌ·± ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÀÔÇÒ ¶§´Â XSLTµµ ¶ÇÇÑ ÇÔ²² ¾ò°Ô µÉ °ÍÀÌ´Ù.
SOA(Service Oriented Architecture)ÀÇ ÀϺηÎ, ȸ»ç¿¡¼­´Â ȸ»ç ȯ°æ¿¡ ¾ÖÇø®ÄÉÀ̼ÇÀ» ÅëÇÕÇϱâ À§ÇØ ESB (Enterprise Service Bus)¸¦ ¹èÄ¡ÇÏ°í ½ÍÀ» °ÍÀÌ´Ù. º¸Åë XSLT¸¦ ESB ÀÌÇàÀÇ ÀϺηΠ»ý°¢Çϴµ¥, XSLT ÇÁ·Î¼¼½º´Â ±âÁ¸ÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀÌ À¥ ¼­ºñ½º³ª ±âŸ ¼ö´ÜÀ» ÅëÇØ Åë½ÅÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. XSLT´Â ¶ÇÇÑ ±âÁ¸ ¾ÖÇø®ÄÉÀ̼ǿ¡ ´ëÇÑ ÇϳªÀÇ ¾î´ðÅÍ·Î ±â´ÉÇÔÀ¸·Î½á SOA¿¡¼­ Àå·ÁÇϴ ǥÁØÀÌ ¼ö¿ëµÉ ¼ö ÀÖ°Ô ÇØÁØ´Ù.
XSLT¿¡ ¸¹ÀÌ ÀÇÁ¸ÇÏ´Â ¶Ç ÇÑ °¡Áö ±â¼ú·Î SAML(Se curity Assertion Markup Language)ÀÌ ÀÖ´Ù. SAMLÀº XML ±â¹Ý ½ºÆ®·°Ã³¸¦ ÅëÇØ Á¶Á÷¿¡¼­ ƯÁ¤ ¿£Æ¼Æ¼ÀÇ º¸¾È Ư¼º¿¡ ´ëÇØ ´Ù¸¥ Á¶Á÷°ú Åë½ÅÀ» ÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ÀÌ·¯ÇÑ Á¤º¸¸¦ °øÀ¯ÇÔÀ¸·Î½á Á¶Á÷µéÀº ´Ù¸¥ Á¶Á÷°úÀÇ ½Å¿ë °ü°è(trust relationship)¸¦ ³ÐÇô °¥ ¼ö ÀÖ´Ù.
XSLT°¡ ¸¶¹ýÀÇ ÃÑźÀº ¾Æ´Ï´Ù. ¸ðµç ¹®Á¦¸¦ ¿Ïº®È÷ ÇØ°áÇØ ÁÖÁö´Â ¸øÇÏÁö¸¸, ±×·± ±â¼úÀº ¾îµð¿¡µµ ¾ø´Ù. ±â¾÷ ³» µ¥ÀÌÅÍ ±¸Á¶È­ÀÇ ÁÖ ¹æ¾ÈÀ¸·Î XMLÀÌ ºÎ»óÇϸ鼭, ±â¾÷ ȯ°æÀ¸·Î °¡Á®¿À´Â ¸¹Àº ±â¼ú ¹× ¾ÖÇø®ÄÉÀ̼ǵéÀÌ XSLT¿Í XPath¸¦ »ç¿ëÇÏ°í ÀÖÀ» °ÍÀÌ´Ù. XSLT¿Í XPath¸¦ Á¶È­·Ó°Ô »ç¿ëÇÏ´Â ¹æ½ÄÀ» Á¦´ë·Î ¾Ë°í ÀÖ´Ù¸é À̵éÀº ºÐ¸í ¼ÒÁßÇÑ µµ±¸·Î ´ç½ÅÀÇ ITµµ±¸ÇÔ¿¡ ÀÚ¸®ÀâÀ» °ÍÀÌ´Ù.


XSLT¿Í XPathÀÇ ¹Ì·¡
ÇöÀçÀÇ XSLT 2.0¿¡´Â º¸´Ù °­·ÂÇÑ ¿¡·¯ ó¸® ±â´ÉÀÌ Àִµ¥, ÀÌ´Â º¸´Ù ´Ù¾çÇÑ ¿¡·¯ »óȲ¿¡¼­ ¿¡·¯ ¼³¸í ¸Þ½ÃÁö¸¦ Á¦°øÇϱ⠶§¹®¿¡, ½ºÅ¸ÀϽÃÆ®¿¡¼­ ¹®Á¦¸¦ µð¹ö±ëÇÏ´Â µ¥ ÇÊ¿äÇÑ ½Ã°£À» ´ÜÃàÇÏ°Ô µÈ´Ù. XSLT 2.0Àº ¶ÇÇÑ ½ÃÄö½º¸¦ Æ÷ÇÔÇØ º¸´Ù ´Ù¾çÇÑ µ¥ÀÌÅÍ À¯ÇüÀ» ´Ù·ç¸ç, »ç¿ë¹ýÀ» Á¦´ë·Î ÁöÅ°Áö ¸øÇؼ­ ¹ß»ýµÇ´Â ¿¹¿Ü »óȲÀ» ó¸®ÇØ ÁØ´Ù.
XSLT 2.0¿¡¼­´Â ½ºÅ¸ÀϽÃÆ®¿¡ ÁöÁ¤µÈ º¯ÇüÀÌ ´ÙÁß Ãâ·Â Æ®¸®¸¦ ¸¸µé ¼ö Àֱ⠶§¹®¿¡ »ç¿ëÀÚ°¡ ÇϳªÀÇ ¼Ò½º ¹®¼­¸¦ ÆĽÌÇؼ­ °á°ú¹°·Î ´ÙÁß ¹®¼­¸¦ ¸¸µé ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ÇϳªÀÇ µ¥ÀÌÅÍ ¼Ò½º·Î ´ÙÁß À¥ ÆäÀÌÁö¸¦ ¸¸µå´Â µ¥ »ç¿ëµÉ ¼ö ÀÖ´Ù.
ÇÑÆí ¹Ù¸¥ Ç¥Çö¹ý ¿£ÁøÀ» ÀÌ¿ëÇØ ¹®ÀÚ¿­ÀÌ °ËÅäµÇµµ·Ï ÇØÁÖ´Â °­·ÂÇÑ ¾Ö³Î¶óÀÌÁî ½ºÆ®¸µ ¸í·É¾îµµ Ãß°¡µÆ´Ù. ÀÌ°ÍÀº ½ºÅ¸ÀϽÃÆ®°¡ ÀÔ·Â ¹®¼­ÀÇ ºñ XML ½ºÆ®·°Ã³ ¼½¼ÇÀ» ±â¹ÝÀ¸·Î °ËÅ並 ÇÏ°í ÀÇ»ç°áÁ¤À» ÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ÀÌ·¯ÇÑ ¸í·É¾î´Â Ç¥ÁØ Á¤½Ä Ç¥Çö¹ýÀ» ÀÌ¿ëÇØ ÀÔ·Â ¹®ÀÚ¿­ ¾È¿¡¼­ ƯÁ¤ ÆÐÅÏÀ» ãÀ¸¸ç, ´Ù¸¥ ¸¹Àº ¹®¼­ À¯Çü¿¡±îÁö XSLT°¡ »ç¿ëµÉ ¼ö ÀÖ°Ô ÇÑ´Ù.
´Ù¸¥ ¸¹Àº »ç¼ÒÇÑ º¯°æµéÀÌ XSLTÀÇ À¯¿ë¼ºÀ» Çâ»ó½ÃÄÑ ÁÙ °ÍÀÌ´Ù. ¿¹¸¦ µé¾î 2.0¿¡´Â µ¥ÀÌÅÍ¿Í ½Ã°£ÀÇ Æ÷¸ÅÆÃÀ» ´Ù·ç´Â ¸í·É¾î°¡ Æ÷ÇÔµÅ, ÀÌ·¯ÇÑ °øÅëµÈ µ¥ÀÌÅÍ À¯ÇüÀ» ÈξÀ ´õ ½±°Ô »ç¿ëÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
ÈĹæ ȣȯ¼ºÀ» µ½±â À§ÇØ ½ºÅ¸ÀϽÃÆ®´Â ÀÚ½ÅÀÌ »ç¿ëÇÏ´Â XSLT ±Ç°í¾ÈÀÇ ¹öÀüÀ» XSLT¿¡°Ô ¾Ë¸± ¼ö ÀÖ´Ù. ¸¸¾à ÀÌ °ªÀÌ 1.0À¸·Î ÁöÁ¤µÅ ÀÖÀ¸¸é, ÇÁ·Î¼¼¼­°¡ ÈĹæ ȣȯ¼º ¸ðµå·Î ÀÛµ¿ÇÒ ¼ö ÀÖ´Ù. XSLT ÄÚµå ±â¹Ý¿¡ »ó´çÇÑ ½Ã°£°ú ³ë·ÂÀ» ±â¿ï¿´´Ù¸é, ÀÌ·¯ÇÑ ´É·Â ´öºÐ¿¡ ½ºÄÉÁÙ¿¡ µû¶ó »õ·Î¿î ±Ç°í¾ÈÀ¸·ÎÀÇ º¯ÇüÀ» ÀÌÇàÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÇÏÁö¸¸ ÀÌ·¯ÇÑ ÈĹæ ȣȯ¼º ¿É¼ÇÀ» ÀÌÇàÇÏ´À³Ä ¾Æ´Ï³ÄÀÇ ¼±ÅÃÀº XSLT 2.0 ¼ÒÇÁÆ®¿þ¾î »ç¾÷Àڵ鿡°Ô ´Þ·Á ÀÖ´Ù´Â »ç½ÇÀ» ¸í½ÉÇØ¾ß ÇÑ´Ù.
XSLT 2.0°ú ³ª¶õÈ÷ ÀÛµ¿Çϵµ·Ï °í¾ÈµÈ XPa th2.0¿¡´Â ¶ÇÇÑ ´Ù¾çÇÑ µ¥ÀÌÅÍ À¯Çü Áö¿ø µî°ú °°Àº ¼ö¸¹Àº »õ·Î¿î »ç¾çµéÀÌ ÀÖ´Ù. ¾Æ¸¶ »õ·Î¿î µ¥ÀÌÅÍ À¯ÇüÀ¸·Î °¡Àå Áß¿äÇÑ °ÍÀº ½ÃÄö½º À¯ÇüÀÏ °ÍÀÌ´Ù. ½ÃÄö½º¿Í ±× °ü·Ã ±â´ÉµéÀ» »ç¿ëÇÔÀ¸·Î½á XPath 2.0Àº ¿¹Àü¿¡´Â ºÒ°¡´ÉÇß´ø ¹æ½ÄÀ¸·Î ÁÖ¹®¹ÞÀº µ¥ÀÌÅÍ ¸ñ·ÏÀ» ó¸®ÇÒ ¼ö ÀÖ´Ù.
XSLT 2.0°ú »ó´çÈ÷ À¯»çÇÏ°Ô XPath 2.0Àº ¹öÀü 1.0À¸·Î ±¸ÃàµÈ Ç¥Çö¹ýÀÌ À¯È¿Çϵµ·Ï º¸ÀåÇØ ÁÖ´Â ÈĹæ ȣȯ¼º ¸ðµå¸¦ Á¦°øÇÑ´Ù.
XSLT 2.0°ú XPath 2.0À» ½ÃÇèÇØ º¸°í ½Í´Ù¸é saxon.sourceforge.net¿¡¼­ ¿ÀǼҽº ÇÁ·Î¼¼¼­¸¦ ±¸ÇÒ ¼ö ÀÖ´Ù. ÀÌ ÇÁ·Î¼¼¼­´Â W3CÀÇ XSLT 2.0 »ç¾ç ¿¡µðÅÍÀÎ ¸¶ÀÌŬ ÄÉÀÌ ¹Ú»ç°¡ ¸¸µç °ÍÀÌ´Ù.
¨Ï µ¥ÀÌÅͳÝ(http://t564.ndsoftnews.com) ¹«´ÜÀüÀç ¹× Àç¹èÆ÷±ÝÁö | ÀúÀ۱ǹ®ÀÇ  

     

Àαâ±â»ç

 
°¡Àå ¸¹ÀÌ º» ±â»ç
Àλ硤µ¿Á¤¡¤ºÎÀ½
Àüü±â»çÀÇ°ß(0)  
 
   * 200ÀÚ±îÁö ¾²½Ç ¼ö ÀÖ½À´Ï´Ù. (ÇöÀç 0 byte/ÃÖ´ë 400byte)
   * ¿å¼³µî ÀνŰø°Ý¼º ±ÛÀº »èÁ¦ ÇÕ´Ï´Ù. [¿î¿µ¿øÄ¢]
Àüü±â»çÀÇ°ß(0)
»ç¸í: (ÁÖ)È­»ê¹Ìµð¾î | ÁÖ¼Ò: ¼­¿ï½Ã °­³²±¸ °­³²´ë·Î 124±æ 26 À¯¼ººôµù 2Ãþ | ÀüÈ­: 070-8282-6180 | Æѽº: 02-3446-6170
µî·Ï¹øÈ£: ¼­¿ï¾Æ03408 | µî·Ï³â¿ùÀÏ: 2014³â 11¿ù 4ÀÏ | ¹ßÇà³â¿ùÀÏ: 2003³â 12¿ù 17ÀÏ | »ç¾÷ÀÚµî·Ï¹øÈ£: 211-88-24920
¹ßÇàÀÎ/ÆíÁýÀÎ: Á¤¿ë´Þ | Åë½ÅÆǸž÷½Å°í: ¼­¿ï°­³²-01549È£ | °³ÀÎÁ¤º¸°ü¸® ¹× û¼Ò³âº¸È£ Ã¥ÀÓÀÚ: ¹ÚÇϼ® | È£½ºÆà »ç¾÷ÀÚ: (ÁÖ)¾ÆÀ̳×ÀÓÁî
Copyright ¨Ï 2010 µ¥ÀÌÅͳÝ. All rights reserved. mail to webmaster@datanet.co.kr