8.14. XML ¹®¼­ Áö¿ø

XML (È®À强 »ý¼º ¾ð¾î) Áö¿øÀº ´Ü Çϳª¸¸ÀÇ ±â´ÉÀÌ ¾Æ´Õ´Ï´Ù. ±×·¯³ª µ¥ÀÌÅͺ£À̽º¿¡ ÀÇÇØ ¿©·¯°¡Áö ±â´ÉµéÀÌ Áö¿øµË´Ï´Ù. ÀÌ ±â´ÉÀº ÀúÀå, import/export, À¯È¿¼º, À妽Ì, º¯°æÀÇ È¿°ú, °Ë»ö, º¯È¯ XML ¿¡¼­ SQL ¸ÊÇÎÇÏ´Â °ÍÀ» Æ÷ÇÔÇÕ´Ï´Ù. PostgreSQL´Â XML ±â´ÉÀÇ ÀüºÎ°¡ ¾Æ´Ñ ÀϺθ¸ Áö¿øÇÕ´Ï´Ù. ÇâÈÄ PostgreSQL ¸±¸®Áî¿¡¼­ °è¼ÓÀûÀ¸·Î XMLÁö¿øÀ» Çâ»ó½Ãų °ÍÀÔ´Ï´Ù. µ¥ÀÌÅͺ£À̽º¿¡¼­ÀÇ XML »ç¿ëÀÇ °³¿ä´Â http://www.rpbourret.com/xml/XMLAndDatabases.htm¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

ÀúÀå

PostgreSQL´Â Ưº°È­µÈ XML µ¥ÀÌÅÍÇüÀ» °¡Áö°í ÀÖÁö ¾Ê½À´Ï´Ù. À¯Àú´Â ÀϹÝÀûÀÎ TEXTÇÊµå ³»¿¡ XML ¹®¼­¸¦ ÀúÀåÇØ¾ß ÇÕ´Ï´Ù. ¸¸¾à ¹®¼­¸¦ ³ª´©·Á¸é ÀÌ ÄÄÆ÷³ÍÆ®¸¦ ºÐ¸®ÇؾßÇÕ´Ï´Ù. ±×·¸°Ô °¢ ¿ä¼Ò´Â º°µµ·Î ÀúÀåµË´Ï´Ù. À̸¦ À§ÇØ ¹Ìµé ¿þ¾î ¼Ö·ç¼ÇÀ» »ç¿ëÇØ¾ß¸¸ Çϸç, Çѹø¸¸ ½ÇÇàµÇ¾î¾ß ÇÕ´Ï´Ù. µ¥ÀÌÅÍ´Â ¸±·¹À̼ÇÈ­µÇ°í, ÀÌ¿¡ µû¶ó 󸮵ǾîÁ®¾ß ÇÕ´Ï´Ù.

Import/Export

Å×À̺íÀ» ¸±·¹ÀÌ¼Ç ½Ã۱â À§ÇÑ XML ¸ÊÇÎÀ» Áö¿øÇÏ´Â ±â´ÉÀÌ ¾ø½À´Ï´Ù. ¿ÜºÎÀÇ ÅøÀÌ À̸¦ À§ÇØ »ç¿ëµÇ¾îÁ®¾ß ÇÕ´Ï´Ù. XML¸¦ exportÇÏ´Â °¡Àå °£´ÜÇÑ ¹æ¹ýÀº HTML (\pset format html)¸ðµå¿¡ psql¸¦ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ±×¸®°í ¿ÜºÎ ÅøÀ» »ç¿ëÇÏÇÑ XML·ÎºÎÅÍ XHTML Ãâ·ÂÀ» º¯È¯½Ãŵ´Ï´Ù.

À¯È¿¼º

