°ø½ÄÀûÀÎ Á¤¿ÀÇ¥¸¦ Æ÷ÇÔÇÏ´Â ÀÌ ¹®¼ÀÇ errata ÆäÀÌÁö¸¦ Âü°íÇϱ⠹ٶõ´Ù.
ÀÌ ¹®¼´Â ´ÙÀ½°ú °°Àº ºñÇ¥ÁØÀû(Non-normative)ÀÎ ÇüÅ·εµ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù: XML.
ÀÌ ¸í¼¼ÀÇ °ø½ÄÀûÀÎ ¹öÀüÀº ¿µ¾î·Î ÀÛ¼ºµÈ ¹®¼ÀÌ´Ù. ºñÇ¥ÁØÀûÀÎ ¹ø¿ª ¹®¼´Â translations ¿¡¼ À̿밡´ÉÇÏ´Ù.
Copyright © 2003 W3C ® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
ÀÌ ¸í¼¼´Â XML Pointer Language (XPointer) Framework ¸¦ Á¤ÀÇÇÑ´Ù.
ÀÌ´Â Ãß°¡ÀûÀÎ XPointer scheme ¸í¼¼¿¡ ±â¹ÝÀ» µÐ XML ¹®¼ ¾ÈÀÇ ¿ä¼ÒµéÀ» °¡¸®Å°´Â È®Àå°¡´ÉÇÑ ½Ã½ºÅÛÀ» ¸»ÇÑ´Ù.
ÀÌ framework Àº text/xml, application/xml, text/xml-external-parsed-entity,
ȤÀº application/xml-external-parsed-entity ŸÀÔÀÇ ÀÚ¿øµé¿¡ ´ëÇÑ ºÎºÐ ½Äº°ÀÚ(fragment identifier)ÀÇ
±âÀú·Î¼ »ç¿ëµÉ ¸ñÀûÀ¸·Î ¸¸µé¾îÁ³´Ù. XML À» ±â¹ÝÀ¸·Î ÇÑ ´Ù¸¥ (¹Ìµð¾î) ŸÀÔµéÀº Àڽŵ鸸ÀÇ ºÎºÐ ½Äº°ÀÚ ¾ð¾î¸¦
Á¤ÀÇÇÔÀ¸·Î½á ÀÌ framework ¸¦ ÀÌ¿ëÇϵµ·Ï ±Ç°íÇϰí ÀÖ´Ù.
ÀÌ Àý¿¡¼´ÂÀÌ ¹®¼ÀÇ ¹ßÇà ´ç½Ã »óÅÂ(status)¿¡ ´ëÇØ¼ ¼³¸íÇϰí ÀÖ´Ù. ÀÌ ¹®¼´Â ´Ù¸¥ ¹®¼·Î ´ëüµÉ ¼ö ÀÖ´Ù. ÀÌ ¹®¼ ½Ã¸®ÁîÀÇ ÃÖ±Ù »óȲÀº W3C ¿¡ ÀÇÇØ °ü¸®µÈ´Ù.
ÀÌ ¹®¼´Â W3C ÀÇ ±Ç°í¾È (REC) ÀÌ´Ù. Áï W3C ¸â¹öµé°ú ´Ù¸¥ °ü·ÃµÈ ±×·ìµéÀÇ °ËÅ並 °ÅÃÆÀ¸¸ç ÀÓ¿øÈ¸ÀÇ ½ÂÀÎÀ» °ÅÃÄ W3C ±Ç°í¾ÈÀ¸·Î ÀÎÁ¤µÇ¾ú´Ù. ÀÌ ¹®¼´Â ¾ÈÁ¤µÈ ¹öÀüÀ¸·Î¼ ´Ù¸¥ ¹®¼¿¡¼ ÀÌ ¹®¼¸¦ Âü°í ¹®ÇåÀ¸·Î »ç¿ëÇϰųª ÀοëÇÒ ¼ö ÀÖ´Ù. ±Ç°í¾ÈÀ» Á¦Á¤ÇÏ´Â µ¥ ÀÖ¾î W3C ÀÇ ¿ªÇÒÀº ¸í¼¼¿¡ °ü½ÉÀ» ²ø¾îµéÀÌ´Â Àϰú ÀÌ·¯ÇÑ »çÇ×µéÀÌ ³Î¸® »ç¿ëµÉ ¼ö ÀÖµµ·Ï ÃËÁøÇÏ´Â µ¥ ÀÖ´Ù. À̸¦ ÅëÇØ Web ÀÇ À¯¿ë¼º°ú »óÈ£ ¿î¿ë¼ºÀº ´õ¿í ³ô¾ÆÁú °ÍÀÌ´Ù.
ÀÌ ¹®¼´Â W3C XML Linking Working Group ¿¡ ÀÇÇØ XML Activity ÀÛ¾÷ÀÇ ÀÏȯÀ¸·Î¼ ¸¸µé¾î Á³´Ù. ÀÌ ¹®¼´Â XPointer requirements ¹®¼ÀÇ ÇÙ½É ºÎºÐÀ» Á¦½ÃÇϰí ÀÖÀ¸¸ç, XML Media type À» À§ÇÑ ºÎºÐ ½Äº°ÀÚ ¹®¹ýÀÇ ±âÃÊÀûÀÎ (ȤÀº ÀüüÀûÀÎ) ºÎºÐÀ» ³ªÅ¸³¾ ¸ñÀûÀ¸·Î XPointer element() Scheme, XPointer xmlns() Scheme ¸í¼¼¿Í ÇÔ²² Á¦°øµÈ´Ù.
ÀÌ ¹®¼¿¡ °ü·ÃÇÏ¿© ÀǰßÀ» Á¦½ÃÇÏ´Â °ÍÀº ȯ¿µÇÑ´Ù. °ø°³ ¸ÞÀϸµ ¸®½ºÆ®ÀÎ ´ÙÀ½ ÁÖ¼Ò·Î ÀǰßÀ» º¸³»Áֱ⠹ٶõ´Ù. www-xml-linking-comments@w3.org (archive).
ÀÌ ¸í¼¼³ª °ü·ÃµÈ ¹®¼ÀÎ XPointer element() Scheme, XPointer xmlns() Scheme ¿¡ °ü·ÃµÈ Á¤º¸³ª ±¸Çö »çÇ×µîÀº Implementation Report ¿¡¼ ã¾Æº¼ ¼ö ÀÖ´Ù.
ÀÌ ¹®¼ÀÇ Æ¯Çã±Ç°ú ¶óÀ̼¾½º´Â W3C policy ¸¦ µû¸£´Â XPointer IPR Statement ÆäÀÌÁö¿¡¼ ã¾Æº¼ ¼ö ÀÖ´Ù.
ÇöÀç W3C ±Ç°í¾È°ú ´Ù¸¥ ±â¼ú¹®¼ ¸ñ·ÏÀº http://www.w3.org/TR/ À» Âü°íÇϱ⠹ٶõ´Ù. W3C ÀÇ ¹ßÇ¥ ¹®¼µéÀº ¾ðÁ¦¶óµµ ´Ù¸¥ ¹®¼·Î ¾÷µ¥ÀÌÆ®µÇ°Å³ª, ±³Ã¼µÇ°Å³ª, Æó±âµÉ ¼ö ÀÖ´Ù.
1 ¼·Ð
1.1 Ç¥±â¹ý
1.2 ¿ë¾î
2 ´Ù¸¥ ¸í¼¼¿ÍÀÇ ÀÏÄ¡
3 ¾ð¾î¿Í 󸮹æ¹ý
3.1 ¹®¹ý
3.2 Shorthand Pointer
3.3 Scheme-Based Pointer
3.4 Namespace Binding Context
4 ¹®ÀÚÀÇ Escaping
4.1 Escaping ȯ°æ
4.2 Escaping ¿¹Á¦
A ÂüÁ¶¹®¼
A.1 Ç¥ÁØ ÂüÁ¶¹®¼
A.2 ºñÇ¥ÁØ ÂüÁ¶¹®¼
ÀÌ ¸í¼¼´Â XML Pointer Language (XPointer) Framework À» Á¤ÀÇÇÑ´Ù. ÀÌ´Â Ãß°¡ÀûÀÎ XPointer scheme ¸í¼¼¸¦
ÀÌ¿ëÇÏ¿© XML ¹®¼ÀÇ Æ¯Á¤ ºÎºÐÀ» °¡¸®Å³ ¼ö ÀÖ´Â È®Àå°¡´ÉÇÑ ½Ã½ºÅÛÀ» ¸»ÇÑ´Ù.
ÀÌ·¯ÇÑ framework ´Â text/xml, application/xml,
text/xml-external-parsed-entity, application/xml-external-parsed-entity ¿Í °°Àº
Internet media type À» °¡Áö´Â ÀÚ¿øµé¿¡ ´ëÇÑ ºÎºÐÀûÀÎ ½Äº°ÀÚ¸¦ Á¦°øÇÏ´Â ±â¹ÝÀ¸·Î¼ »ç¿ëµÇµµ·Ï ¸¸µé¾î Á³´Ù.
À̹ÛÀÇ XML À» ±â¹ÝÀ¸·Î ÇÑ media type µéÀº ÀÌ framework À» ÀÌ¿ëÇÏ¿© Àڽŵ鸸ÀÇ µ¶ÀÚÀûÀÎ ºÎºÐ ½Äº°ÀÚ ¾ð¾î¸¦
Á¤ÀÇÇÒ °ÍÀ» ±ÇÇÏ´Â ¹ÙÀÌ´Ù.
XML À» ó¸®ÇÏ´Â ¸¹Àº Á¾·ùÀÇ application ¿¡¼´Â URI ÂüÁ¶¸¦ ÅëÇÏ¿© XML ÀÚ¿øµéÀÇ ³»ºÎÀûÀÎ ±¸Á¶¸¦ Á¢±ÙÇÏ´Â °ÍÀÌ ÇÊ¿äÇÏ´Ù. ¿¹¸¦ µé¾î XML Linking Language [XLink], XML Inclusions [XInclude], Resource Description Framework [RDF], SOAP 1.2 [SOAP12] ¿Í °°Àº °ÍµéÀÌ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ ¸í¼¼¿¡¼´Â XML ÀÚ¿ø¿¡ ´ëÇÑ URI ÂüÁ¶¸¦ ÀÌ¿ëÇÏ´Â application ÀÇ Å¸ÀÔÀ̳ª ±×·¯ÇÑ ÇÁ·Î±×·¥µéÀÌ ¿øÇÏ´Â ÀÚ¿ø¿¡ °üÇÑ Á¤º¸¸¦ ¾òÀº ÈÄÀÇ µ¿ÀÛ¿¡ °üÇØ¼´Â Á¦ÇÑÀ» µÎÁö ¾Ê´Â´Ù.
[Á¤ÀÇ: ÀÌ ¸í¼¼¿¡¼ »ç¿ëµÈ must, must not, required, shall, shall not, should, should not, recommended, may, optional À̶ó´Â ¿ë¾î´Â [RFC 2119] ¿¡¼ ¼³¸íÇÏ´Â ´ë·Î ÇØ¼®µÇ¾î Áø´Ù.]
XPointer Framework ÀÇ Çü½Ä ¹®¹ýÀº XML ±Ç°í¾È [XML] ¿¡¼ ¼³¸íÇÏ´Â ´Ü¼øÇÑ Extended Backus-Naur Form (EBNF) Ç¥±â¹ýÀ» »ç¿ëÇÏ¿© Á¦°øµÈ´Ù.
ÀÌ ¸í¼¼¸¦ µû¸£´Â ¹®ÀÚ¿. ÀÌ ¸í¼¼´Â pointer ÀÇ ¹®¹ý°ú Àǹ̸¦ Á¤ÀÇÇÑ´Ù.
ÇØ´ç scheme ÀÇ Á¤ÀǸ¦ µû¸£´Â scheme À̸§°ú ¸î¸î pointer µ¥ÀÌŸ¸¦ Á¦°øÇÏ´Â pointer ÀÇ ÀϺκÐ. XPointer processor ´Â ÇϳªÀÇ XML ÀÚ¿ø ³»ÀÇ 0 °³ ÀÌ»óÀÇ ÇÏÀ§ ÀÚ¿øµéÀ» °¡¸®Å°´Â pointer part ¸¦ °è»êÇÑ´Ù.
scheme À̸§°ú ÀÌ ¸í¼¼¿¡ Á¤ÀÇµÈ »çÇ×µéÀ» °¡Áö´Â Ưº°ÇÑ pointer µ¥ÀÌŸ Çü½Ä.
ÇϳªÀÇ XML ÀÚ¿ø¿¡ ´ëÇØ pointer ¸¦ Àû¿ëÇÏ¿© ÇÏÀ§ ÀÚ¿øµéÀ» °¡¸®Å³ ¼ö ÀÕ´Â ¼ÒÇÁÆ®¿þ¾î ¿ä¼Ò. ÀÌ ¸í¼¼¿¡¼´Â XPointer processor ÀÇ µ¿ÀÛ¿¡¼ ´ëÇØ¼ Á¤ÀÇÇÑ´Ù.
XML ÀÚ¿øµé¿¡ Á¢±ÙÇϱâ À§ÇØ XPointer processor ¸¦ »ç¿ëÇϰųª XPointer processor ¿Í ÇÔ²² µ¿ÀÛÇÏ´Â ¼ÒÇÁÆ®¿þ¾î ¿ä¼Ò. XPointer ÀÇ »ç¿ëȽ¼ö³ª »ç¿ë¹ý, ÀÌ·¯ÇÑ XPointer ¸¦ ÀÌ¿ëÇÏ¿© ¾ò¾îÁø ÀÚ¿øµé¿¡°Ô Àû¿ëµÇ´Â Çൿ µîÀº °¢ application µéÀÇ ¿¬°üµÈ µ¥ÀÌŸ Çü½ÄÀÇ Á¤ÀÇÇØ µû¶ó °áÁ¤µÈ´Ù. (XML ±â¹ÝÀÎÁö ¾Æ´ÑÁö) ¿¹¸¦ µé¾î HTML [HTML] À¥ ºê¶ó¿ìÀú¿Í XInclude processor ´Â µÑ´Ù XPointer processor ¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù.
ÀÌ ¸í¼¼¿¡¼ Á¤ÀÇÇÑ ¹®¹ýÀûÀÎ ±ÔÄ¢À» ¾î±â°Å³ª pointer °¡ ÇÏÀ§ ÀÚ¿øµéÀ» ã¾Æ³»Áö ¸øÇÑ °æ¿ì
XML-namespace [XML-Names] ¿¡¼ Á¤ÀÇµÈ À̸§°ø°£ Á¢µÎ¾î¸¦ °ü·ÃµÈ À̸§°ø°£ À̸§À¸·Î ÁöÁ¤ÇÏ´Â °Í.
ÀÌ ¸í¼¼´Â framework À» Á¤ÀÇÇÑ´Ù; ÇöÀç´Â XPointer processor ¿¡ ´ëÇÑ ÃÖ¼ÒÇÑÀÇ ÀÏÄ¡ ¼öÁصµ Á¤ÀǵǾî ÀÖÁö ¾Ê´Ù. µû¶ó¼ À̹ø Àý¿¡¼´Â ¾î¶² ÃÖ¼ÒÇÑÀÇ ÀÏÄ¡ ¼öÁØÀÇ framework ÀÇ ºÎºÐ¿¡ ´ëÇØ¼¸¸ ¿ä±¸»çÇ×À» Á¤ÀÇÇÑ´Ù.
XPointer processor ´Â application ÀÌ ¾î¶² ºÎºÐ ½Äº°ÀÚÀÇ ÀÎÄÚµù°ú escaping À» ÀçÇØ¼®ÇÏ´Â ´É·Â¿¡ ÀÇÁ¸ÇÑ´Ù. (4 ¹®ÀÚÀÇ Escaping Âü°í)
XPointer processor ÀÇ ÇൿÀº XML ÀÚ¿ø¿¡¼ ¾òÀº Á¤º¸ÀÇ À̿밡´É¼º¿¡ ÀÇÁ¸ÇÑ´Ù. [Infoset] ¿¡¼ Á¦°øÇÏ´Â ¿ë¾î·Î Ç¥ÇöÇϸé, information item °ú property ´Â ¿¬°üµÇ¾î ÀÖÀ» °ÍÀÌ´Ù. ÀÌ·¯ÇÑ item °ú property ÀÇ Á¸Àç´Â ÀÏÄ¡ÇÏ´Â DTD ³ª XML Schema ÀÇ Ã³¸®¿¡ Â÷·Ê·Î ÀÇÁ¸ÇÑ´Ù: ÀÏÄ¡ÇÏ´Â XPointer processor ´Â ±×·¯ÇÑ Ã³¸®¸¦ ÇÊ¿ä·Î ÇÏÁö ¾ÊÀ» Å×Áö¸¸, ¸¸¾à ±×·¯ÇÑ °æ¿ì¿¡´Â Á¤º¸ÀÇ Shorthand Pointer 󸮰¡ À¯¿ëÇÏ°Ô »ç¿ë °ÍÀÌ´Ù. (3.2 Shorthand Pointer ÂüÁ¶)
XML Information Set ÀÚü [Infoset] ¿¡¼:
[document element] ¼Ó¼º
¸¸¾à XML ÀÚ¿øÀÌ ¹®¼°¡ ¾Æ´Ï¶ó ¿ÜºÎÀÇ ÇØ¼®µÈ °³Ã¼ (external parsed entity) ¶ó¸é, ÀÌ ¼Ó¼ºÀº »ç¿ëµÇÁö ¾ÊÀ» °ÍÀÌ´Ù. Â÷¶ó¸® information set ¿¡¼´Â °³Ã¼ÀÇ "root element" ¶ó´Â ¼Ó¼ºÀ¸·Î °³Ã¼ ³»ºÎÀÇ Çϳª ÀÌ»óÀÇ ÃÖ»óÀ§ ¿ø¼Ò¸¦ ³ªÅ¸³»µµ·Ï Çϰí ÀÖ´Ù.
[attributes] ¼Ó¼º
[children] ¼Ó¼º
[attribute type] ¼Ó¼º
[normalized value] ¼Ó¼º
XML Schema post-schema validation information set (PSVI) [XMLSchema] ¿¡¼, ´ÙÀ½°ú °°Àº ¼Ó¼ºµé: attribute information items, element information items
[schema normalized value] ¼Ó¼º
´ÙÀ½ÀÇ µÑ ÁßÀÇ ÇϳªÀÌ´Ù:
[member type definition] ¼Ó¼º
[type definition] ¼Ó¼º
±× °ªÀÇ [name], [target namespace], [base type definition] ¼Ó¼º
À̰ųª:
[member type definition namespace] ¼Ó¼º
[member type definition name] ¼Ó¼º
[type definition namespace] ¼Ó¼º
[type definition name] ¼Ó¼º
XPointer processor ¸¦ ±¸ÇöÇÏ´Â ¼ÒÇÁÆ®¿þ¾î ¿ä¼Ò´Â ¹Ýµå½Ã ÀÌ XPointer Framework ¸í¼¼¿Í ÀÌ ¸í¼¼¿¡ °ü·ÃµÈ ´Ù¸¥ ¸í¼¼¸¦ µû¶ó¾ß Çϸç, XPointer ¸¦ À§ÇÑ ÃÖ¼ÒÇÑÀÇ ÀÏÄ¡ ¼öÁصµ Á¤ÀÇÇØ¾ß ÇÑ´Ù. ±×¸®°í Ãß°¡ÀûÀÎ XPointer scheme ¿¡ °üÇÑ ¸í¼¼¸¦ µû¸¦ ¼öµµ ÀÖ´Ù. XPointer processor ´Â ´Ù¸¥ Ãß°¡ÀûÀÎ scheme ¸í¼¼¸¦ µû¸¥ °æ¿ì ¹Ýµå½Ã ±×°ÍÀ» ¹®¼È ÇØ¾ß ÇÑ´Ù. XPointer processing ¿¡ ÀÇÁ¸ÇÏ´Â ¸í¼¼´Â ±×°ÍÀÌ ¿ä±¸Çϰí Áö¿øÇÏ´Â scheme ¿¡ °üÇÏ¿© ¹®¼È ÇØ¾ß ÇÑ´Ù.
ÀÌ ¸í¼¼¸¦ µû¸£´Â XPointer processor ´Â ¹Ýµå½Ã application ¿¡°Ô XPointer Framework error ¸¦ º¸°íÇØ¾ß ÇÑ´Ù. application ¿¡¼ XPointer Framework error ¸¦ º¸°í¹Þ¾ÒÀ» ¶§ À̸¦ Á¾·á½ÃŰ°Å³ª ¾î¶°ÇÑ ¹æ½ÄÀ¸·Îµç À̸¦ º¹±¸Çϰųª ÇÏ´Â °ÍÀº ÀÚÀ¯ÀÌ´Ù.
ÀÌ Àý¿¡¼´Â XPointer Framework °ú ÀÌ framework ¿¡ °ü·ÃµÈ XPointer processor ÀÇ µ¿ÀÛÀ» ¼³¸íÇÑ´Ù.
XPointer processo ´Â ÀÔ·ÂÀ¸·Î XML ÀÚ¿øÀ̳ª pointer ·Î »ç¿ëµÉ ¹®ÀÚ¿ (¿¹¸¦ µé¾î, ¾î¶² ÀÚ¿ø¿¡ Á¢±ÙÇϱâ À§ÇØ »ç¿ëµÈ URI ÀÚ¿øÀÇ, ¿ªÀ¸·Î escaping µÈ, ºÎºÐ ½Äº°ÀÚ(fragment identifier)) À» ¹Þ¾Æ¼, ±× ÀÚ¿ø¿¡ °ü·ÃµÈ pointer ¸¦ °è»êÇÒ·Á°í ½ÃµµÇÑ µÚ, Ãâ·ÂÀ¸·Î ÇÏÀ§ ÀÚ¿ø¿¡ ´ëÇÑ À§Ä¡ ȤÀº error ¸¦ ¹ÝȯÇÑ´Ù.
¸¸¾à pointer ·Î »ç¿ëµÈ ¹®ÀÚ¿ÀÌ ÀÌ Àý¿¡¼ Á¤ÀÇÇÑ ¹®¹ý¿¡ ¸ÂÁö ¾ÊÀ¸¸é error ÀÌ´Ù.
½É¹ú S ´Â [XML] ¿¡ Á¤ÀǵǾî ÀÖ´Ù. NCName ¶ó´Â ½É¹ú°ú QName ¶ó´Â ½É¹úÀº [XML-Names] ¿¡ Á¤ÀǵǾî ÀÖ´Ù.
| [1] | Pointer |
::= | Shorthand | SchemeBased |
| [2] | Shorthand | ::= | NCName |
| [3] | SchemeBased |
::= | PointerPart (S?
PointerPart)* |
| [4] | PointerPart |
::= | SchemeName '(' SchemeData ')' |
| [5] | SchemeName |
::= | QName |
| [6] | SchemeData |
::= | EscapedData* |
| [7] | EscapedData |
::= | NormalChar | '^(' | '^)' | '^^' | '('
SchemeData ')'
|
| [8] | NormalChar |
::= | UnicodeChar - [()^] |
| [9] | UnicodeChar |
::= | [#x0-#x10FFFF] |
À§ÀÇ »ý¼º ±ÔÄ¢¿¡¼ º¸µíÀÌ, pointer part ÀÇ ³¡Àº ´Ý´Â °ýÈ£ ")" ·Î Ç¥½ÃµÇ¸ç, pointer part ÀÇ ½ÃÀÛÀÎ
¿©´Â °ýÈ£ "(" ¿¡ ½ÖÀ» ÀÌ·é´Ù. ¸¸¾à ÀÌ·¯ÇÑ °ýÈ£µéÀÌ Â¦ÀÌ ¸ÂÁö ¾ÊÀº ä·Î scheme date ¾È¿¡ Á¸ÀçÇÏ·Á¸é,
¹Ýµå½Ã ±× ¾Õ¿¡ ²©¼è (^) ·Î escaping ÇØ ÁÖ¾î¾ß ÇÑ´Ù.
¦ÀÌ ¸Â´Â °ýÈ£ÀÇ escaping pair µµ Çã¿ëµÈ´Ù. ²©¼è ±× ÀÚü¸¦ Ç¥½ÃÇϱâ À§Çؼ´Â
¹Ýµå½Ã ±× ¾Õ¿¡ ²©¼è¸¦ Çϳª ´õ ºÙ¿©¼ escaping ÇØ¾ß ÇÑ´Ù.
(Áï, ^^ °¡ µÈ´Ù.) ÀÌ¿ÜÀÇ ¿ëµµ·Î ²©¼è¸¦ »ç¿ëÇÏ´Â °ÍÀº error ÀÌ´Ù.
shorthand pointer ´Â ÀÌÀü¿¡´Â barename À̶ó°í ºÒ·ÈÀ¸¸ç, ÇϳªÀÇ NCName ¸¸À¸·Î ÀÌ·ç¾îÁø´Ù. À̰ÍÀº ÀÚ¿øÀÇ information set ³»¿¡¼ ÃÖ´ë ÇѰ³ÀÇ ¿ø¼Ò¸¦ °¡¸®Å²´Ù. Ưº°È÷, ¹®¼ÀÇ ¼ø¼ »ó¿¡¼ ½Äº°ÀÚ¿Í Ã¹¹øÂ°·Î ¸ÅÄ¡µÇ´Â (¾î¶² °ÍÀ̵çÁö) NCName À» ¸»ÇÏ´Â °ÍÀÌ´Ù. ¿ø¼ÒÀÇ ½Äº°ÀÚ´Â ´ÙÀ½°ú °°ÀÌ °áÁ¤µÈ´Ù:
¸¸¾à element information item ÀÌ ±× [attributes] °¡¿îµ¥ attribute information item À» °¡Áö°í ÀÖ´Ù¸é ±×°ÍÀº schema-determined ID °¡ µÉ °ÍÀ̰í, attribute information item ÀÇ [schema normalized value] ¼Ó¼ºÀÇ °ª¿¡ ÀÇÇØ ±¸ºÐµÉ °ÍÀÌ´Ù.
¸¸¾à element information item ÀÌ ±× [children] °¡¿îµ¥ element informaiton item À» °¡Áö°í ÀÖ´Ù¸é ±×°ÍÀº schema-determined ID °¡ µÉ °ÍÀ̰í, element information item ÀÇ [schema normalized value] ¼Ó¼ºÀÇ °ª¿¡ ÀÇÇØ ±¸ºÐµÉ °ÍÀÌ´Ù.
¸¸¾à element information item ÀÌ ±× [attributes] °¡¿îµ¥ attribute information item À» °¡Áö°í ÀÖ´Ù¸é ±×°ÍÀº DTD-determined ID °¡ µÉ °ÍÀ̰í, attribute information item ÀÇ [normalized value] ¼Ó¼ºÀÇ °ª¿¡ ÀÇÇØ ±¸ºÐµÉ °ÍÀÌ´Ù.
element information item Àº externally-determined ID ÀÇ °ª¿¡ ÀÇÇØ¼µµ ½Äº°µÉ ¼ö ÀÖ´Ù.
¸¸¾à shorthand pointer ÀÇ NCName ¿¡ ÀÇÇØ ³ªÅ¸³»¾î Áö´Â element information item ÀÌ Çϳªµµ ¾ø´Ù¸é, pointer ´Â error ÀÌ´Ù.
ÁÖÀÇ:
element information item ´Â ¹®¼ »ó¿¡¼ ´ÙÀ½°ú °°Àº ¿©·¯°¡Áö °ªµé¿¡ ÀÇÇØ º¹ÇÕÀûÀ¸·Î ³ªÅ¸³»¾î Áú ¼ö ÀÖ´Ù. DTD-determined IDs, schema-determined IDs, externally-determined IDs. ±×·±ÇÑ ¹®¼¿¡¼, Çù¾÷¼º(interoperability)ÀÌ Áö¿øµÇÁö ¾Ê´Â´Ù¸é ƯÁ¤ÇÑ ¿ø¼Ò¿¡ ´ëÇÑ ½Äº°ÀÚÀÇ °ªÀº Ç×»ó µ¿ÀÏÇÏÁö´Â ¾ÊÀ» °ÍÀÌ´Ù.
[Á¤ÀÇ: ¿ÀÁ÷ ´ÙÀ½°ú °°Àº Á¶°ÇÀ» ¸¸Á·ÇÏ´Â °æ¿ì (if and only if) element information item À̳ª attribute information item Àº schema-determined ID ÀÌ´Ù.]
[member type definition] ³ª [type definition] ¼Ó¼ºÀ» °¡Áö¸ç ±× °ªÀº
[name] Àº ID ¿Í °°°í, [target namespace] ´Â http://www.w3.org/2001/XMLSchema
¿Í °°Àº °æ¿ì
[base type definition] À» °¡Áö¸ç, ±× °ªÀº [name] ¿Í [target namespace] ¸¦ °¡Áö´Â °æ¿ì
[base type definition] À» °¡Áö¸ç, ±× °ªÀº [base type definition] ¸¦ °¡Áö°í ±× °ªÀº [name] and [target namespace] À» °¡Áö°í, °è¼ÓÇØ¼ [base type definition] ÀÇ ¼Ó¼ºÀ» Àç±ÍÀûÀ¸·Î µû¸£´Â °æ¿ì
[type definition name] Àº ID ¿Í °°°í, [type definition namespace] ´Â
http://www.w3.org/2001/XMLSchema ¿Í °°Àº °æ¿ì
[member type definition name] ÀÌ ID ¿Í °°°í, [member type definition namespace] ´Â
http://www.w3.org/2001/XMLSchema ¿Í °°Àº °æ¿ì
[Á¤ÀÇ: attribute information item ÀÌ
[type definition] ¼Ó¼ºÀ» °¡Áö¸ç ±× °ªÀÌ ID ¿Í µ¿ÀÏÇÑ °æ¿ì (if and only if)
attribute information item Àº DTD-determined ID ÀÌ´Ù.]
[Á¤ÀÇ: externally-determined ID Àº ¿ø¼ÒÀÇ ½Äº°ÀÚ¸¦ ³ªÅ¸³»´Â ¹®ÀÚ¿À̸ç, ±× °ªÀº (ÀÌ ¸í¼¼ÀÇ ¹üÀ§¸¦ ¹þ¾î³ª´Â ¸ÞÄ«´ÏÁòÀ» ÅëÇØ) application ¿¡¼ °áÁ¤µÈ´Ù.]
ÁÖÀÇ:
shorthand pointer ´Â XML-based media type ÀÇ ÀÚ¿ø¿¡ ´ëÇØ HTML ºÎºÐ ½Äº°ÀÚ¿Í ´ëüÀûÀ¸·Î ºñ½ÁÇÏ°Ô µ¿ÀÛÇÑ´Ù. ÇÏÁö¸¸, ¸¸¾à DTD ³ª schema ȤÀº application ÀÇ °íÀ¯ÇÑ Á¤º¸ µîÀÌ ¾ø¾î¼ ID Á¤º¸°¡ ¾ø´Â °æ¿ì¿¡´Â pointer ´Â ¾î¶°ÇÑ ¿ø¼Òµµ °¡¸®Å°Áö ¸øÇÑ´Ù. ´õ¿í ½Å·Ú¼ºÀÖ´Â ¿ø¼ÒÀÇ ½Äº°À» À§ÇÑ ¸î°¡Áö ¹æ¹ýµéÀÌ ÀÖ´Ù. ¿¹¸¦ µé¾î ÀÚ¿øÀ» »ý¼ºÇÑ »ç¶÷Àº ID ŸÀÔÀÇ ¼Ó¼ºÀÌ Á¸ÀçÇÔÀ» ³ªÅ¸³»±â À§ÇØ ³»ºÎÀûÀÎ DTD ÀÇ ºÎºÐÁýÇÕÀ» »ç¿ëÇÒ ¼ö ÀÖ°í, pointer ¸¦ »ý¼ºÇÑ »ç¶÷Àº shorthand pointer ´ë½Å scheme-based pointer ¸¦ »ç¿ëÇϰųª, ¿øÇÏ´Â ¿ø¼Ò¸¦ ´Ù¸¥ ¹æ¹ýÀ¸·Î °¡¸®Å°±â À§ÇØ Çϳª ÀÌ»óÀÇ scheme À» Á¦°øÇÒ ¼ö ÀÖ´Ù.
ÁÖÀÇ:
À§¿¡¼ Á¤ÀÇÇÑ ³»¿ëµéÀº ¹®¼ ³»¿¡¼ element information item ¿¡ ÀÇÇØ ±¸º°µÇ´Â °ªÀÌ À¯ÀÏÇÑ °ªÀÎÁö ¾Æ´ÑÁö¿¡ ¿µÇâÀ» ¹ÞÁö ¾Ê´Â´Ù. ¿Ö³ÄÇϸé [XML] À̳ª [XMLSchema] ¿¡¼ ID ŸÀÔ¿¡ ´ëÇØ ÀÌ·¯ÇÑ »çÇ׿¡ ´ëÇØ ¿ä±¸ÇÏÁö ¾Ê±â ¶§¹®ÀÌ´Ù.
scheme-based pointer ´Â Çϳª ÀÌ»óÀÇ pointer part ·Î ±¸¼ºµÇ¸ç À̵éÀº °¢°¢ °ø¹é¹®ÀÚ (S) ·Î ±¸ºÐµÉ ¼ö ÀÖ´Ù. °¢ ºÎºÐµéÀº scheme name ¸¦ °¡Áö¸ç, °ýÈ£¾È¿¡ scheme ¿¡ ÇØ´çÇÏ´Â µ¥ÀÌŸ (EscapedData) ¸¦ Æ÷ÇÔÇÑ´Ù. ¸¸¾à scheme data ³»ºÎ¿¡ °ýÈ£°¡ µé¾îÀÖ´Ù¸é ±×°ÍµéÀº ¹Ýµå½Ã ½ÖÀ» ÀÌ·ç°Å³ª escape ó¸® µÇ¾î¾ß ÇÑ´Ù.
´Ù¼öÀÇ pointer part °¡ Á¦°øµÇ´Â °æ¿ì, XPointer processor ´Â ¹Ýµå½Ã ¿ÞÂʺÎÅÍ Ã³¸®ÇØ °¡¾ßÇÑ´Ù. ¸¸¾à XPointer processor °¡ pointer part ¿¡¼ »ç¿ëµÈ scheme À» Áö¿øÇÏÁö ¾Ê´Â °æ¿ì¿¡´Â, ±× ºÎºÐÀº ±×³É Áö³ªÄ£´Ù. ¸¸¾à pointer part °¡ ¾î¶°ÇÑ ÇÏÀ§ ÀÚ¿øµµ °¡¸®Å°Áö ¾Ê´Â °æ¿ì¿¡´Â, °è¼ÓÇØ¼ ´ÙÀ½ÀÇ pointer part °¡ °è»êµÈ´Ù. ù¹øÂ° pointer part ÀÇ °è»ê °á°ú Çϳª ÀÌ»óÀÇ ÇÏÀ§ ÀÚ¿øÀ» °¡¸®Å°°Ô µÇ´Â °æ¿ì XPointer processor ´Â pointer ÀüüÀÇ °á°ú·Î ÀνÄÇÏ°í °è»êÀ» ¸ØÃá´Ù. ¸¸¾à ¾î¶°ÇÑ pointer part µµ ÇÏÀ§ ÀÚ¿øÀ» °¡¸®Å°Áö ¾Ê´Â °æ¿ì´Â error ÀÌ´Ù.
´ÙÀ½ÀÇ ¿¹Á¦¿¡¼, ¸¸¾à 'xpointer' ¶ó´Â pointer part °¡ ¾Ë¼ö ¾ø´Â °ÍÀ̰ųª ¾î¶°ÇÑ ÇÏÀ§ ÀÚ¿øÀ» °¡¸®Å°´Â µ¥¿¡ ½ÇÆÐÇÑ´Ù¸é, 'element' ¶ó´Â pointer part °¡ °è»êµÉ °ÍÀÌ´Ù. ¸¸¾à 'xpointer' ¶ó´Â pointer part °¡ ÇÏÀ§ ÀÚ¿øÀ» °¡¸®Å²´Ù¸é 'element' ¶ó´Â pointer part ´Â °è»êµÇÁö ¾Ê´Â´Ù.
#xpointer(id('boy-blue')/horn[1])element(boy-blue/3)
scheme name Àº ¹®¹ýÀûÀ¸·Î, [XML-Names] ¿¡ Á¤ÀÇµÈ »ý·«°¡´ÉÇÑ Prefix ºÎºÐ°ú LocalPart ºÎºÐÀ¸·Î ±¸¼ºµÈ´Ù. °£·«ÇÏ°Ô ¸»Çϸé, scheme name Àº LocalPart ¿Í namespace binding context ÇÏ¿¡¼ Prefix ¿¡ ´ëÀÀÇÏ´Â namespace name À¸·Î ±¸¼ºµÈ ¼ø¼½Ö(tuple) ÀÌ´Ù. ¸¸¾à namespace binding context °¡ ÇØ´çÇÏ´Â ¾î¶² prefix µµ Æ÷ÇÔÇϰí ÀÖÁö ¾Ê°Å³ª, (namespace name, LocalPart) ÀÇ ½ÖÀÌ XPointer processor °¡ Áö¿øÇÏ´Â scheme name ¿¡ ÇØ´çÇÏÁö ¾Ê´Â °æ¿ì, pointer part ´Â °è»êµÇÁö ¾Ê´Â´Ù.
ÀÌ ¸í¼¼´Â W3C ±Ç°í¾È¿¡ Á¤ÀÇµÈ Ãß°¡ÀûÀÎ XPointer scheme µé¿¡ ´ëÇÑ ¸ðµç Çã°¡µÇÁö ¾Ê´Â scheme name µé¿¡ ´ëÇØ¼µµ ¿¹¾àÇØ µÎ°í ÀÖ´Ù. scheme name À¸·Î QNames À» »ç¿ëÇÏ´Â °ÍÀº ´Ù¸¥ XML-based media type ¿¡ ´ëÇØ¼µµ ÀÌ framework À» ÀÌ¿ëÇÏ¿© µ¶ÀÚÀûÀÎ ºÎºÐ ½Äº°ÀÚ ¾ð¾î¸¦ Á¤ÀÇÇϵµ·Ï ÇÏ´Â È®À强ÀÖ´Â ÀϹÝÀûÀÎ framework ¸¦ Á¦°øÇÑ´Ù. XPointer framework ¿¡¼ »ç¿ëµÇ¾îÁú ¸ðµç scheme ÀÇ Á¤ÀÇ´Â ¹Ýµå½Ã (namespace name, LocalPart) ÀÇ ½ÖÀ¸·Î ±¸¼ºµÈ scheme name À» ¸í½ÃÇØ¾ß ÇÑ´Ù.
scheme ¸í¼¼´Â scheme name, ¿ø¼Ò À̸§, ¼Ó¼º À̸§ µî°ú pointer part ¿¡ »ç¿ëµÇ´Â ´Ù¸¥ QNames µéÀÇ prefix ¸¦ ÇØ¼®ÇÒ ¸ñÀûÀ¸·Î XML À̸§°ø°£ [XML-Names] ÀÇ prefix ¸¦ À̸§°ø°£ÀÇ À̸§À¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦°ø ÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ ±â´ÉÀº ÁúÀǻ󿡼 scheme ¿¡ ÀÇÇØ ¸í½ÃÀûÀ¸·Î ¿¹¿Ü°¡ ¹ß»ýµÇÁö ¾Ê´Â ÇÑ, À̸§°ø°£À» ÁöÁ¤ÇÑ pointer part º¸´Ù ¿À¸¥ÂÊ¿¡ À§Ä¡ÇÏ´Â ¸ðµç pointer part ¿¡°Ô Àû¿ëµÇ´Â namespace binding context ¸¦ Á¦°øÇÑ´Ù. À̸§°ø°£ ÁöÁ¤À» Á¦°øÇÏ´Â scheme ¿¡¼´Â ¹Ýµå½Ã ÀÌ·¯ÇÑ À̸§°ø°£ÀÇ ÁöÁ¤ÀÌ ÀÌÈÄÀÇ pointer part µé¿¡°Ô ¿µÇâÀ» ÁÖ´Â Áö¸¦ ¹®¼È ÇØ¾ß ÇÑ´Ù. ¸ðµç scheme ¿¡ ´ëÇÑ ¹®¼¿¡¼´Â ±× scheme ÀÌ namespace binding context ¸¦ »ç¿ëÇÏ´ÂÁö¸¦ ¹Ýµå½Ã ¸í½ÃÇØ¾ß ÇÑ´Ù.
´ÙÀ½ÀÇ ¿¹Á¦¿¡¼ 'xmlns' scheme Àº ([XPtrXmlns] Âü°í) namespace binding context ¿¡
(prefix/namespace name) ÀÇ ÁöÁ¤À» Ãß°¡Çϴµ¥ »ç¿ëµÇ¾ú´Ù. XPointer processor ´Â ÀÌ Á¤º¸¸¦
img:rect °¡ Áö¿ø°¡´ÉÇÑ scheme ÀÇ À̸§À» ³ªÅ¸³»´ÂÁö¸¦ È®ÀÎÇϴµ¥ »ç¿ëÇÑ´Ù.
#xmlns(img=http://example.org/image)img:rect(10,10,50,50)
ÃʱâÀÇ namespace binding context ´Â ÇϳªÀÇ °³Ã¼¸¦ °¡Áö´Â ù¹øÂ° pointer part ÀÇ °è»êº¸´Ù ¿ì¼±½ÃµÈ´Ù:
xml prefix ´Â http://www.w3.org/XML/1998/namespace ÀÇ À̸§°ø°£¿¡ ÁöÁ¤µÇ¾î ÀÖ´Ù.
namespace binding context ´Â ´ÙÀ½ Á¦ÇÑ»çÇ×µéÀÇ ÁÖüÀÌ´Ù. ÀÌ·¯ÇÑ Á¦ÇÑ»çÇ×µéÀ» ¾î±âµµ·Ï ½ÃµµÇÏ´Â °ÍÀº
namespace binding context »ó¿¡ ¾Æ¹«·± ¿µÇâÀ» ÁÖÁö ¸øÇÑ´Ù.
xml prefix ´Â http://www.w3.org/XML/1998/namespace ÀÇ À̸§°ø°£¿¡ ÁöÁ¤µÇ¾î ÀÖ´Ù.
À̰ÍÀº ´Ù¸¥ À̸§°ø°£À¸·Î ÁöÁ¤µÇ¾î¼´Â ¾ÈµÈ´Ù.
À̸§°ø°£ http://www.w3.org/XML/1998/namespace ´Â xml À̶ó´Â prefix ·Î ÁöÁ¤µÇ¾î ÀÖ´Ù.
À̰ÍÀº ´Ù¸¥ prefix ·Î ÁöÁ¤µÇ¾î¼´Â ¾ÈµÈ´Ù.
xmlns prefix ´Â À̸§°ø°£À¸·Î ÁöÁ¤µÇ¾î¼´Â ¾ÈµÈ´Ù.
À̸§°ø°£ http://www.w3.org/2000/xmlns/ ´Â ¾î¶² prefix ·Îµµ ÁöÁ¤µÇ¾î¼´Â
¾ÈµÈ´Ù.
x, m, l ¼¼±ÛÀÚ·Î ½ÃÀÛÇÏ´Â prefix ´Â ¸ðµÎ ¿¹¾àµÇ¾î ÀÖ´Ù. »ç¿ëÀÚ´Â XML À̳ª XML ¿¡ °ü·ÃµÈ ¸í¼¼¿¡¼ Á¤ÀÇµÈ °æ¿ì¸¦ Á¦¿ÜÇϰí À̵é prefix ¸¦ »ç¿ëÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù.
XPointer ÀÇ ¹®ÀÚ¼ÂÀº [Unicode] ÀÌ´Ù. ÇÏÁö¸¸, XPointer ¾ð¾î´Â ƯÁ¤ ¹®ÀÚÀÇ ÀÎÄÚµùÀ̳ª escaping À» ¿ä±¸ÇÏ´Â URI ÂüÁ¶ [RFC 2396] ȯ°æÀ̳ª, IRI ÂüÁ¶ [IRI] ȯ°æ ÇÏ¿¡¼ »ç¿ëµÇµµ·Ï µðÀÚÀεǾú´Ù. XPointer ¿Í XPointer ¸¦ Æ÷ÇÔÇÏ´Â IRI ÂüÁ¶´Â XML ¹®¼³ª ¿ÜºÎÀÇ ºÐ¼®µÈ °³Ã¼¿¡¼ Á¾Á¾ µîÀåÇϸç, À̰ÍÀº encoding ÀÌ Á÷Á¢ÀûÀ¸·Î »ç¿ëµÇ´Â ºÎºÐÀÌ Á¦ÇѵǴ °æ¿ì °íÀ¯ÇÑ escaping ÀÌ ¿ä±¸µÇ¾î Áø´Ù. ´Ù¸¥ ȯ°æ¿¡¼µµ XPointer ¿¡ Àû¿ëµÇ´Â Ãß°¡ÀûÀÎ escaping À» ¿ä±¸ÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ, ƯÁ¤ ¹®ÀÚµéÀº XPointer ÀÇ Ã³¸® Áß¿¡ Ưº°ÇÑ ¿ëµµ·Î »ç¿ëµÇ¹Ç·Î ÀÌ·¯ÇÑ ¹®ÀÚµéÀ» ¹®ÀÚ ±×´ë·ÎÀÇ Àǹ̷Π»ç¿ëÇϱâ À§Çؼ´Â escaping ÀÌ ÇÊ¿äÇÑ´Ù.
´ÙÀ½°ú °°Àº ȯ°æ¿¡¼´Â XPointer ¿¡ Àû¿ëµÇ´Â ´Ù¾çÇÑ Å¸ÀÔÀÇ escaping ÀÌ ¿ä±¸µÈ´Ù:
3.1 ¹®¹ý Àý¿¡¼ ¼³¸íÇßµíÀÌ, ½ÖÀ» ÀÌ·çÁö ¾Ê´Â °ýÈ£¿Í ²©¼è´Â ¹Ýµå½Ã escape 󸮸¦ ÇØ¾ß ÇÑ´Ù.
[Á¤ÀÇ:
IRI (Internationalized Resource Identifier) ´Â URI ÀÇ ¹®¹ýÀ» º¸´Ù ±¤¹üÀ§ÇÑ [Unicode]
¹®ÀÚµé·Î È®ÀåÇÑ ÇÁ·ÎÅäÄÝ ¿ä¼Ò (protocol element) ÀÌ´Ù.]
IRI ÂüÁ¶´Â escape µÈ URI ÂüÁ¶ÀÇ ¸ðµç ¹®ÀÚµéÀ» Æ÷ÇÔÇϸç, ÀϹÝÀûÀÎ Àǹ̷ΠÆÛ¼¾Æ® ±âÈ£ (%) ¸¦ »ç¿ëÇÒ ¶§´Â
¹Ýµå½Ã escape 󸮸¦ ÇØ¾ß ÇÑ´Ù. ¿Ö³ÄÇÏ¸é ÆÛ¼¾Æ® ±âÈ£´Â URI ¿Í
IRI ¿¡¼ escaping À» À§ÇÑ ¹®ÀÚ·Î »ç¿ëµÇ±â ¶§¹®ÀÌ´Ù.
µû¶ó¼ IRI ÂüÁ¶¿¡ pointer °¡ Æ÷ÇÔµÈ °æ¿ì, ÆÛ¼¾Æ® ±âÈ£ (%) ¸¦ »ç¿ëÇÒ ¶§´Â
¹Ýµå½Ã escape 󸮰¡ µÇ¾î¾ß ÇÑ´Ù. ´Ù¸¥ ¹®Àڵ鵵 escape ó¸®µÉ ¼ö
ÀÖÁö¸¸ À̸¦ ÃßõÇÏÁö´Â ¾Ê´Â´Ù. ¹®ÀÚµéÀº ´ÙÀ½°ú °°ÀÌ escape ó¸® µÈ´Ù:
escape ó¸®µÉ °¢°¢ÀÇ ¹®ÀÚ´Â UTF-8 [RFC 2279] ·Î º¯È¯µÈ´Ù. (ÇÑ ¹ÙÀÌÆ® ÀÌ»óÀÌ µÉ ¼ö ÀÖÀ½)
°á°ú·Î ³ª¿À´Â ¹ÙÀÌÆ®µéÀº URI escaping ¸ÞÄ«´ÏÁò¿¡ µû¶ó escape 󸮵ȴÙ. (Áï, ¹ÙÀÌÆ®ÀÇ °ªÀÌ 16Áø¼ö·Î HH ÀÏ ¶§, %HH ·Î º¯È¯µÈ´Ù.)
¿ø·¡ÀÇ ¹®ÀÚ´Â °á°ú·Î ³ª¿À´Â ¹ÙÀÌÆ®(µé) ·Î ´ëüµÈ´Ù.
¿¹¸¦ µé¾î % ´Â %25 °¡ µÈ´Ù.
IRI ÂüÁ¶´Â URI resolver ¸¦ ÅëÇØ URI ÂüÁ¶·Î º¯È¯µÉ ¼ö ÀÖ´Ù. ASCII ¹®ÀÚ°¡ ¾Æ´Ñ ¸ðµç ¹®ÀÚ¿Í ¼¥ ±âÈ£ (#), ÆÛ¼¾Æ® ±âÈ£ (%), ´ë°ýÈ£ ([]) ¸¦ Á¦¿ÜÇÑ [RFC 2396] ÀÇ 2.4 Àý¿¡ ¸í½ÃµÈ ±ÝÁö ¹®ÀÚ µéÀ» Æ÷ÇÔÇÑ URI ÂüÁ¶¿¡¼ Çã¿ëµÇÁö ¾Ê´Â ¹®ÀÚµéÀº [RFC 2732] ¿¡¼ ´Ù½Ã Çã¿ëµÇ¾ú´Ù. Çã¿ëµÇÁö ¾Ê´Â ¹®ÀÚµéÀº ´ÙÀ½°ú °°ÀÌ escape 󸮵ȴÙ:
°¢°¢ÀÇ Çã¿ëµÇÁö ¾ÊÀº ¹®ÀÚ´Â UTF-8 [RFC 2279] ·Î º¯È¯µÈ´Ù. (ÇÑ ¹ÙÀÌÆ® ÀÌ»óÀÌ µÉ ¼ö ÀÖÀ½)
°á°ú·Î ³ª¿À´Â ¹ÙÀÌÆ®µéÀº URI escaping ¸ÞÄ«´ÏÁò¿¡ µû¶ó escape 󸮵ȴÙ. (Áï, ¹ÙÀÌÆ®ÀÇ °ªÀÌ 16Áø¼ö·Î HH ÀÏ ¶§, %HH ·Î º¯È¯µÈ´Ù.)
¿ø·¡ÀÇ ¹®ÀÚ´Â °á°ú·Î ³ª¿À´Â ¹ÙÀÌÆ®(µé) ·Î ´ëüµÈ´Ù.
¸¸¾à pointer °¡ XML ¹®¼³ª ¿ÜºÎÀÇ ºÐ¼®µÈ °³Ã¼ ³»¿¡ µîÀåÇÑ´Ù¸é, »ç¿ëµÈ ÀÎÄÚµù¿¡¼ Ç¥ÇöÇÏÁö ¸øÇÏ´Â ¹®ÀÚµéÀº ¹Ýµå½Ã ¹®ÀÚ ÂüÁ¶·Î escape 󸮵Ǿî¾ß Çϸç, XML ó¸® »ó¿¡¼ Ưº°ÇÑ ¿ëµµ·Î »ç¿ëµÇ´Â ¹®ÀÚµéÀº ±× ¹®ÀÚ°¡ µîÀåÇÑ °÷¿¡¼ ¹®ÀÚ ÂüÁ¶³ª °³Ã¼ ÂüÁ¶¿Í °°Àº ÀûÀýÇÑ ¸ÞÄ«´ÏÁòÀ¸·Î ¹Ýµå½Ã escape ó¸® µÇ¾î¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ escaping Àº XML ¹®¼³ª °³Ã¼°¡ ºÐ¼®(parse)µÉ ¶§ ¿¹¾àµÈ´Ù. URI ÂüÁ¶°¡ (Á»´õ ÀϹÝÀûÀÎ IRI ÂüÁ¶°¡ ¾Æ´Ï¶ó) XML ¹®¼ »ó¿¡ ³ªÅ¸³ª°Ô ÇÏÁö ¾Ê±â¸¦ ±Ç°íÇÑ´Ù. ¸¸¾à ¾î¶°ÇÑ ÀÌÀ¯·Î ±×°ÍÀÌ ºÒ°¡ÇÇÇÏ´Ù¸é, µ¿ÀÏÇÑ escaping ¸ÞÄ«´ÏÁòÀÌ Àû¿ëµÈ´Ù.
XPointer processor ¿¡¼´Â ¿ÀÁ÷ XPointer ¿¡¼ Ưº°ÇÑ ¿ëµµ·Î »ç¿ëµÇ´Â ¹®ÀÚ (A) ¸¸À» ¿¹¾àÇØ µÎ¾ú±â ¶§¹®¿¡, application ¿¡¼´Â ¹Ýµå½Ã pointer °¡ ÀÇÁ¸ÇÏ´Â ´Ù¸¥ Á¾·ùÀÇ ÀÎÄÚµùÀ̳ª escaping (B, C, D) À» ¿¹¾àÇØ µÎ¾î¾ß ÇÑ´Ù. ¸¸¾à XPointer processor ¿¡ ³Ñ°ÜÁø °á°ú°¡ ÀÌ ¸í¼¼ÀÇ XPointer ¹®¹ý ±ÔÄ¢À» µû¸£Áö ¾Ê´Â´Ù¸é, error ÀÌ´Ù.
´ÙÀ½ÀÇ Ç¥´Â ½ÖÀ» ÀÌ·çÁö ¾Ê´Â °ýÈ£, °ãµû¿ÈÇ¥, °ø¹é µîÀ» Æ÷ÇÔÇÏ´Â ´Ù¾çÇÑ XPointer ÀÇ È¯°æÇÏ¿¡¼´Â escaping À» º¸¿©ÁØ´Ù. ÀÌ ¿¹Á¦´Â 'xpointer' scheme À» »ç¿ëÇÏ¿´À¸¸ç ([XPtrXPointer] ÂüÁ¶), 'xpointer' scheme ¿¡¼´Â scheme data ¿¡ ¹®ÀÚ¿ÀÌ Æ÷Ç﵃ ¼ö ÀÖ´Ù.
| ȯ°æ | Ç¥±â |
|---|---|
| ÃʱâÀÇ Scheme Data | ÃÖÃÊ¿¡ »ý¼ºµÈ xpointer scheme data:
string-range(//P,"my favorite smiley :-)") |
| A. XPointer | ÀÌ ¸í¼¼¿¡¼ ¿ä±¸ÇÑ ´ë·Î, scheme data ³»ÀÇ Â¦À» ÀÌ·çÁö ¾Ê´Â °ýÈ£¸¦ escape ó¸®:
xpointer(string-range(//P,"my favorite smiley :-^)")) |
| B. IRI ÂüÁ¶ ³»ÀÇ Pointer | A ¿Í µ¿ÀÏ (escape ó¸®ÇØ¾ß ÇÒ ÆÛ¼¾Æ® ±âÈ£ ¾øÀ½):
#xpointer(string-range(//P,"my favorite smiley :-^)")) |
| C. IRI ÂüÁ¶¸¦ URI ÂüÁ¶·Î º¯È¯ | °ãµû¿ÈÇ¥ (%22), °ø¹é (%20), ²©¼è (%5E) escape ó¸®:
#xpointer(string-range(//P,%22my%20favorite%20smiley%20:-%5E)%22)) |
| D. XML ¹®¼ ³»ÀÇ IRI ÂüÁ¶ | °ãµû¿ÈÆ÷¸¦ XML ¿¡¼ Á¤ÀÇµÈ " °³Ã¼ ÂüÁ¶·Î escape ó¸®
(°ãµû¿ÈÇ¥·Î ¹ÀÎ ¼Ó¼ºÀÇ °ª ³»¿¡ IRI ÂüÁ¶ ³»¿¡ pointer °¡ µîÀåÇÑ´Ù°í °¡Á¤):
#xpointer(string-range(//P,"my favorite smiley :-^)")) |
´ÙÀ½ÀÇ Ç¥´Â ´Ù¾çÇÑ È¯°æ ÇÏ¿¡¼ ¾Ç¼¾Æ® ¹®ÀÚ¸¦ Æ÷ÇÔÇÏ´Â XPointer ÀÇ escaping 󸮸¦ º¸¿©ÁØ´Ù.
XML ¹®¼´Â "é" ¹®ÀÚ¸¦ Á÷Á¢ »ç¿ëÇÒ ¼ö ¾ø´Â US-ASCII ·Î ÀÎÄÚµù µÇ¾ú´Ù°í °¡Á¤ÇÑ´Ù.
| ȯ°æ | Ç¥±â |
|---|---|
| ÃʱâÀÇScheme Data | ÃÖÃÊ¿¡ »ý¼ºµÈ xpointer scheme data:
id('résumé') |
| A. XPointer | XPointer (escape ÇØ¾ßÇÒ ²©¼è³ª ¦À» ÀÌ·çÁö ¾Ê´Â °ýÈ£°¡ ¾øÀ½):
xpointer(id('résumé')) |
| B. IRI ÂüÁ¶ ³»ÀÇ Pointer | A ¿Í µ¿ÀÏ (escape ÇØ¾ßÇÒ ÆÛ¼¾Æ® ±âÈ£ ¾øÀ½):
#xpointer(id('résumé')) |
| C. IRI ÂüÁ¶¸¦ URI ÂüÁ¶·Î º¯È¯ | "é" ¹®ÀÚ escape ó¸® (%C3%A9):
#xpointer(id('r%C3%A9sum%C3%A9')) |
| D. XML ¹®¼ ³»ÀÇ IRI ÂüÁ¶ | US-ASCII ÀÎÄÚµùÀ¸·Î Ç¥Çå; ¾Ç¼¾Æ® ¹®ÀÚ´Â XML ¹®ÀÚ Ç¥Çö¹æ½ÄÀ¸·Î escape ó¸®:
#xpointer(id('résumé')) |