|
|
| ¹Ì´Ï |
2004-12-02 22:02:01, VIEW : 8,122 |
|
|
|
|
3. ÅÛÇø´ ÆÄÀÏ ½ÇÇà
Áö³ °Á¿¡¼ MSSQL¿¡¼ÀÇ URL·Î ÁúÀǾ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº¸¾Ò½À´Ï´Ù.
Áö³ °ÁÂó·³ ¸¸¾à »ç¿ëÀÚ¿¡°Ô ÁÖ¼Ò ÀÔ·Ââ¿¡ ±×·¸°Ô ±ä SQL Äõ¸®¸¦ ³ÖÀ¸¶ó°í Çϸé
¾Æ¹«µµ »ç¿ëÇÏÁö ¾Ê´Â »çÀÌÆ®°¡ µÉ °Ì´Ï´Ù.
±×·¡¼ ´ë¾ÈÀ¸·Î ÀúÀå ÇÁ·Î½ÃÀú¶ó´Â °É ÀÌ¿ëÇÑ ¹æ¹ýÀ» Áö³¹ø¿¡ Àá±ñ ¾Ë¾ÆºÃ¾úÁÒ..
¿À´ÃÀº °Å±â¿¡¼ ¾ð±ÞÇÑ ¶Ç´Ù¸¥ ¹æ½ÄÀÎ ÅÛÇø´À̶ó´Â °Í¿¡ ´ëÇÑ °Á¸¦ ÁøÇàÇϰڽÀ´Ï´Ù.
ÇÁ·Î±×·¥À» ÇÏ´Ùº¸¸é ÅÛÇø´À̶õ ¸»Àº Âü ¸¹ÀÌ »ç¿ëµÇ´Â °Í °°½À´Ï´Ù.
¿ø·¡ ÅÛÇø´(Template)ÀÇ Àǹ̴ º»¶ß´Â °ø±¸³ª ÇüÆÇ °°Àº °ÍÀ» ÀǹÌÇÕ´Ï´Ù.
¹Ì¸® ¸ð¾çÀ» ¸¸µé¾î ³õ°í °Å±â¿¡ ³»¿ë¹°À» ³ÖÀ¸¸é »õ·Î¿î °ÍÀÌ ¸¸µé¾î Áö´Â °ÍÀÌÁö¿ä..
ÇÁ·Î±×·¥¿¡¼µµ ºñ½ÁÇÏ°Ô »ç¿ëµÈ´Ù°í º¼ ¼ö ÀÖÁÒ.. ÀÏÁ¤ÇÑ Æ²À» Á¤Çسõ°í
°è¼ÓÀûÀ¸·Î °¡Á®´Ù°¡ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ±×ÃÝ..
ÀÏÁ¤ÇÑ Æ²À̶ó.. MSSQL¿¡¼ ÀÏÁ¤ÇÑ Æ²À̶ó¸é ¹«¾ùÀϱî¿ä?
±×°Ç ¹Ù·Î SQL¹®À̶ó°í »ý°¢ÇÒ ¼ö ÀÖ°ÚÁÒ..
¿ì¸®°¡ Áö³ °Á¿¡¼ URL¿¡ ±æ°Ô ÀÔ·ÂÇß´ø SQL¹®À» ÅÛÇø´ ÆÄÀÏ ¾È¿¡ ³ÖÀ¸¸é µÇ°ÚÁÒ.
±âº» ¹ß»óÀº °£´ÜÇϳ׿ä. ±×·¸ÁÒ. ¾Æ¹«¸® º¹ÀâÇÑ °Íµµ °á±¹ ¾ÆÁÖ °£´ÜÇÑ °ÍºÎÅÍ ½ÃÀÛÇÏÀݾƿä..
ÄÄÇ»ÅͰ¡ ¾ÆÁÖ º¹ÀâÇÏ°í ¿À·£ ½Ã°£ÀÌ °É¸®´Â ¿¬»êÀ» ¼öÇàÇÑ´Ù°í ÇÏ´õ¶óµµ
±×°ÍÀº 010101ÀÇ Á¶ÇÕµÈ ¿¬»ê¿¡¼ºÎÅÍ ½ÃÀÛÇÏÀݾƿä..
¿¨!! ±×°Ô Áö±Ý À̰Ŷû ¹«½¼»ó°üÀÌÁö T__T;;
ÅÛÇø´ »ç¿ëÀÇ ÀåÁ¡
±×·¸´Ù¸é ÅÛÇø´À» »ç¿ëÇÏ¸é ¹«½¼ ÀåÁ¡ÀÌ ÀÖÀ»±î¿ä?
Books Online¿¡ ´ÙÀ½°ú °°Àº ÀåÁ¡ÀÌ ³ª¿Í ÀÖ½À´Ï´Ù.
(Âü°í·Î MSSQL 2000 ÇÑ±ÛÆÇ¿¡¼´Â ¿Â¶óÀÎ ¼³¸í¼¶ó°í Çϳ׿ä.)
- SQL Äõ¸® ¶Ç´Â XPath Äõ¸®¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
- ÅÛÇø´ ½ÇÇà°á°ú¸¦ À¯È¿ÇÑ XML ¹®¼·Î ¸¸µì´Ï´Ù.
- SQL¹®À̳ª XPath Äõ¸®¿¡ Àü´ÞÇÒ ¼ö ÀÖ´Â ¸Å°³º¯¼ö¸¦ Á¤ÀÇÇÕ´Ï´Ù.
- À̸§ °ø°£À» ¼±¾ðÇÕ´Ï´Ù.
- XSL ½ºÅ¸ÀÏ ½ÃÆ®¸¦ °á°ú ¹®¼¿¡ Àû¿ëÇϵµ·Ï ÁöÁ¤ÇÕ´Ï´Ù.
- º¸¾ÈÀ» Çâ»ó ½Ãŵ´Ï´Ù.
ÀÌ·± ÀåÁ¡ÀÌ ÀÖ´Ù´Â ±º¿ä.. ¹«½¼ ¼Ò¸°Áö´Â ¾Æ·¡ÀÇ ¿¹Á¦µéÀ» ÅëÇØ¼ ´À³¢½Ã±æ ¹Ù¶ø´Ï´Ù.
ÅÛÇø´ ¹®¼ÀÇ ±¸¼º
ÅÛÇø´ ¹®¼´Â ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î ÀÌ·ç¾îÁ® ÀÖ½À´Ï´Ù.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"
sql:xsl="XSL ÆÄÀϸí">
<sql:header>
<sql:param>..</sql:param>
<sql:param>..</sql:param>...n
</sql:header>
<sql:query>
SQL ¹®Àå
</sql:query>
<sql:xpath-query mapping-schema="½ºÅ°¸¶ ÆÄÀϸí">
XPath Äõ¸®
</sql:xpath-query>
</ROOT>
±âº»ÀûÀÎ XML ¹®¼ÀÇ Çü½ÄÀ» °¡Áö°í Àֳ׿ä.. Çϳª¾¿ »ìÆìº¸µµ·Ï ÇÒ±î¿ä?
<ROOT>´Â ÀϹÝÀûÀÎ ·çÆ® ¿¤¸®¸ÕÆ®¶ó°í »ý°¢ÇÏ¸é µË´Ï´Ù. °è¼Ó ³ª¿À³×¿ä..
·çÆ® ¿¤¸®¸ÕÆ® ÀÌÁ¦´Â ¹«¾ùÀÎÁö °¨ÀÌ ¿Ã°Ì´Ï´Ù.
¿ì¸®°¡ Áö³ °ÁÂÀÇ URL Äõ¸®¿¡¼ ³¡ºÎºÐ¿¡ root=ROOT¶ó°í »ç¿ëÇß´ø ºÎºÐÀÌ »ý°¢³ª³ª¿ä?
¹Ù·Î ±×ºÎºÐÀÌ ÀÌ°É·Î ÇØ°áµË´Ï´Ù. À§ÀÇ ÀåÁ¡¿¡ µÎ ¹øÂ° À¯È¿ÇÑ XML ¹®¼¸¦ ¸¸µç´Ù´Â °ÍÀº
À̰ÍÀ» ÀǹÌÇÏ´Â °ÍÀÔ´Ï´Ù.
¿ì¸®°¡Å×½ºÆ®µµ ÇØºÃÁö¸¸ °á°ú°¡ ¿©·¯ ¿¤¸®¸ÕÆ®·Î ³ª¿Ã °æ¿ì¿¡
root=ROOT¸¦ »ý·«ÇÏ¸é ¹®Á¦°¡ ¹ß»ýÇß¾úÁÒ. ±×°ÍÀÌ ¾ø¾îÁø °Ì´Ï´Ù.
<ROOT>°¡ ¾Æ´Ñ ´Ù¸¥ À̸§À¸·Î »ç¿ëÇϼŵµ µË´Ï´Ù.
¿¹¸¦ µé¾î <computer> ÀÌ·± ½ÄÀ¸·Îµµ »ç¿ëÇÒ ¼ö ÀÖÁÒ.
±×·±µ¥ ¼Ó¼ºÀ¸·Î µÎ°¡Áö°¡ »ç¿ëµÇ°í ÀÖ½À´Ï´Ù. Çϳª´Â
xmlns:sql="urn:schemas-microsoft-com:xml-sql"
¹Ù·Î NameSpace ¶ó´Â °ÍÀ» Á¤ÀÇÇϰí Àִµ¥¿ä.
¿©±â¿¡¼ º¸¸é sqlÀ̶ó´Â namespace¸¦ Á¤ÀÇÇϰí ÀÖ´Â °Ì´Ï´Ù.
±×·¡¼ÀÎÁö ÀÚ½Ä ¿¤¸®¸ÕÆ®µéÀ» º¸¸é sql:~~ ÀÌ·±½ÄÀ¸·Î »ç¿ëÇϰí ÀÖÁÒ..
NameSpace´Â À¥»ó¿¡¼ °°Àº XML űװ¡ »ç¿ëµÉ °æ¿ì ±×°ÍÀ» ±¸ºÐÇϱâ À§Çؼ
»ç¿ëµÈ´Ù°í ÇÏ¿´Áö¿ä. ¹Ù·Î MSSQL°ú °ü·ÃµÈ ű×ÀÇ namespace´Â
urn:schemas-microsoft-com:xml-sql À̰Ŷó´Â °ÍÀÌÁö¿ä.
µÎ ¹øÂ° ¼Ó¼ºÀÌ ¹Ù·Î XSLÀ» ÁöÁ¤ÇÏ´Â °ÍÀÔ´Ï´Ù.
Áï, °á°ú¹®¼¸¦ ÀÏÁ¤ÇÑ Æ÷¸ËÀ¸·Î º¸°í ½Í´Ù¸é ¿©±â¿¡ XSL ¹®¼¸¦ ÁöÁ¤ÇÏ¸é µÇÁö¿ä.
ÀÌ¾î¼ ·çÆ® ¿¤¸®¸ÕÆ®ÀÇ ÀÚ½ÄÀ¸·Î ¼¼°¡Áö°¡ ³ª¿É´Ï´Ù.
ÀÌ ¼¼ °³ÀÇ ¿¤¸®¸ÕÆ®´Â °¢°¢ »ý·«µÇ¾îµµ ¹®Á¦°¡ µÇÁö ¾Ê½À´Ï´Ù.
Çϳª¾¿ »ìÆìº¸µµ·Ï ÇÏÁÒ.
<sql:header>
<sql:param>..</sql:param>
<sql:param>..</sql:param>...n
</sql:header>
Çì´õ¶õ ¸»ÀÌ Âü ¸¹ÀÌ ¾²À̳׿ä. Áï ³»¿ëÀº ¾Æ´Ï¶õ ¾ê±â³×¿ä.. ±×·³ ¹»±î¿ä?
<header>ű×ÀÇ ÀÚ½ÄÀ» º¸¸é <param>À̶õ űװ¡ »ç¿ëµÇ³×¿ä. ¹Ù·Î ÆÄ¶ó¹ÌÅÍ, ¸Å°³º¯¼öÀÔ´Ï´Ù.
ÀúÀå ÇÁ·Î½ÃÀú¿¡¼µµ ¸Å°³º¯¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
±×·¯³ª SQLÀÇ ÀúÀå ÇÁ·Î½ÃÀúÀÇ ¸Å°³º¯¼ö ¼±¾ð ¹æ¹ýÀ» ¾Ë¾Æ¾ß Çß½À´Ï´Ù.
ÇÏÁö¸¸ ÅÛÇø´Àº ÀÚü¿¡¼´Â ű׷Π¸Å°³º¯¼ö¸¦ Áö¿øÇÏÁÒ.. »ç¿ë¹ýÀº ¾Æ·¡¿¡¼ ¼³¸íÇÒ²²¿ä..
<sql:query>
SQL ¹®Àå
</sql:query>
ÀÌ°Ç Äõ¸®³×¿ä.. ¿ì¸®°¡ ÁúÀǾ ´øÁú SQL¹®À» ¿©±â¿¡ ³Ö¾î ÁÖ¸é µË´Ï´Ù.
¸¶Âù°¡Áö·Î ´ÙÀ½Àº
<sql:xpath-query mapping-schema="½ºÅ°¸¶ ÆÄÀϸí">
XPath Äõ¸®
</sql:xpath-query>
XPath Äõ¸®ÀÔ´Ï´Ù. ÀÌ °æ¿ì´Â ¸ÅÇÎ ½ºÅ°¸¶¶ó´Â °ÍÀÌ ÇÔ²² µ¿¹ÝµÇ¾î¾ß ÇÕ´Ï´Ù.
XPath Äõ¸®´Â DB°¡ ¾Æ´Ï¶ó XML ¹®¼¿¡ ÁúÀǾ ´øÁö´Â °ÍÀÔ´Ï´Ù.
±×·¸´Ù¸é DB¿¡¼ °á°ú¸¦ °¡Á®¿Í¼ XML ¹®¼·Î ÀÏ´Ü ¸¸µé¾î¾ß ÇÏÀݾƿä..
ÀÌ°É ½ºÅ°¸¶°¡ ó¸®ÇØ ÁÖ´Â °Ì´Ï´Ù.
±×¸®°í XPath Äõ¸®¸¦ ½ºÅ°¸¶°¡ ó¸®ÇÑ °á°ú¿¡ ´øÁö¸é »õ·Î¿î XML ¹®¼°¡ ³ª¿À´Â °ÍÀÌÁö¿ä.
XPath Äõ¸®¿¡ ´ëÇØ¼´Â ´ÙÀ½ °Á·Π½ºÅ°¸¶¸¦ ¾Ë¾Æº¸±¸¿ä.. Çϵµ·Ï ÇÏÁÒ..
±âº»ÀûÀÎ »çÇ×À» ¼³¸íÇÏ¿´½À´Ï´Ù. ±×·³ ÅÛÇø´ÀÇ ¿¹Á¦¸¦ ÇØº¸µµ·Ï ÇÏÁÒ.
¿©·¯ºÐÀÇ Çϵåµð½ºÅ©ÀÇ mini¶õ µð·ºÅ丮¿¡ °¡º¸¸é ÇÏÀ§¿¡
template¶õ µð·ºÅ丮¸¦ ¸¸µç°É º¼¼ö ÀÖÀ» °Ì´Ï´Ù.
¾Æ·¡ ¿¹Á¦¸¦ ¿©·¯ºÐÀÇ PC¿¡¼ ½ÇÇàÇØ º¸·Á¸é ÀÚ·á¸ðÀ½¿¡¼ ÇØ´ç ¼Ò½º¸¦ ¹Þ¾Æ¼
template µð·ºÅ丮¿¡ ¾ÐÃàÀ» Ç®¾î ÁÖ¸é µË´Ï´Ù.
ÅÛÇø´À» ÀÌ¿ëÇÑ SQL Äõ¸® ½ÇÇà
¸ÕÀú ¾ÆÁÖ ´Ü¼øÇÑ °ÍºÎÅÍ ÇØº¸µµ·Ï ÇÏÁÒ.
- Customers Å×ÀÌºí¿¡¼ °í°´ ¾ÆÀ̵ð¿Í ȸ»ç¸íÀ» ·¹Äڵ常 °¡Á®¿Í¶ó
SELECT top 2 CustomerID, CompanyName
FROM Customers
FOR XML AUTO
Äõ¸® ºÐ¼®±â¿¡¼ À§¿Í °°ÀÌ ÀÔ·ÂÇÏ¸é µË´Ï´Ù. À̰ÍÀ» ÅÛÇø´À¸·Î ¸¸µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
ÆÄÀϸí : SQLQuery1.xml <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:query>
SELECT top 2 CustomerID, CompanyName
FROM Customers
FOR XML AUTO
</sql:query>
</ROOT>
Áï, À§¿¡¼ º¸¿©ÁØ ±âº»ÇüÅ¿¡ SQL ¹®À常 ³ÖÀ¸¸é µÈ´Ù´Â °ÍÀÔ´Ï´Ù.
±×·³. ½ÇÇàÀº ¾î¶»°Ô ÇÒ ¼ö ÀÖÀ»±î¿ä?
http://localhost/mini/template/SQLQuery1.xml
xmlis.pe.krÀº IIS ¼¹ö À̸§À̰í¿ä. mini´Â ¿ì¸®°¡ ÀÛ¼ºÇÑ °¡»óµð·ºÅ丮 À̸§ÀÔ´Ï´Ù.
template´Â IIS °¡»ó µð·ºÅ丮 °ü¸® À¯Æ¿¸®Æ¼¿¡¼ ÀÛ¼ºÇÑ ÅÛÇø´À» ÀúÀåÇÏ´Â °¡»óÀ̸§ÀÔ´Ï´Ù.
¿ì¸®´Â ÀÌ °¡»óÀ̸§À» template¶ó°í ÇÏ¿´°í¿ä. ½ÇÁ¦ µð·ºÅ丮µµ mini\template·Î ÇÏ¿´Áö¿ä..
¸¸¾à °¡»óÀ̸§À» ´Ù¸£°Ô ÇÏ¿´´Ù¸é À§ÀÇ template¸¦ º¯°æÇÏ¸é µË´Ï´Ù.
¾î¶°Å³ª.. Áö³¹ø¿¡ URLÄõ¸®¿¡ ºñÇØ¼ ÈξÀ °£°áÇÏÁÒ..
À̹ø¿¡ Á» ´Ù¸¥°É ÇØº¸µµ·Ï ÇÏÁÒ..
- Order Details Å×ÀÌºí¿¡¼ UnitPrice°¡ 10º¸´Ù Å« °ÍÀ» °¡Á®¿Í¶ó
SELECT top 2 *
FROM [Order Details]
WHERE UnitPrice > 10
FOR XML AUTO
À§Ã³·³ »ç¿ëÇÏ¸é µÇ°ÚÁö¿ä.. ÅÛÇø´À¸·Î ¸¸µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
ÆÄÀϸí : SQLQuery2.xml <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:query>
SELECT top 2 *
FROM [Order Details]
WHERE UnitPrice > 10
FOR XML AUTO
</sql:query>
</ROOT>
À§ÀÇ ¹®ÀåÀ» ÇÔ ½ÇÇàÇØ º¼±î¿ä?
http://localhost/mini/template/SQLQuery2.xml
¹®Á¦°¡ ¾øÀÌ ½ÇÇàµË´Ï´Ù. ±×·¯³ª À§ ÅÛÇø´ ÆÄÀÏÀº Áß¿äÇÑ XMLÀÇ ±ÔÄ¢À» ¾î±â°í ÀÖ½À´Ï´Ù.
¹Ù·Î WHERE UnitPrice > 10 ÀÌ ºÎºÐÀÔ´Ï´Ù. > ±âÈ£´Â XML¿¡¼ »ç¿ëµÇ´Â Ư¼ö¹®ÀÚÀÔ´Ï´Ù.
Áï, »ç¿ëÇÒ ¼ö°¡ ¾ø½À´Ï´Ù. ÀÌ·± °ÍÀº ¿£ÅÍÆ¼ ÂüÁ¶·Î º¸Åë ³ªÅ¸³»Áö¿ä.. HTML¿¡¼µµ ±×·¸°Ô ÇÕ´Ï´Ù.
>·Î ³ªÅ¸³»¾ß ÇÏÁö¿ä..
Áï, À§ ¹®Àå¿¡ ´ëÇÑ Á¤È®ÇÑ Ç¥ÇöÀº ´ÙÀ½°ú °°½À´Ï´Ù.
ÆÄÀϸí : SQLQuery3.xml <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:query>
SELECT top 2 *
FROM [Order Details]
WHERE UnitPrice > 10
FOR XML AUTO
</sql:query>
</ROOT>
http://localhost/mini/template/SQLQuery3.xml
°á°ú´Â °°½À´Ï´Ù. ù ¹øÂ° °æ¿ìµµ XMLÀÌ ÇØ¼®ÇÒ ¼ö ÀÖµµ·Ï MSSQL¿¡¼ Áö¿øÇÏ´Â µí ÇÕ´Ï´Ù.
ÇÏÁö¸¸ º¸´Ù XML ´ä°Ô »ç¿ëÇÏ·Á¸é µÎ ¹øÂ° ó·³ »ç¿ëÇÏ¼Å¾ß ÇÕ´Ï´Ù.
´ÙÀ½À¸·Î ÅÛÇø´¿¡¼´Â ÀúÀåÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÒ ¼ö ¾øÀ»±î¿ä?
ÀúÀå ÇÁ·Î½ÃÀúÀÇ ÀåÁ¡À» ¾à°£ ¼³¸íÇÑ ÀûÀÌ ÀÖ½À´Ï´Ù.
ºÐ¸íÈ÷ ÀúÀå ÇÁ·Î½ÃÀú´Â ¼Óµµ³ª ¼º´É¸é¿¡¼ À¯¸®ÇÑ Á¡ÀÌ ÀÖ½À´Ï´Ù.
±×°É ÅÛÇø´¿¡¼ »ç¿ëÇÏ·Á¸é ¹Ù·Î SQL ¹®ÀåÀÌ µé¾î°¡´Â ÀÚ¸®¿¡
EXEC ÀúÀåÇÁ·Î½ÃÀú¸í
ÇÏ°í »ç¿ëÇÏ¸é µË´Ï´Ù.
Áö³ °Á¿¡ ¸¸µç CategoryInfo ÀúÀå ÇÁ·Î½ÃÀú¸¦ Çѹø ºÒ·¯º¸±â·Î ÇϰڽÀ´Ï´Ù.
ÅÛÇø´Àº ´ÙÀ½°ú °°½À´Ï´Ù.
ÆÄÀϸí : SQLQuery4.xml <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:query>
EXEC CategoryInfo
</sql:query>
</ROOT>
http://localhost/mini/template/SQLQuery4.xml
URL Äõ¸®¿Í °°Àº °á°ú¸¦ °¡Á®¿É´Ï´Ù. È®ÀÎÇØ º¸½ÃÁÒ...
http://localhost/mini?sql=EXEC+CategoryInfo&root=ROOT
Âü°í·Î URLÄõ¸®Ã³·³ URL¿¡ ÅÛÇø´À» Á÷Á¢ ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
±×·¯¸é ´Ü¼øÇÑ URLÄõ¸®º¸´Ù ´õ ±æ¾îÁö°ÚÁÒ...
ÅÛÇø´¿¡ ¸Å°³º¯¼ö ÁöÁ¤
À̹ø¿¡´Â ÅÛÇø´¿¡ ¸Å°³º¯¼ö¸¦ ÁöÁ¤ÇÏ´Â °Í¿¡ ´ëÇØ¼ ¾Ë¾Æº¸µµ·Ï ÇϰڽÀ´Ï´Ù.
¸ÕÀú ÀúÀå ÇÁ·Î½ÃÀú¸¦ Çϳª ¸¸µé¾î º¸°Ú½À´Ï´Ù. ¿©·¯ºÐµµ Äõ¸® ºÐ¼®±â¿¡¼ ½ÇÇàÇØ º¸¼¼¿ä..
CREATE PROC CategoryInfoWithTemplate
@CategoryName varchar(35)
AS
SELECT CategoryName, Description
FROM Categories
WHERE Categories.CategoryName = @CategoryName
FOR XML AUTO
À§ ÇÁ·Î½ÃÀú´Â Ä«Å×°í¸®¸íÀ» ¸Å°³º¯¼ö·Î ¹Þ¾Æ¼ °°Àº Ä«Å×°í¸®ÀÇ À̸§°ú ¼³¸íÀ» Ãâ·ÂÇϰí ÀÕ½À´Ï´Ù.
ÀÌ·±ÇÑ °æ¿ì ¸Å°³º¯¼ö¸¦ ó¸®Çϱâ À§Çؼ <param>ű׸¦ »ç¿ëÇÏ¸é µË´Ï´Ù. ´ÙÀ½ ÅÛÇø´À» Âü°íÇϼ¼¿ä.
ÆÄÀϸí : Parameter1.xml <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:header>
<sql:param name='CategoryName'>Condiments</sql:param>
</sql:header>
<sql:query>
EXEC CategoryInfoWithTemplate @CategoryName
</sql:query>
</ROOT>
¸ÕÀú ½ÇÇàÇØ º¸µµ·Ï ÇÏÁÒ..
http://localhost/mini/template/Parameter1.xml
ºÐ¸íÈ÷ ÀúÀå ÇÁ·Î½ÃÀú´Â ¸Å°³º¯¼ö¸¦ ÇÊ¿ä·Î ÇÕ´Ï´Ù.
±×·¯³ª ¿ì¸®´Â ¸Å°³º¯¼ö¸¦ À§ÀÇ URL¿¡¼ ÁöÁ¤ÇÏÁö ¾Ê¾Ò½À´Ï´Ù.
±×·±µ¥ °á°ú°¡ ³ª¿Ô³×¿ä..
¹Ù·Î ÅÛÇø´ÀÇ <sql:param>¿¤¸®¸ÕÆ®ÀÇ ³»¿ëÀÎ Condiments°¡ ±âº»°ªÀÎ °ÍÀÔ´Ï´Ù.
Áï, »ç¿ëÀÚ°¡ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ±âº»ÀûÀ¸·Î ¸Å°³º¯¼ö¸¦ Condiments·Î »ç¿ëÇÑ´Ù´Â °ÍÀÌÁö¿ä.
±×·¯¸é ³»°¡ ¸Å°³º¯¼ö¸¦ ÁöÁ¤ÇϰíÀÚ ÇÑ´Ù¸é ´ÙÀ½Ã³·³ URLÀ» ³Ö¾îÁÖ¸é µË´Ï´Ù.
http://localhost/mini/template/Parameter1.xml?CategoryName=Beverages
ÀÌÇØ°¡ µË´Ï±î¿ä?? ±×·¸´Ù¸é ¸Å°³º¯¼ö´Â ÀúÀå ÇÁ·Î½ÃÀú¿¡¼¸¸ »ç¿ëÇÒ ¼ö ÀÖ³ª¿ä?
±×·¸Áö ¾Ê½À´Ï´Ù. ´ÙÀ½°ú °°Àº ÅÛÇø´¿¡¼ º¸¸é SQL¹®ÀÇ WHEREÀý¿¡¼ ¸Å°³º¯¼ö¸¦ »ç¿ëÇÑ °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù.
ÆÄÀϸí : Parameter2.xml <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:header>
<sql:param name='CustomerID'>ALFKI</sql:param>
<sql:param name='EmployeeID'>1</sql:param>
</sql:header>
<sql:query>
SELECT CustomerID, CompanyName
FROM Customers
WHERE CustomerID = @CustomerID
FOR XML AUTO
</sql:query>
<sql:query>
SELECT EmployeeID, LastName, FirstName
FROM Employees
WHERE EmployeeID = @EmployeeID
FOR XML AUTO
</sql:query>
</ROOT>
Àá±ñ ÅÛÇø´ÀÇ ³»¿ëÀ» »ìÆìº¸µµ·Ï ÇÏÁÒ.
<sql:header>¿¡ <sql:param>À¸·Î ¸Å°³º¯¼ö¸¦ ÁöÁ¤ÇÏ¿´½À´Ï´Ù.
<sql:param>ÀÇ ³»¿ëÀ» º¸¸é,
°í°´ ID¿Í Á÷¿ø IDÀÇ ±âº»°ªÀº °¢°¢ ALFKI¿Í 1ÀÌ µÈ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.
±×¸®°í <sql:query>°¡ Áö±Ý±îÁö´Â Çϳª¸é ¾²¿´´Âµ¥ ¿©±â¼´Â 2°³ÀÇ ¹®ÀåÀÌ ¼öÇàµË´Ï´Ù.
°¢°¢ÀÇ °á°ú°¡ ·çÆ® ¿¤¸®¸ÕÆ®ÀÇ ÀÚ½ÄÀ¸·Î µé¾î°¡°ÚÁÒ..
ÀÚ.. ±×·³ °á°ú¸¦ Çѹø º¼±î¿ä??
http://localhost/mini/template/Parameter2.xml
µÑÁßÀÇ °í°´ ID¸¸ ¸Å°³º¯¼ö °ªÀ» ÁöÁ¤ÇÏ¸é ´ÙÀ½°ú °°ÀÌ µÇ°ÚÁÒ..
ÀÌ °æ¿ì Á÷¿ø ID´Â ±âº»°ªÀ» »ç¿ëÇÕ´Ï´Ù.
http://localhost/mini/template/Parameter2.xml?CustomerID=BERGS
2°³ÀÇ ¸Å°³º¯¼ö°ªÀ» ¸ðµÎ Àü´ÞÇÑ´Ù¸é ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
http://localhost/mini/template/Parameter2.xml?CustomerID=BERGS&EmployeeID=2
ÅÛÇø´¿¡ XSL Àû¿ë
ÅÛÇø´¿¡ XSLÀ» Àû¿ëÇϱâ À§Çؼ´Â XSLÀ» ÁöÁ¤ÇÏ´Â ºÎºÐÀÌ ÇÊ¿äÇÕ´Ï´Ù.
À̰Ϳ¡´Â µÎ°¡Áö ¹æ¹ýÀÌ Àִµ¥¿ä..
ù°´Â À§¿¡¼ º¸¾ÒµíÀÌ ÅÛÇø´ÀÇ ·çÆ® ¿¤¸®¸ÕÆ®¿¡ sql:xsl¼Ó¼º°ªÀ» ÁöÁ¤ÇÏ¿© XSLÀ» Àû¿ëÇÒ ¼ö ÀÖ°í¿ä.
µÑ°´Â ÅÛÇø´ÀÌ ¾Æ´Ñ URL¿¡ XSLÆÄÀÏÀ» ÁöÁ¤ÇÏ´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.
¸ÕÀú ù ¹øÂ° ¹æ¹ýÀ» »ìÆìº¸µµ·Ï ÇÏÁÒ..
¿©±â¿¡¼ »ç¿ëµÇ´Â XSLÆÄÀÏÀº URL Äõ¸®¿¡¼ »ç¿ëÇÑ employee.xslÀÔ´Ï´Ù.
ÆÄÀϸí : StyleSheet1.xml <root xmlns:sql="urn:schemas-microsoft-com:xml-sql"
sql:xsl="employee.xsl">
<sql:query>
SELECT FirstName, LastName
FROM Employees
FOR XML AUTO
</sql:query>
</root>
¸ÕÀú °á°ú¸¦ º¸°í À̾߱â ÇÏÁÒ..
http://localhost/mini/template/StyleSheet1.xml
¾û... ¿ì¸®°¡ ±â´ëÇÑ ÇüŰ¡ ¾Æ´Ï³×¿ä..
°á°ú¸¦ º¸¸é HTMLÆÄÀÏ Çü½ÄÀ̱â´Â Çѵ¥.. XML ÇüÅ·Π³ªÅ¸³ª°í ÀÖ½À´Ï´Ù.
¿Ö±×·²±î¿ä??
ÅÛÇø´À» »ç¿ëÇÒ °æ¿ì MSSQLÀÌ ¸®ÅÏÇÏ´Â °á°ú°ªÀÇ Å¸ÀÔÀº XMLÀÌ ±âº»ÀÔ´Ï´Ù.
±×·¡¼ ÀÌ °á°úµµ XMLó·³ º¸¿©ÁÖ´Â °Ì´Ï´Ù.
ÀÌ·¯ÇÑ °á°ú°ªÀÇ Å¸ÀÔÀ» ÁöÁ¤ÇÒ ¼ö°¡ Àִµ¥..±×°Ô ¹Ù·Î contenttypeÀÔ´Ï´Ù.
º¸Åë contenttype=text/xmlÀÌ ±âº»À̶ó´Â °ÍÀÌÁÒ..
±×·¡¼ contenttype=text/html·Î º¯°æÇØ ÁÖ¸é µË´Ï´Ù. À̰ÍÀº ´ÙÀ½Ã³·³ »ç¿ëÇÕ´Ï´Ù.
http://localhost/mini/template/StyleSheet1.xml?contenttype=text/html
°á°ú°¡ Àß ³ª¿ÀÁÒ..
±×·±µ¥..Á¦ °Á¸¦ Á¤»óÀûÀ¸·Î µû¶ó¿À½Å ºÐÁß¿¡ Ȥ ÀÌ·± Áú¹®À» ÇÏ´Â ºÐÀÌ °è½Ç °Í °°³×¿ä..
URL Äõ¸® °ÁÂÀÇ ¸¶Áö¸·¿¡
http://localhost/mini?sql=SELECT+FirstName,LastName+FROM+Employees+FOR+XML+AUTO&root=root&xsl=employee.xsl
ÀÌ·¸°Ô »ç¿ëÇÏ¿´°Åµç¿ä.. contenttypeÀÌ ¾ø´Âµ¥µµ XML·Î Ç¥½ÃµÇÁö ¾Ê°í HTML·Î Àß ³ª¿Ô½À´Ï´Ù.
±×·¸ÁÒ... ¿Ö±×·²±î¿ä?
Á¦°¡ ÆÇ´ÜÇϱ⿡.. URL Äõ¸®¿¡¼´Â ¸ÕÀú SQL¹®À» ´øÁ®¼ XML ¹®¼¸¦ °¡Á®¿É´Ï´Ù.
±×¸®°í ³ª¼ XSLÀ» Àû¿ëÇÏÁÒ..
±×·¯´Ï±ñ
XML ¹®¼ + XSL ¹®¼ = IE 5.0À̻󿡼 Çü½Ä¿¡ ¸ÂÃß¾î Ãâ·Â
ÀÌ µÇ´Â °Ì´Ï´Ù.
ÇÏÁö¸¸ ÅÛÇø´¿¡ µé¾î°£ °ÍÀº °á°ú ¹®¼°¡ XSLÀ» Àû¿ë½ÃÄÑ HTML ÇüÅ·Π³ª¿À±â´Â ÇÏÁö¸¸
ÅÛÇø´ÀÇ °á°ú´Â XML¹®¼ÀÎ °ÍÀÔ´Ï´Ù.
±×·¯¹Ç·Î
XML ¹®¼ = IE 5.0À̻󿡼 XML Çü½ÄÀ¸·Î Ãâ·Â
µÇ´Â °ÍÀÌÁö¿ä..
¸Â´Â ¸» °°³ª¿ä?? °á°ú¸¦ º¸°í¼ Á¦°¡ ³»¸° °á·ÐÀÔ´Ï´Ù.
ÅÛÇø´¿¡ XSLÀ» Àû¿ëÇÏ´Â µÎ ¹øÂ° ¹æ¹ýÀº URL¿¡ XSLÀ» ÁöÁ¤ÇÑ´Ù°í ÇÏ¿´ÁÒ..
ÆÄÀϸí : StyleSheet2.xml <root xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:query>
SELECT FirstName, LastName
FROM Employees
FOR XML AUTO
</sql:query>
</root>
·çÆ® ¿¤¸®¸ÕÆ®ÀÇ ¼Ó¼ºÁß sql:xslÀÌ ¾ø¾îÁ³½À´Ï´Ù. ´ë½Å URL¿¡ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÏ¸é µË´Ï´Ù.
http://localhost/mini/template/StyleSheet2.xml?xsl=employee.xsl
ÀÚ! ¿©±â¿¡¼µµ contenttypeÀ» ÁöÁ¤ÇÏÁö ¾Ê¾ÒÁÒ..
ÀÌ·¸°Ô ÇØ¼ ÅÛÇø´¿¡ ´ëÇØ¼ ¾Ë¾Æº¸¾Ò½À´Ï´Ù.
óÀ½ Á¢ÇÒ ¶§´Â ¾î·Æ°Ô ´À²¸ÁúÁöµµ ¸ð¸£Áö¸¸ °¡¸¸È÷ º¸¸é
XMLÀÇ ±âº»À» ±×¸® ¹þ¾î³ªÁö ¾ÊÀº ³»¿ëµéÀÔ´Ï´Ù.
MSSQL °Á¿¡¼´Â ¸¹Àº ¿¹Á¦¸¦ ´Ù·ç·Á°í ÇÏ´Ï ³»¿ëÀÌ Á» ±æ¾îÁö³×¿ä..
±âº»ÀûÀÎ °Í¸¸ ÇÏ·Á°í Çߴµ¥.. ÇÏ´Ùº¸´Ï À̰ÍÀú°Í ´ÙÇÏ°Ô µÇ³×¿ä.
¾ÕÀ¸·Î 2~3Â÷·Ê Á¤µµ¸é MSSQL °Á°¡ ¸¶¹«¸® µÉ °Í °°³×¿ä. ±×·³... 2002/08/21 ¹Ì´Ï
|
|
|
| ¹ÚÁ¤¹Î |
SQLQuery2.xml ¿Í SQLQuery3.xml ÀÇ Â÷ÀÌÁ¡ÀÌ ¹«¾ðÁö¿ä?? |
2006-07-04
 |
