XMLStarlet: Difference between revisions
Jump to navigation
Jump to search
(→-t) |
(→sel -t) |
||
(17 intermediate revisions by the same user not shown) | |||
Line 15: | Line 15: | ||
xml [[[#General_Options|options]]] <[[#Commands|command]]> [command options] | xml [[[#General_Options|options]]] <[[#Commands|command]]> [command options] | ||
=<tt>sel</tt> Command= | |||
Select (query) an XML file using XPath. It can also generate an [[XSLT#Overview|XSLT]] document. Internally, when <code>sel</code> command is used, the tool converts internally the commands into an XSLT to perform the query. | Select (query) an XML file using XPath. It can also generate an [[XSLT#Overview|XSLT]] document. Internally, when <code>sel</code> command is used, the tool converts internally the commands into an XSLT to perform the query. | ||
xml sel --help | |||
==<tt>sel -t</tt>== | |||
Create an [[XSLT#XSLT_Template|XSLT template]] using the provided options. | |||
xml sel -t <template options> <xml-file-name> | |||
xml sel -t < | Return codes: | ||
* If the path does not match anything, the command return an empty stdout/stderr and an "1" exit code. | |||
* If the file does not exist, the command returns "3" as exit code and a message along the lines of 'failed to load external entity "<file-name>"'. | |||
===Template Options=== | |||
===<span id='-c'></span><tt>-t -c</tt>=== | |||
Print a copy of XPath expression. Return the element (elements) that match the provided XPath expression, including the XML tags. | |||
xml sel -t -c "<xpath-expression>" <xml-file-name> | |||
xml sel -t -c "//book[@category='linux']" <xml-file-name> | |||
The example is taken from [[XPath#Example|XPath | Example]]. | |||
===< | ===<span id='-v'></span><tt>-t -v</tt>=== | ||
Print the value of the XPath expression. The XML tags are omitted from the output. | |||
xml sel -t -v "<xpath-expression>" <xml-file-name> | |||
xml sel -t -v "//book[@category='linux']" <xml-file-name> | |||
The example is taken from [[XPath#Example|XPath | Example]]. | |||
=<tt>ed</tt> Command= | |||
Edit an XML file. | Edit an XML file. | ||
=<tt>tr</tt> Command= | |||
Transform an XML file using [[XSLT]]. | Transform an XML file using [[XSLT]]. | ||
=General Options= |
Latest revision as of 05:10, 1 July 2021
External
- https://www.baeldung.com/linux/evaluate-xpath#using-the-xmlstarlet-toolkit
- http://xmlstar.sourceforge.net/
Internal
Overview
XMLStartlet ships with one executable called xml
, which can be used as the short form of the xmlstarlet
command.
XPath Syntax
Usage
xml [options] <command> [command options]
sel Command
Select (query) an XML file using XPath. It can also generate an XSLT document. Internally, when sel
command is used, the tool converts internally the commands into an XSLT to perform the query.
xml sel --help
sel -t
Create an XSLT template using the provided options.
xml sel -t <template options> <xml-file-name>
Return codes:
- If the path does not match anything, the command return an empty stdout/stderr and an "1" exit code.
- If the file does not exist, the command returns "3" as exit code and a message along the lines of 'failed to load external entity "<file-name>"'.
Template Options
-t -c
Print a copy of XPath expression. Return the element (elements) that match the provided XPath expression, including the XML tags.
xml sel -t -c "<xpath-expression>" <xml-file-name>
xml sel -t -c "//book[@category='linux']" <xml-file-name>
The example is taken from XPath | Example.
-t -v
Print the value of the XPath expression. The XML tags are omitted from the output.
xml sel -t -v "<xpath-expression>" <xml-file-name>
xml sel -t -v "//book[@category='linux']" <xml-file-name>
The example is taken from XPath | Example.
ed Command
Edit an XML file.
tr Command
Transform an XML file using XSLT.