comparison xpath.xml @ 0:7e01c6a6dbed draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/xpath commit e0575333e6f08ef02fc66c2764b43ebd15c6b04b
author iuc
date Fri, 10 Jun 2016 15:08:32 -0400
parents
children 1ba5c66e39c9
comparison
equal deleted inserted replaced
-1:000000000000 0:7e01c6a6dbed
1 <?xml version="1.0"?>
2 <tool id="xpath" name="XPath" version="@WRAPPER_VERSION@.0">
3 <description>compute xpath expressions on XML data</description>
4 <macros>
5 <import>macros.xml</import>
6 </macros>
7 <expand macro="requirements"/>
8 <expand macro="stdio"/>
9 <command interpreter="bash"><![CDATA[xpath
10 -q
11 -e '$expression' $input > $output
12 ]]></command>
13 <inputs>
14 <param name="input" type="data" format="xml" label="Input XML data"/>
15 <param name="expression" type="text" label="XPath Query">
16 <sanitizer>
17 <valid>
18 <add value="&quot;"/>
19 <add value="["/>
20 <add value="]"/>
21 <add value="@"/>
22 </valid>
23 </sanitizer>
24 </param>
25 </inputs>
26 <outputs>
27 <!-- TODO: sometimes there's text output (e.g. text() queries) -->
28 <data format="xml" name="output" label="XPath expression on $input.name"/>
29 </outputs>
30 <tests>
31 <test>
32 <param name="input" value="test.xml"/>
33 <param name="expression" value="//b[@attr=&quot;value&quot;]" />
34 <output name="output" file="1.xml"/>
35 </test>
36 <test>
37 <param name="input" value="test.xml"/>
38 <param name="expression" value="//b[@attr]" />
39 <output name="output" file="2.xml"/>
40 </test>
41 <test>
42 <param name="input" value="test.xml"/>
43 <param name="expression" value="//b/text()" />
44 <output name="output" file="3.xml"/>
45 </test>
46 </tests>
47 <help><![CDATA[
48 **What it does**
49
50 Query XML files with XPath expressions.
51
52 For an example input file::
53
54 <root>
55 <IdList>
56 <Id>1234</Id>
57 <Id>1235</Id>
58 <Id>1236</Id>
59 <Id>1237</Id>
60 </IdList>
61 </root>
62
63 One could query out the IDs specifically with a query like::
64
65 //Id/text()
66
67 **XPath Expressions**
68
69 There are many helpful tutorials on the internet for XPath expressions.
70 `Wikipedia <https://en.wikipedia.org/wiki/XPath>`__ has a number of good
71 examples.
72
73 **Some More Examples**
74
75 For an XML document like the following::
76
77 <root>
78 <a>
79 <b attr="value">1</b>
80 <b attr="none">2</b>
81 <b>3</b>
82 </a>
83 <c>
84 <d>4</d>
85 <e>5</e>
86 </c>
87 </root>
88
89 Here are some example queries and their outputs:
90
91 +====================+===================================================+
92 | Query | Result |
93 +--------------------+---------------------------------------------------+
94 | //b[@attr="value"] | <b attr="value">1</b> |
95 +--------------------+---------------------------------------------------+
96 | //b[@attr] | <b attr="value">1</b><b attr="none">2</b> |
97 +--------------------+---------------------------------------------------+
98 | //b | <b attr="value">1</b><b attr="none">2</b><b>3</b> |
99 +--------------------+---------------------------------------------------+
100 | //b/text() | 1\n2\n3 |
101 +--------------------+---------------------------------------------------+
102 | /root/*/*/text() | 1\n2\n3\n4\n5 |
103 +--------------------+---------------------------------------------------+
104
105
106
107 @ATTRIBUTION@
108 ]]></help>
109 <citations>
110 </citations>
111 </tool>