オンラインã§åˆ©ç”¨å¯èƒ½ãªã€XPathå¼ã®ä½œæˆã‚’補助ã™ã‚‹GUIåž‹ã®ã‚¨ãƒ‡ã‚£ã‚¿ã§ã™ã€‚Microsoft Officeã«ã¯æ•°å¼ã‚¨ãƒ‡ã‚£ã‚¿ã¨ã„ã†ã‚‚ã®ãŒä»˜å±žã—ã¦ã„ã¾ã™ãŒã€ãã‚Œã®XPath版ã¿ãŸã„ãªã‚‚ã®ã§ã™ã€‚ã¾ã‚ã¨ã‚Šã‚ãˆãšä½¿ã£ã¦ã¿ã¦ãã ã•ã„ãªã€‚
構æˆãƒ•ã‚¡ã‚¤ãƒ«ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™ã€‚
Mozilla Suite/Mozilla Firefoxã€Netscape 7以é™ãªã©ã€ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ã«Geckoエンジンを使用ã™ã‚‹ãƒ–ラウザã§åˆ©ç”¨ã§ãã¾ã™ã€‚
XPath(邦訳)ã¯ã€XSLTãªã©ã§XMLã®ãƒŽãƒ¼ãƒ‰ã‚’指定ã™ã‚‹ãŸã‚ã®ãƒ‘ス表ç¾ã‚’記述ã™ã‚‹è¨€èªžã§ã™ã€‚DOM3 XPathã¨çµ„ã¿åˆã‚ã›ã‚‹ã¨ã€åŠ¹çŽ‡ã‚ˆãXMLを処ç†ã™ã‚‹ä¸Šã§å½¹ç«‹ã¡ã¾ã™ã€‚
例ãˆã°ã€ã€Œabbrè¦ç´ ã¨acronymè¦ç´ ã§title属性ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã«å¯¾ã—ã¦å‡¦ç†ã‚’è¡Œã„ãŸã„ã€ã¨ã„ã†ãƒ‹ãƒ¼ã‚ºã«å¯¾ã—ã¦ã€DOM Coreã§ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«å‡¦ç†ã™ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
var nodes = [
document.getElementsByTagName('abbr'),
document.getElementsByTagName('acronym')
];
for (var i = 0; i < nodes.length; i++)
for (var j = 0; j < nodes[i].length; j++)
if (nodes[i][j].hasAttribute('title'))
doSomeOperation(nodes[i][j]);
ã“ã‚Œã ã¨ã€äºŒé‡ãƒ«ãƒ¼ãƒ—を回ã•ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“。ã¾ãŸã€å±žæ€§ãŒã‚ã‚‹ã‹ã©ã†ã‹ã¨ã„ã£ãŸãƒã‚§ãƒƒã‚¯ã‚‚è¡Œã†å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
XPathを使ã†ã¨ã€å…ˆã®æ–‡ã¯ã“ã†æ›¸ã‘ã¾ã™ã€‚
var result = document.evaluate(
'(/descendant::abbr[@title] | /descendant::acronym[@title])',
document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null
);
for (var i = 0; i < result.snapshotLength; i++)
doSomeOperation(result.snapshotItem(i));
ã“ã†ã™ã‚‹ã¨ã€ã„ããªã‚Šã€Œæ¡ä»¶ã‚’満ãŸã—ã¦ã„るノードã®ãƒªã‚¹ãƒˆã€ã‚’å–å¾—ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ãŸã‚ã€äºŒé‡ãƒ«ãƒ¼ãƒ—ã‚‚å¿…è¦ã‚ã‚Šã¾ã›ã‚“ã—ã€å„ノードã«å¯¾ã™ã‚‹æ¡ä»¶åˆ¤æ–ã‚‚å¿…è¦ã‚ã‚Šã¾ã›ã‚“。çµæžœã¨ã—ã¦ã€åˆ¶å¾¡æ§‹é€ ã®éƒ¨åˆ†ã‚’スッã‚リã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã®ã§ã€ãƒ¡ãƒ³ãƒ†ãƒŠãƒ³ã‚¹æ€§ã®å‘上ãªã©ã®ä½œç”¨ãŒæœŸå¾…ã§ãã¾ã™ã€‚
以上ã®äºŒç‚¹ãŒã€ã“ã®ã‚¢ãƒ—リケーションã®ä¸€ç•ªã®å˜åœ¨æ„義らã—ã„特徴ã ã¨ã€åƒ•ã¯æ€ã£ã¦ã„ã¾ã™ã€‚
å‰è€…ã¯ã€ã“ã®ã‚¢ãƒ—リケーションを作るã«ã‚ãŸã£ã¦ã®ç›´æŽ¥çš„ãªå‹•æ©Ÿã«ãªã£ã¦ã„ã¾ã™ã€‚
XPathã¯ã€æ›¸ã方を覚ãˆãªã‘ã‚Œã°æ›¸ã‘ã¾ã›ã‚“。「書ãæ–¹ã€ã¨ã¯ã™ãªã‚ã¡ã€ã€Œæ§‹æ–‡ã€ã¨ã€Œèªžå½™ã€ã§ã™ã€‚構文ã¯æ¯”較的容易ã«è¦šãˆã‚‰ã‚Œã‚‹ã‹ã¨ã¯æ€ã„ã¾ã™ãŒã€è»¸ã®æŒ‡å®šã‚„ノードテストã€é–¢æ•°åãªã©ã®èªžå½™ã¯ã€å®Ÿéš›ã«ä½¿ã„始ã‚ã¦ã¿ãªã‘ã‚Œã°ãªã‹ãªã‹è¦šãˆã‚‹ã®ãŒå¤§å¤‰ãªã®ã§ã¯ãªã„ã§ã—ょã†ã‹ã€‚ã¨ã„ã†ã‹åƒ•ã¯è¨˜æ†¶åŠ›ãŒç„¡ã„ã®ã§è¦šãˆã‚‰ã‚Œãªãã¦æŒ«æŠ˜ã—ã‹ã‘ã¾ã—ãŸã€‚
後者ã¯ã€ã“ã®ã‚¢ãƒ—リケーションã®é–‹ç™ºã‚’継続ã™ã‚‹ä¸ã§ã€XPathå¼ã‚’多用ã™ã‚‹ã‚ˆã†ã«ãªã£ã¦æ°—付ã„ãŸã“ã¨ã§ã™ã€‚
and/orãªã©ã®æ¼”ç®—åや関数を多用ã—ãŸé•·ã„å¼ã‚’書ã“ã†ã¨æ€ã†ã¨ã€è‡ªç„¶ã¨æ‹¬å¼§åŒå£«ã®å…¥ã‚ŒåãŒå¤šããªã‚Šã€ã†ã£ã‹ã‚Šé–‰ã˜æ‹¬å¼§ã‚’忘れã¦ã—ã¾ã£ãŸã ã¨ã‹ã€ãã®ã‚ˆã†ãªãƒŸã‚¹ã‚’犯ã—ã¦ã—ã¾ã†ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ãã®ç‚¹ã€æ©Ÿæ¢°ç”Ÿæˆãªã‚‰ã€æ‹¬å¼§ã®å¯¾å¿œé–¢ä¿‚ã‚’é–“é•ãˆã‚‹ã“ã¨ã¯ã¾ãšã‚ã‚Šã¾ã›ã‚“。
ã“れらã®ç‚¹ã§å›°ã£ã¦ã„ãªã„人ã«ã¨ã£ã¦ã¯ã€ã“ã®XPathå¼ã‚¨ãƒ‡ã‚£ã‚¿ã¯ç„¡æ„味ã ã¨æ€ã„ã¾ã™ã€‚
XPathå¼ã‚¨ãƒ‡ã‚£ã‚¿ï¼ˆ1.0)ã¨æ¯”較ã—ã¦ã€ä»¥ä¸‹ã®ç‚¹ã§ç•°ãªã‚Šã¾ã™ã€‚
ãƒãƒ¼ã‚«ãƒ«ã§ä½¿ç”¨ã™ã‚‹å ´åˆã€æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«ç¾¤ã‚’ダウンãƒãƒ¼ãƒ‰ã—ã¦ã™ã¹ã¦åŒã˜ãƒ•ã‚©ãƒ«ãƒ€ã«ç½®ã„ã¦ã€xpath.xulをブラウザウィンドウã«ãƒ‰ãƒ©ãƒƒã‚°ï¼†ãƒ‰ãƒãƒƒãƒ—ã—ã¦ãã ã•ã„。リモートã§ä½¿ç”¨ã™ã‚‹å ´åˆã€å‰è¿°ã®ãƒ•ã‚¡ã‚¤ãƒ«ç¾¤ã‚’ã©ã“ã‹é©å½“ãªã¨ã“ã‚ã«ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ã—ã¦ã€xpath.xulã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã¦ãã ã•ã„。
Mozilla/Firefoxã®ãƒ†ãƒ¼ãƒžã«ã‚ˆã£ã¦ã¯ãƒœã‚¿ãƒ³ãŒæ¶ˆãˆãŸã‚Šã™ã‚‹ã“ã¨ãŒã‚るよã†ã§ã™ã€‚ã¨ã‚Šã‚ãˆãšFirefoxã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒ†ãƒ¼ãƒžã§ã¯æ£ã—ã動作ã™ã‚‹ã“ã¨ã‚’確èªæ¸ˆã¿ã§ã™ã€‚
ボタンをクリックã—ãŸã‚Šã€ã‚¢ã‚¤ãƒ†ãƒ 上ã§å³ã‚¯ãƒªãƒƒã‚¯ã—ãŸã‚Šã€ã‚¢ã‚¤ãƒ†ãƒ をドラッグã—ãŸã‚Šã—ã¦ã¿ã¦ãã ã•ã„。Ctrl-クリック(ã¾ãŸã¯Shift-クリック)ã§è¤‡æ•°ã‚¢ã‚¤ãƒ†ãƒ ã‚’é¸æŠžã§ãã¾ã™ã€‚
ç”»é¢ä¸‹ã®ãƒ‘レットã‹ã‚‰ã€ã‚¢ã‚¤ãƒ†ãƒ を上ã®ã‚¨ãƒ‡ã‚£ã‚¿é ˜åŸŸã«ãƒ‰ãƒ©ãƒƒã‚°ï¼†ãƒ‰ãƒãƒƒãƒ—ã™ã‚‹ã¨ã€ã‚¢ã‚¤ãƒ†ãƒ ã‚’è¿½åŠ ã§ãã¾ã™ã€‚ã¾ãŸã€ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ãªã‚¢ã‚¤ãƒ†ãƒ ã®ä¸‹ã«è¡¨ç¤ºã•ã‚Œã‚‹ã€Œç¶šãを入力ã€ãªã©ã®ãƒœã‚¿ãƒ³ã‹ã‚‰ã‚‚ã‚¢ã‚¤ãƒ†ãƒ ã‚’è¿½åŠ ã§ãã¾ã™ã€‚
MPL 1.1ã¨ã—ã¾ã™ã€‚ライセンスã®è¨±å®¹ã™ã‚‹ç¯„囲内ã§ã€æ”¹å¤‰ãƒ»å†é…布ç‰ã”自由ã«ã©ã†ãžã€‚