/contrib/xml2´Â xml_is_well_formed()¶ó°í ºÒ¸®´Â ÇÔ¼ö¸¦ °¡Áý´Ï´Ù. ÀÌ ÇÔ¼ö´Â CHECK Á¦¾à¿¡¼­ »ç¿ëµÇ¾îÁ®¾ß ÇÏ¸ç ±Ô°Ý¿¡ ¸Â´Â XML Çʵ带 Æ÷ÇÔÇϵµ·Ï °­¿äµÇ¾îÁý´Ï´Ù. ƯÁ¤ÇÑ XML½ºÅ°¸¶¿¡ ´ëÇØ À¯È¿¼ºÀ» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. ¼­¹öÃø XML±â´ÉÀ» °¡Áø ¾ð¾î´Â ƯÁ¤ ½ºÅ°¸¶ XML °Ë»ç¸¦ Çϵµ·Ï »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.

À妽Ì

/contrib/xml2 ÇÔ¼ö´Â ƯÁ¤ÇÑ XML Çʵå À妽º·Î À妽º Ç¥Çö½Ä¿¡¼­ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ¸ðµç XML ¹®¼­ÀÇ ÄÁÅÙÃ÷¸¦ À妽ºÇϱâ À§Çؼ­ full-text Àε¦½Ì Åø /contrib/tsearch2À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹°·Ð, Tsearch2 À妽º´Â XML ÀνÄÀ» ÇÏÁö ¾Ê½À´Ï´Ù. ±×·¡¼­ Ãß°¡ÀûÀ¸·Î /contrib/xml2 °Ë»ç°¡ Äõ¸®¿¡ Ãß°¡µÇ¾î¾ß ÇÕ´Ï´Ù.

º¯°æ

UPDATE ÀÌ XML Çǵ忡¼­ º¯°æµÇÁö ¾ÊÀ¸¸é, XMLµ¥ÀÌÅÍ´Â ¿À·¡µÈ Çà°ú »õ·Î¿î Çà »çÀÌ¿¡¼­ °øÀ¯µÇ¾îÁý´Ï´Ù. ±×·¯³ª, UPDATE´Â XMLÇʵ带 º¯°æÇÕ´Ï´Ù. ÃæºÐÇÑ º¯°æµÈ XMLÇÊµå »çº»Àº ³»ºÎÀûÀ¸·Î ÀÛ¼ºµÇ¾î¾ß¸¸ ÇÕ´Ï´Ù.

°Ë»ö

XPath °Ë»öÀº /contrib/xml2¸¦ »ç¿ëÇÏ¿© ½ÇÇàµË´Ï´Ù. ÀÌ´Â XML ÅØ½ºÆ® ¹®¼­¸¦ ó¸®Çϰí, ¿äûµÈ Äõ¸®¿¡ ´ëÇÑ °á°ú °ªÀ» ¸®ÅÏÇÕ´Ï´Ù.

º¯È¯

/contrib/xml2´Â XSLT¸¦ Áö¿øÇÕ´Ï´Ù.(È®À强 ¼­½Ä½ÃÆ® ¾ð¾î º¯È¯).

XMLÀ» SQL·Î ¸ÊÇÎ

ÀÌ´Â °ü°è ±¸Á¶¿¡¼­ XMLµ¥ÀÌÅÍ·Î º¯È¯ÇÏ´Â °ÍÀ» Æ÷ÇÔÇÕ´Ï´Ù. PostgreSQL ´Â ÀÌ·¯ÇÑ ¸ÊÇÎÀ» ³»ºÎÀûÀ¸·Î Áö¿øÇÏÁö ¾ÊÀ¸¸ç conversion°ú °°Àº ¿ÜºÎÀûÀÎ Åø¿¡ ÀÇÁ¸ÇÕ´Ï´Ù.

¾ø¾îÁø ±â´Éµé

¾ø¾îÁø ±â´ÉÀº SQL/XML ±¸¹® (ISO/IEC 9075-14)°ú XML ÀúÀåÀ» ÃÖÀûÈ­Çϱâ À§ÇÑ XML µ¥ÀÌÅÍÇü ÀÔ´Ï´Ù.