XMLStarlet: Difference between revisions
Jump to navigation
Jump to search
(→-c) |
(→sel -t) |
||
(7 intermediate revisions by the same user not shown) | |||
Line 21: | Line 21: | ||
Create an [[XSLT#XSLT_Template|XSLT template]] using the provided options. | Create an [[XSLT#XSLT_Template|XSLT template]] using the provided options. | ||
xml sel -t <template options> <xml-file-name> | 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=== | ===Template Options=== | ||
===<span id='-c'></span><tt>-t -c</tt>=== | ===<span id='-c'></span><tt>-t -c</tt>=== | ||
Print a copy of XPath expression. | Print a copy of XPath expression. Return the element (elements) that match the provided XPath expression, including the XML tags. | ||
Return the element (elements) that match the provided XPath expression. | |||
xml sel -t -c "<xpath-expression>" <xml-file-name> | xml sel -t -c "<xpath-expression>" <xml-file-name> | ||
Line 31: | Line 33: | ||
The example is taken from [[XPath#Example|XPath | Example]]. | The example is taken from [[XPath#Example|XPath | Example]]. | ||
===<tt>-v</tt>=== | ===<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= | =<tt>ed</tt> Command= |
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.