| ±èµ¿ÇÑ |
Ȥ½Ã ¼Ò½ºÄڵ带 ¾Èº¸¼Ì´Ù¸é SQLQuery2.xml ¿Í SQLQuery3.xmlÀÇ Â÷ÀÌÁ¡À» ¸ð¸£½Ç¼öµµ Àְڳ׿ä..
º¸½Ã¸é ¾Æ½Ã°ÚÁö¸¸..
SQLQuery3.xml¿¡¼±
WHERE UnitPrice > 10
´ë½Å¿¡
WHERE UnitPrice > 10
ÀÌ·¸°Ô ½áÀÖ½À´Ï´Ù.
Á¤È®ÇÑ ±âÁØÀº Àúµµ ¸ð¸£Áö¸¸ ¿¤¸®¸ÕÆ® ³»¿ë¾È¿¡ µé¾î°£ < ³ª > ,&ÀÌ·±°Ç ¸í·É¹®À¸·Î ÀνĵǼ..¿¡·¯°¡ ³ª´Â °æ¿ì°¡ ÀÖ´õ¶ó±¸¿ä..
<tag1> A < B or C > A </tag1>..
¸¸¾à¿¡..ÁøÂ¥·Î ¸¸¾à¿¡ Àú·± ±¸¹®ÀÌ ÀÖ´Ù°í °¡Á¤ÇßÀ»¶§..
Á¦ Àǵµ´Â A°¡ Bº¸´Ù À۰ųª C°¡ Aº¸´Ù Å©¸é..À̶ó´Â ³»¿ëÀ» tag1À̶ó´Â ű׿¡ ³Ö°í ½Í¾úÀ»»ÓÀÌÁö¸¸..
Àú·¸°Ô¸¸ ½á³õÀ¸¸é ÀÐÀ»¶§ tag1À̶ó´Â ű׻çÀÌ¿¡ <B or C>¶ó´Â ÀÌ»óÇÑ À̸§ÀÇ Å±װ¡ µé¾îÀÖ´Ù..¶ó°í »ý°¢ÇÒ¼ö Àְŵç¿ä...»ç¶÷À̶ó¸é ¾Æ´Ñ°É ¾Ë°ÚÁö¸¸...ÄÄÅÍ´Â »ç¶÷ÀÌ ¾Æ´Ï´Ï;;
±×·¡¼ '<' ´ë½Å¿¡ '<'
'>' ´ë½Å¿¡ '>' ¶ó°í ¾²´Â°Å·Î ¾Ë°íÀÖ´Ù´Â..ÄÄÅͰ¡ Àǵµ¸¦ ¾Ë¾Æ¸Ô°Ô Çϱâ À§Çؼ ¸»ÀÌÁÒ.
SQLQuery2.xmlÀÇ °æ¿ì¿¡¼± ¿Ö ¿¡·¯°¡ ¾È³ª´ÂÁö¸¦ À߸𸣰ÚÁö¸¸¿ä..
¹¹..°°Àº½ÄÀ¸·Î ¸»ÇÏÀÚ¸é..ÄÄÅͰ¡ ÀúÁ¤µµ´Â Àǵµ¸¦ ¾Ë¾Æ¸Ô´Â´Ù..¶ó´Â°Å°ÚÁö ½Í³×¿ä...
»ç½Ç Àúµµ À߸ð¸£Áö¸¸...Àú¶û °°Àº °í¹ÎÀ» ÇϽŰŠ°°¾Æ¼.½áº¾´Ï´Ù.. (ÀÌ¹Ì ¾Æ¼ÌÀ»¶ó³ª..;;) |
2006-07-24
 |
