|
|
¹Ì´Ï  |
2004-12-02 22:08:13, VIEW : 6,305 |
|
|
|
|
4. ÁÖ¼® XDR ½ºÅ°¸¶
ÀÚ~ MSSQL¿¡¼ XML °ü·Ã ÁúÀÇ·Î ¿ì¸®´Â ù°, URL Äõ¸®¸¦ ¹è¿ü°í¿ä. µÑ°·Î ÅÛÇø´À» »ç¿ëÇÏ´Â ¹ýÀ» ¹è¿ü½À´Ï´Ù.
¿À´ÃÀº XDR ½ºÅ°¸¶¸¦ »ç¿ëÇØ¼ XPath¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¹è¿ï °Ì´Ï´Ù.
±×·³.. ¿À´Ã °Á¸¦ ½ÃÀÛÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
XDR ½ºÅ°¸¶??
XML Schema¶ó´Â °Í¿¡ ´ëÇØ¼ Á¦°¡ ±âÃÊ °Á¿¡¼ ¾ð±ÞÇÑ ÀûÀÌ Àֳ׿ä.
±âÁ¸ÀÇ DTDÀÇ ´ÜÁ¡À» ±Øº¹Çϱâ À§ÇØ »õ·Ó°Ô ³ªÅ¸³µ´Ù°í Çß¾úÁÒ..
ÇÏÁö¸¸ ¿©±â¼ »ç¿ëÇÏ´Â XDR ½ºÅ°¸¶´Â À§¿¡¼ ¾ê±âÇÑ XML Schema¿Íµµ Á¶±Ý ´Ù¸¨´Ï´Ù.
¿ÀÈ÷·Á XML Schema¸¦ °£¼ÒÈ ½ÃÄ×´Ù°í º¼ ¼ö ÀÖÁÒ.
À̸§µµ ±×·¡¼ XML-Data Reduced SchemaÀÎÁöµµ ¸ð¸£°Ú³×¿ä.
ÀÚ! ±×·³ ÀÌ ½ºÅ°¸¶¸¦ ¾î¶»°Ô MSSQL¿¡¼ »ç¿ëÇÒ±î¿ä??
±âÁ¸ SQL¿¡ ºä¶ó´Â °³³äÀÌ ÀÖ½À´Ï´Ù.
¸ðµÎ ¾Æ½Ã°ÚÁö¸¸ °£´ÜÈ÷ ¼³¸íÇÏ¸é ±âÁ¸ Å×À̺íµé¿¡¼ ÀÚ·áµéÀ» »Ì¾Æ¼ »õ·Î¿î °¡»ó Å×À̺íÀ» ¸¸µéÁÒ.
±×·³ ¿ì¸®´Â ÀÌ ºä¿¡ ´ëÇØ¼ ±âÁ¸ Å×À̺í°ú °ÅÀÇ À¯»çÇÏ°Ô ÀÛ¾÷µéÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù.
°©ÀÚ±â À¢ ºäÀ̾߱â³Ä±¸¿ä??
¹Ù·Î XDR ½ºÅ°¸¶°¡ MSSQL¿¡¼ º¼ ¶§ XML ºäÀ̰ŵç¿ä.
¹«½¼ À̾߱âÀΰí Çϳĸé¿ä! ½ÇÁ¦ Å×ÀÌºí¿¡¼ µ¥ÀÌÅ͸¦ °¡Á®¿É´Ï´Ù.
±×·¡¼ ¿ì¸®°¡ Á¤ÀÇÇØ ³õÀº ½ºÅ°¸¶´ë·Î XML ÆÄÀÏÀ» ¸¸µì´Ï´Ù.
±×¸®°í ³ª¼ XML ÆÄÀÏ¿¡ XPath Äõ¸®¸¦ ´øÁ®¼ °á°ú¸¦ °¡Á®¿À´Â °Ì´Ï´Ù.
¿©±â¼ ½ÇÁ¦ Å×ÀÌºí¿¡¼ µ¥ÀÌÅ͸¦ °¡Á®¿Í °¡»óÀÇ XML ¹®¼¸¦ »ý¼ºÇÏ´Â °ÍÀÌ ¹Ù·Î ºä¿Í ºñ½ÁÇÏ´Ù´Â °ÍÀÌÁÒ.
±×·³ XDR ½ºÅ°¸¶´Â ¾î¶² ÇüÅ·ΠµÇ¾î ÀÖÀ»±î¿ä??
<?xml version="1.0"?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data">
...
</Schema>
ÀÌ·± ÇüÅ·ΠµÇ¾î ÀÖ½À´Ï´Ù. ¿ì¸®°¡ ¾Ë°í ÀÖ´Â ±âÁ¸ XML ¹®¼ÀÇ ÇüÅÂ¿Í Å©°Ô ´Ù¸¥ ¹Ù°¡ ¾ø½À´Ï´Ù.
XDR ½ºÅ°¸¶ÀÇ ±âº» ¿¹Á¦
ÇѰ¡Áö »ý°¢ÇØ ºÁ¾ß ÇÒ ¹®Á¦°¡ ÀÖ½À´Ï´Ù. µðºñ´Â 2Â÷¿øÀûÀÎ ±¸Á¶À̰í, XMLÀº Æ®¸® ±¸Á¶ÀÔ´Ï´Ù.
Áï, ¼·Î ¸ÅÇÎÇÒ ¶§ ¾à°£ÀÇ ¹®Á¦°¡ ÀÖÀ» ¼ö ÀÖ´Ù´Â °ÍÀÌÁÒ..
±×·¡¼ MSSQL¿¡¼´Â ±âº»ÀûÀ¸·Î ¿¤¸®¸ÕÆ®´Â Å×À̺í°ú ¼Ó¼ºÀº Çʵå¿Í ¸ÅÇεǵµ·Ï ó¸®Çϰí ÀÖ½À´Ï´Ù.
Áï, ¾Æ¹«·± ÁöÁ¤À» ÇÏÁö ¾ÊÀ¸¸é Å×À̺í¸íÀÌ ¿¤¸®¸ÕÆ®°¡ µÇ°í Çʵå»ç ¼Ó¼ºÀ̸§ÀÌ µÇ´Â °ÍÀÌÁö¿ä.
¸ÕÀú ¿À´Ã »ç¿ëÇÏ´Â ¼Ò½º¸¦ ÀÚ·á¸ðÀ½¿¡¼ ¹Þ¾Æ°¡¼¼¿ä..
´ÙÀ½ ¿¹Á¦¸¦ »ìÆìº¸µµ·Ï ÇÏÁÒ..
ÆÄÀϸí : Schema1.xml
<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:datatypes"
xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<ElementType name="Employees" >
<AttributeType name="EmployeeID" />
<AttributeType name="FirstName" />
<AttributeType name="LastName" />
<attribute type="EmployeeID" />
<attribute type="FirstName" />
<attribute type="LastName" />
</ElementType>
</Schema>
±âº»ÀûÀÎ XML ¼±¾ðÀÌ µé¾î°¡±¸¿ä.. ·çÆ® ¿¤¸®¸ÕÆ®´Â <Schema>ÀÔ´Ï´Ù. ¿©±â±îÁö´Â ¸¹ÀÌ Çß´ø °ÍÀÌÁÒ..
±×·±µ¥ ·çÆ® ¿¤¸®¸ÕÆ®¿¡ ¸¹Àº NameSpaceµéÀÌ ¼±¾ðµÇ¾î ÀÖ½À´Ï´Ù. °£´ÜÈ÷ ¼³¸íÇϵµ·Ï ÇÏÁÒ.
xmlns="urn:schemas-microsoft-com:xml-data"
À̺κÐÀº XDR ½ºÅ°¸¶¸¦ »ç¿ëÇÑ´Ù°í ¼±¾ðÇÏ´Â ºÎºÐÀÔ´Ï´Ù. Áï, ±âº» NameSpace°¡ µÇ°ÚÁÒ..
<Schema> ¿¤¸®¸ÕÆ®´Â ±âº» NameSpaceÀÎ urn:schemas-microsoft-com:xml-data·ÎºÎÅÍ ÆÄ»ýµÈ´Ù°í º¼ ¼ö ÀÖ½À´Ï´Ù.
xmlns:dt="urn:schemas-microsoft-com:datatypes"
À̺κÐÀº µ¥ÀÌÅÍ Å¸ÀÔÀ» ÁöÁ¤Çϱâ À§ÇÑ NameSpace¶ó°í »ý°¢Çϼ¼¿ä.
dt NameSpace¸¦ ÀÌ¿ëÇØ¼ µðºñ¿Í XML »çÀÌÀÇ µ¥ÀÌÅ͸¦ ŸÀÔ¿¡ ¸Âµµ·Ï ÁÖ°í ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù.
xmlns:sql="urn:schemas-microsoft-com:xml-sql">
XDR ½ºÅ°¸¶¿¡¼´Â sql:~~ Çϴ ű׸¦ ¸¹ÀÌ »ç¿ëÇÕ´Ï´Ù. Å×À̺íÀ̳ª Çʵå ÁöÁ¤¿¡µµ »ç¿ëµÇ°í,
°ü°è¸¦ ¼³Á¤ÇÒ ¶§µµ »ç¿ëµË´Ï´Ù. ¾ÕÀ¸·Î ¸¹ÀÌ ¾Ë¾Æ º¼ °ÍÀä.. ÀÌ·¯ÇÑ °ÍÀ» ÁÖ¼®À̶ó°í Çϳ׿ä.
ÀÌ·¯ÇÑ ÁÖ¼®À» ÁöÁ¤ÇÏ´Â NameSpace°¡ ¹Ù·Î urn:schemas-microsoft-com:xml-sqlÀÔ´Ï´Ù.
´ë·«ÀûÀ¸·Î ÀÌ·±°Å±¸³ª ÇÏ°í ³Ñ¾î°¡½Ã±â ¹Ù¶ø´Ï´Ù. ½ÇÀº Àúµµ Àß ¸ð¸£´Â ºÎºÐÀ̰ŵç¿ä ^_^;;
ÀÚ! ±× ´ÙÀ½¿¡ º¸¸é <ElementType>ÀÌ »ç¿ëµÇ°í ÀÖ½À´Ï´Ù.
¸» ±×´ë·Î ¿¤¸®¸ÕÆ®¸¦ ¼±¾ðÇϰí ÀÖ´Ù°í º¸½Ã¸é µË´Ï´Ù. ¿¤¸®¸ÕÆ®ÀÇ À̸§Àº name="Employees"¿Í °°Àº ÇüÅ·ΠÁöÁ¤Çϰí Àֳ׿ä.
´ÙÀ½À» º¼±î¿ä?
<AttributeType name="EmployeeID" />
<AttributeType name="FirstName" />
<AttributeType name="LastName" />
±× ´ÙÀ½¿¡ º¸¸é <AttributeType>ÀÌ »ç¿ëµÇ°í ÀÖ½À´Ï´Ù.
¼Ó¼ºÀ¸·Î ¼¼ °³¸¦ ¼±¾ðÇϰí ÀÖ´Â °ÍÀÌÁö¿ä.. ±×·¸ÁÒ..
¾û... ±×·±µ¥.. ¾Æ·¡¸¦ º¸¸é ¶Ç ÀÌ·± ¼±¾ðÀÌ ÀÖ½À´Ï´Ù.
<attribute type="EmployeeID" />
<attribute type="FirstName" />
<attribute type="LastName" />
¾Æ´Ï ¶È°°¾Æ º¸À̴µ¥ ¿Ö ÀÌ°É ÀÌ·¸°Ô ³ª¶õÈ÷ ½èÀ»±î¿ä?
±âº»ÀûÀ¸·Î <ElementType>À̳ª <AttributeType>°ú °°Àº °ÍÀº ¿¤¸®¸ÕÆ®³ª ¼Ó¼ºÀ» ¼±¾ð¸¸ ÇØ ³õÀº °Ì´Ï´Ù.
±×¸®°í <attribute>ÀÌ ½ÇÁ¦ ¼±¾ðÇÑ ¿¤¸®¸ÕÆ®³ª ¼Ó¼ºÀÌ µé¾î°¥ À§Ä¡¸¦ ³ªÅ¸³»°í ÀÖ´Â °ÍÀÌÁÒ..
±×·¯´Ï±ñ 3°³ÀÇ ¼Ó¼ºÅ¸ÀÔÀ» ¼±¾ðÇϰí¿ä.. ¹Ù·Î ÀÌ¾î¼ ±×°É Employees ¿¤¸®¸ÕÆ®ÀÇ ¼Ó¼ºÀ¸·Î Á¤ÀÇÇÑ °É·Î ÇØ¼®ÇÏ¸é µË´Ï´Ù.
±×·³ À§ÀÇ XDR ½ºÅ°¸¶¸¦ ÅëÇÏ¸é °á°ú´Â ´ÙÀ½Ã³·³ ³ªÅ¸³ª°Ô µÉ°Ì´Ï´Ù.
<Employees EmployeeID="1" FirstName="Nancy" LastName="Davolio"></Employees>
±×·¸°ÚÁÒ.. ±×·±µ¥ ¹®Á¦ÀÔ´Ï´Ù.!!!
¾î¶»°Ô XPath Äõ¸®¿Í ¿¬°áÀ» ÇÏÁÒ..
Áö³¹ø¿¡ ÅÛÇø´À» ¼³¸íÇÒ ¶§ ÅÛÇø´ ³»¿¡ ¿Ã¼ö ÀÖ´Â ¿¤¸®¸ÕÆ®·Î ¼¼°¡Áö°¡ ÀÖ´Ù°í Çß½À´Ï´Ù.
<sql:header>
<sql:query>
<sq:xpath-query>
ÀÌÁß¿¡ À§ÀÇ 2°¡Áö´Â ¾Ë¾ÆºÃÁÒ.. ¹Ù·Î ¼¼ ¹øÂ° °ÍÀ» »ç¿ëÇÏ¸é µË´Ï´Ù.
´ÙÀ½Ã³·³ ÆÄÀÏÀ» ¸¸µé¾î¼ ³Ö¾îº¸µµ·Ï ÇÏÁÒ...
ÆÄÀϸí : SchemaTemplate1.xml
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:xpath-query mapping-schema="Schema1.xml">
/Employees
</sql:xpath-query>
</ROOT>
Áö³ °Á¿¡¼ »ìÆìº» °Í°ú ºñ½ÁÇÕ´Ï´Ù. µÎ°¡Áö Á¤µµ¸¸ »ìÆìº¼²²¿ä...
¸ÕÀú
<sql:xpath-query mapping-schema="Schema1.xml">
mapping-schemaÀÔ´Ï´Ù. À̰ɷΠÀ§¿¡¼ ¿ì¸®°¡ ÀÛ¼ºÇÑ ½ºÅ°¸¶ ÆÄÀϰú ¿¬µ¿À» ÇÏ´Â °ÍÀÔ´Ï´Ù.
Áï, ÀÌ XPath Äõ¸®´Â ¿©±â¿¡ ¿¬°áµÈ ½ºÅ°¸¶¸¦ Àû¿ë½ÃŲ XML ºä¿¡¼ ½ÇÇàÇ϶ó´Â Àǹ̰¡ µÇ´Â °ÍÀÔ´Ï´Ù.
±×¸®°í
/Employees
ÀÌ°Ô ¹Ù·Î XPath Äõ¸®ÀÔ´Ï´Ù.
XPath¿¡¼ ¸Ç¾Õ¿¡ ¾²ÀÎ "/"´Â ·çÆ®¸¦ ¶æÇÕ´Ï´Ù. Áï, ·çÆ® ¿¤¸®¸ÕÆ®ºÎÅÍ Employees ¿¤¸®¸ÕÆ®¸¦ ã¾Æ¼ °¡Á®¿Í¶ó´Â ÀǹÌÀÔ´Ï´Ù.
±×·¯³ª Áß°£¿¡ »ç¿ëµÈ "/"´Â ºÎ¸ð ÀÚ½Ä °ü°è¸¦ ³ªÅ¸³À´Ï´Ù.
Àá±ñ¸¸ XPath¸¦ »ìÆìº¸µµ·Ï ÇÏÁÒ..
<Employees>
<Name>mini</Name>
</Employees>
¸¸¾à À§ XML¹®¼¿¡ "/Employees/Name"À̶ó´Â XPath Äõ¸®¸¦ ´øÁö¸é ¾î¶»°Ô µÉ±î¿ä?
¹Ù·Î <Employees>ÀÇ ÀÚ½Ä ³ëµå·Î <Name> ¿¤¸®¸ÕÆ®¸¦ °¡Á®¿À¶ó´Â °ÍÀÌ µË´Ï´Ù.
°á°ú´Â
<Name>mini</Name>
°¡ µË´Ï´Ù.
ÀÏ´ÜÀº °£´ÜÇÏÁÒ.. ´ÙÀ½¿¡ ³ª¿À´Â XPath Äõ¸®¸¦ °¡Áö°í ¶Ç ¼³¸íÇØ µå¸®µµ·Ï ÇÏÁÒ..
°á°ú¸¦ º¼±î¿ä..
http://localhost/mini/template/SchemaTemplate1.xml
¸¸¾à ¿©·¯ºÐÀÇ PC¿¡¼ Å×½ºÆ®ÇÒ °æ¿ì ´ç¿¬È÷ À§¿¡¼ ¹ÞÀº ¼Ò½ºÆÄÀÏÀ» Templateµð·ºÅ丮¿¡ ³ÖÀ¸¸é µË´Ï´Ù.
±×·±µ¥.. ÀÌ»óÇÕ´Ï´Ù. ¿ì¸®´Â SQL µðºñ¿Í ¿¬°áÇÑ ºÎºÐÀÌ ÀüÇô ¾ø½À´Ï´Ù.
±×·±µ¥µµ µðºñ¿¡¼ ¾Ë¾Æ¼ ÀڷḦ °¡Á®¿Ô½À´Ï´Ù.
ÀÌ°Ç Á¦°¡ À§¿¡¼ Àá±ñ ¾ð±ÞÇÑ ´ë·Î ±âº»ÀûÀ¸·Î Å×À̺íÀ» ¿¤¸®¸ÕÆ®¿¡ Çʵ带 ¼Ó¼º¿¡ ¸ÂÃ߱⠶§¹®ÀÔ´Ï´Ù.
±âº»°ªÀ» »ç¿ëÇÏ·Á¸é ¿¤¸®¸ÕÆ®³ª ¼Ó¼ºÀ̸§ÀÌ µðºñ¿¡ ÀÖ´Â Å×À̺í, Çʵå¸í°ú °°¾Æ¾ß ÇÕ´Ï´Ù.
¸¸¾à ´ÙÀ½Ã³·³ ½ºÅ°¸¶¸¦ ÀÛ¼ºÇÏ¸é °á°ú°¡ ¾î¶»°Ô µÉ±î¿ä??
¿¤¸®¸ÕÆ®³ª ¼Ó¼ºÀÇ À̸§À» ¹Ù²å½À´Ï´Ù.
ÆÄÀϸí : Schema2.xml
<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:datatypes"
xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<ElementType name="Emp" >
<AttributeType name="EID" />
<AttributeType name="FName" />
<AttributeType name="LName" />
<attribute type="EID" />
<attribute type="FName" />
<attribute type="LName" />
</ElementType>
</Schema>
ÆÄÀϸí : SchemaTemplate2.xml
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:xpath-query mapping-schema="Schema2.xml">
/Emp
</sql:xpath-query>
</ROOT>
http://localhost/mini/template/SchemaTemplate2.xml
°³Ã¼ À̸§ÀÌ À߸øµÇ¾ú´Ù´Â ¿À·ù°¡ ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù. ¿Ö³ÄÇÏ¸é µðºñ¿¡ Emp¶õ Å×À̺íÀÌ ¾ø±â ¶§¹®ÀÔ´Ï´Ù.
±×·³ Å×À̺í¸í°ú ´Ù¸£°Ô »ç¿ëÇÒ ¼ö´Â ¾øÀ»±î¿ä??
±×·± °æ¿ì¶ó¸é ¹®Á¦°¡ µË´Ï´Ù. ¿¹¸¦ µé¾î "Order Details"¿Í °°Àº Å×ÀÌºí ¸íÀº ű׸íÀ¸·Î »ç¿ëÇÒ ¼ö ¾ø±â ¶§¹®ÀÌÁÒ.
(°ø¹éÀº ÅÂ±×¸í¿¡ ¾²Àϼö°¡ ¾ø½À´Ï´Ù.)
±×·¡¼ ³ªÅ¸³°Ô ÁÖ¼®ÀÔ´Ï´Ù. À§¿¡¼ ÁÖ¼®Àº NameSpace¸¦ ÀÌ¿ëÇØ sql:~~ÀÌ·± ÇüÅ·Π»ç¿ëµÈ´Ù°í ÇßÁÒ..
sql:relationÀ̶õ ÁÖ¼®ÀÌ Å×ÀÌºí¿¡ ¸ÅÇÎÀÌ µÇ±¸¿ä.. sql:field¶õ ÁÖ¼®ÀÌ Çʵ忡 ¸ÅÇÎÀÌ µË´Ï´Ù.
¾î¶»°Ô ¸ÅÇÎÀÌ µÇ´ÂÁö Çѹø »ç¿ëÇØ º¼±î¿ä?
ÆÄÀϸí : Schema3.xml
<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:datatypes"
xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<ElementType name="Emp" sql:relation="Employees">
<AttributeType name="EID" />
<AttributeType name="FName" />
<AttributeType name="LName" />
<attribute type="EID" sql:field="EmployeeID" />
<attribute type="FName" sql:field="FirstName" />
<attribute type="LName" sql:field="LastName" />
</ElementType>
</Schema>
ÆÄÀϸí : SchemaTemplate3.xml
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:xpath-query mapping-schema="Schema3.xml">
/Emp
</sql:xpath-query>
</ROOT>
°á°ú¸¦ È®ÀÎÇØ º¸¼¼¿ä..
http://localhost/mini/template/SchemaTemplate3.xml
Áï, sql:relationÀ̳ª sql:field¸¦ »ç¿ëÇØ¼ Å×À̺íÀ̳ª Çʵå¸íÀ» Á÷Á¢ ÁöÁ¤ÇØ ÁÙ ¼ö ÀÖ½À´Ï´Ù.
±×·±µ¥.. ¶Ç ÇѰ¡Áö Àǹ®À» °¡Áú ¼ö ÀÖ´Â ºÎºÐÀÌ ÀÖ½À´Ï´Ù.
XMLÀº °èÃþÀû ±¸Á¶ÀÔ´Ï´Ù. ±×·±µ¥ À§¿Í °°ÀÌ »ç¿ëÇÏ¸é ¸ðµÎ ¿¤¸®¸ÕÆ®¿Í ¼Ó¼ºÀ¸·Î¸¸ Ç¥Çö µË´Ï´Ù.
±×·¸Áö ¾Ê°í ¸¸¾à ¿¤¸®¸ÕÆ®ÀÇ ÁßøÀ¸·Î °á°ú¸¦ Ç¥ÇöÇØ¾ß ÇÏ´Â °æ¿ìµµ ÀÖÀ» °Ì´Ï´Ù.
±×·¡¼ ´ÙÀ½ ¿¹Á¦¸¦ »ìÆìº¸µµ·Ï ÇÏÁÒ.
ÆÄÀϸí : Schema4.xml
<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:datatypes"
xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<ElementType name="Address" sql:field="Address" />
<ElementType name="Customer" sql:relation="Customers">
<AttributeType name="CustomerID" />
<AttributeType name="ContactName" />
<attribute type="CustomerID" />
<attribute type="ContactName" />
<element type="Address" />
</ElementType>
</Schema>
À§ ½ºÅ°¸¶ ÆÄÀÏ¿¡¼ »õ·Î Ãß°¡µÈ ºÎºÐÀº ´ÙÀ½°ú °°½À´Ï´Ù.
<ElementType name="Address" sql:field="Address" />
<ElementType name="Customer" sql:relation="Customers">
<element type="Address" />
</ElementType>
Áï, "Address"¶ó´Â <ElementType>À» ¼±¾ðÇϰí¿ä.. ÀÌ°É "Customer"¶ó´Â <ElementType>ÀÇ ÀÚ½ÄÀ¸·Î ³Ö°í ÀÖ½À´Ï´Ù.
ÀÌ·¸°Ô Çϸé ÁßøµÈ ¿¤¸®¸ÕÆ® ÇüÅ·Π°á°ú°¡ ³ª¿Â´Ù´Â °ÍÀÌÁö¿ä.
¿©±â¼ ÁÖÀÇ ±í°Ô º¸¼Å¾ß ÇÏ´Â ºÎºÐÀÌ ÀÖ½À´Ï´Ù. <ElementType name="Address" sql:field="Address" />
Á¦°¡ ÀϹÝÀûÀ¸·Î ¿¤¸®¸ÕÆ®´Â Å×À̺í°ú ¿¬µ¿µÈ´Ù°í ÇÏ¿´½À´Ï´Ù.
±×·¡¼ ¸¸¾à À§ ºÎºÐÀ»
<ElementType name="Address" />
¶ó°í »ç¿ëÇϸé Address¶õ Å×À̺íÀ» ã´Ù°¡ ¿¡·¯¸¦ ³ªÅ¸³»°Ô µÉ °ÍÀÔ´Ï´Ù.
±×·±µ¥ ¿·¿¡ º¸¸é ¿ì¸®°¡ ¼Ó¼º¿¡¼ ÁöÁ¤ÇÑ sql:field ÁÖ¼®ÀÌ ÀÖ½À´Ï´Ù.
¹Ù·Î ÀÌ°É ÅëÇØ¼ Çʵå¿Í ¿¬°áÀ» ÇÏ´Â °ÍÀ̳׿ä.
±×·±µ¥ Ưº°È÷ ´ÙÀ½°ú °°ÀÌ ½áµµ ¿¤¸®¸ÕÆ®¸¦ Çʵå¿Í ¿¬°á ½ÃŲ´Ù°í ÇÏ´Â ±º¿ä.. <ElementType name="Address" content="textOnly" />
³ªÁß¿¡ Çѹø ¹Ù²ã¼ ÇØº¸¼¼¿ä..
ÀÚ ±×·³ À§ÀÇ ½ºÅ°¸¶¸¦ ½ÇÇàÇØ ºÁ¾ßÁÒ.. ÅÛÇø´À» ´ÙÀ½Ã³·³ ¼±¾ðÇÕ´Ï´Ù.
ÆÄÀϸí : SchemaTemplate4.xml
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:xpath-query mapping-schema="Schema4.xml">
/Customer[@CustomerID="ALFKI"]
</sql:xpath-query>
</ROOT>
¸ÕÀú °á°ú¸¦ º¸°í ³ª¼ ¼³¸íÀ» Çϵµ·Ï ÇÏÁÒ.
http://localhost/mini/template/SchemaTemplate4.xml
¾î¶§¿ä.. ¿ì¸®°¡ ¿øÇÑ ´ë·Î ¿¤¸®¸ÕÆ®°¡ ÁßøµÇ¾î¼ ³ªÅ¸³µÁÒ..
±×·³.. ¿©±â¼ XPath Äõ¸®¸¦ ¼³¸íÀ» Á» ´õ ÇØ¾ß µÇ°Ú³×¿ä..
/Customer
¶ó°í¸¸ ÇÏ¸é ¿ì¸®´Â ·çÆ® ¿¤¸®¸ÕÆ® ¾Æ·¡ÀÇ <Customer> ¿¤¸®¸ÕÆ®¸¸ ¸®ÅÏÇÏ¸é µË´Ï´Ù.
±×·±µ¥...
/Customer[@CustomerID="ALFKI"]
ÀÌ·± ÇüÅ·Π¸î°¡Áö°¡ Ãß°¡ µÆ³×¿ä.. À½~~
¸ÕÀú @ÀÇ Àǹ̸¦ ¾Ë¾Æ¾ß°Ú³×¿ä.. @´Â XPath¿¡¼ ¼Ó¼ºÀ» ³ªÅ¸³À´Ï´Ù.
±×·¯¹Ç·Î "@CustomerID"´Â ¼Ó¼º CustomerID¸¦ ³ªÅ¸³»´Â °ÍÀÔ´Ï´Ù.
±×·³ ¼Ó¼º CustomerID°¡ "ALFKI"ÀÎ °ÍÀ» ãÀ¸¶ó´Â Àǹ̷ΠÀÌÇØ°¡ µÇ³ª¿ä??
±×·±µ¥ Áß¿äÇÑ °ÍÀÌ []ÀÔ´Ï´Ù. ÀÌ·¯ÇÑ °ÍÀ» ¿ì¸®´Â ÇÊÅͶó°í Çϴµ¥¿ä..
Áï, Á¶°Ç¿¡ ¸Â´Â °Í¸¸ ¸®ÅÏÇÏ´Â °ÍÀÔ´Ï´Ù.
´Ù½Ã ¸»Çؼ ¼Ó¼º CustomerID°¡ "ALFKI"ÀÎ Customer ¿¤¸®¸ÕÆ®¸¸ °¡Á®¿À¸é µÇ´Â °ÍÀÔ´Ï´Ù.
ÀÏ´Ü ÀÌ ºÎºÐÀº ÀÌÇØ°¡ µÇ¼Ì½À´Ï±î??
ÇÊÅ͸¦ Á»´õ ÀÌÇØÇϱâ À§ÇØ À§¿¡¼ »ç¿ëÇÑ ¿¹Á¦¸¦ ´Ù½Ã Çѹø ¾²µµ·Ï ÇÏÁÒ..
<Employees>
<Name>mini</Name>
</Employees>
ÀÚ.. ¿©±â¿¡¼
/Employees/Name
À¸·Î XPath¸¦ »ç¿ëÇÏ¸é °á°ú´Â
<Name>mini</Name>
ÀÌ µÈ´Ù°í Çß½À´Ï´Ù.
±×·³... ´ÙÀ½Ã³·³ ÇÊÅ͸¦ »ç¿ëÇÏ¸é ¾î¶»°Ô µÉ±î¿ä??
/Employees[Name]
ÇÊÅÍ´Â Á¶°ÇÀ̶ó°í Çß½À´Ï´Ù. À§ÀÇ °ÍÀº <Name>À̶õ ³ëµå¸¦ °¡Áö°í ÀÖ´Â <Employees>¿¤¸®¸ÕÆ®¸¦ ¸®ÅÏÇ϶ó´Â ÀǹÌÀÔ´Ï´Ù.
±×·¯¹Ç·Î °á°ú´Â
<Employees>
<Name>mini</Name>
</Employees>
ÀÌ µË´Ï´Ù.
µÑÀÇ Â÷À̸¦ ¾Æ½Ã°Ú½À´Ï±î... ºÎ¸ð Àڽİ£ÀÇ °ü°è¸¦ ³ªÅ¸³»´Â "A/B"¸¦ »ç¿ëÇÏ¸é µÚÀÇ °Í, Áï B¸¦ ¸®ÅÏÇÏ´Â °ÍÀÌÁÒ.
±×·¯³ª Á¶°ÇÀ» ³ªÅ¸³»´Â A[B]¸¦ »ç¿ëÇϸé ÇÊÅÍ ¾ÕºÎºÐ, Áï, A°¡ ¸®ÅϵǴ °ÍÀÔ´Ï´Ù.
½ÇÁ¦ XPath³ª XQLÀ» »ç¿ëÇÏ·Á¸é À̺κп¡ ´ëÇÑ ÀÌÇØ°¡ ÇÊ¿äÇÕ´Ï´Ù.
÷ ÀÌ°É ÀûÀÀÇϴµ¥ ÀúµÎ ¹«Áö ¿À·¡ °É·È³×¿ä.. ^^;;
MSSQL¿¡¼ÀÇ XMLÀ» ¼³¸íÇÏ´Ùº¸´Ï °¥¼ö·Ï ¾î·Á¿öÁø´Ù´Â ´À³¦ÀÌ µì´Ï´Ù.
¿©·¯ºÐµµ ±×·² °Å¿¹¿ä.. ÀÏ´Ü µû¶óÇØ º¸¼¼¿ä.. µû¶óÇÏ¸é¼ º»´Ù´Â °ÍÀº ¾î·Á¿öµµ °á°ú°¡ ³ª¿À´Ï±ñ.. ÀëÀÖÀݾƿä... ¹«½¼¼Ò¸®Áö??
¾Ïư XDR ½ºÅ°¸¶¿¡ ´ëÇØ¼ ¾ÆÁÖ ÀϺθ¸ ¾Ë¾Æ º¸¾Ò½À´Ï´Ù.
½ÇÁ¦´Â À̰ͺ¸´Ù ´õ ¸¹Àº °ÍÀ» ³»Æ÷Çϰí ÀÖ½À´Ï´Ù. sql:relationshipÀ» ÀÌ¿ëÇØ¼ µÎ Å×ÀÌºí »çÀÌÀÇ °ü°è¸¦ ÁöÁ¤ÇÒ ¼öµµ ÀÖ±¸¿ä..
À̿ܿ¡µµ ¸¹Àº ÁÖ¼®µéÀÌ Àֳ׿ä..
¶ÇÇÑ dt:~~¸¦ Ȱ¿ëÇØ¼ SQL µ¥ÀÌÅÍ Å¸ÀÔÀ» ±×´ë·Î XML µ¥ÀÌÅÍ Å¸ÀÔÀ¸·Î ¿Å±æ ¼öµµ ÀÖ½À´Ï´Ù.
ÀÌ·¯ÇÑ ¸ðµç °ÍÀº Books Online¿¡ Àß ¼³¸íµÇ¾î ÀÖÀ¸´Ï ±×°É Âü°í ÇϽðí¿ä..
¸¸¾à ÀÌÇØ°¡ ¾ÈµÇ¸é Àú¿¡°Ô ¸ÞÀÏÀ» º¸³»½Ã°Å³ª °Ô½ÃÆÇÀ» Ȱ¿ëÇϼ¼¿ä... ±×·³ 2002/8/21 ¹Ì´Ï
|
|
|
|
|
|
|
|