| ±èµ¿ÇÑ |
ÀúÀ§¿¡ SQLQuery2.xml °ú SQLQuery3.xmlÀÇ ³»¿ëÀÌ ¶È°°ÀÌ ½áÁ®Àִ°Ç
ÀÎÅÍ³Ý ÀͽºÇ÷η¯°¡ <¶ó°í ¾²¸é ÀÚüÀûÀ¸·Î <·Î º¸ÀÌ°Ô Çϰí
>¶ó°í ¾²¸é >·Î º¸ÀÌ°Ô Çϱ⶧¹®ÀΰŠ°°³×¿ä..
&´Â ¾²¸é ¹«Á¶°Ç ¸í·É¹®À¸·Î ÀÐÈ÷±â¶§¹®¿¡ ±×³É ¹®ÀÚÀÇ Àǹ̷Π¾²·Á¸é &¶ó°í ½á¾ß &°Ô ³ª¿É´Ï´Ù.
±×·¡¼ Áö±Ý Àú°°Àº°æ¿ì´Â ¾î¶»°Ô ¾²³Ä¸é...<¶ó´Â ¹®ÀÚ¸¦ ¾²±âÀ§ÇØ ½ÇÁ¦·Ð &lt;¶ó°í ¾²°í Àִ°ÅÁÒ. |
2006-07-24
 |
|