Command xpath


xpath evaluate an XPATH expression and print the result


xpath [ serialization options ] [options] [xpath-expr]


-f,-file xpath-file read xpath expression from file
-i,-input context use context as the source xml document, otherwise stdin if context is an XML expression which is an item then use it directly as the context item.
-c,-context contextUse context as a literal context
-cf,-context-file fileUse file as the name of an XML file for the context, or "-" for stdin
-n do not use a source context
-q,-query xpath-exprxpath expression
-v Read remaining pairs of arguments as name/value pairs to assign as xpath variables
-nons Do not import global namespace declarations from the shell environment
-ns prefix=uri Add a predeclared namespace delcaration
-s,-stringConvert the result to a string if it is an attribute or element
-b,-boolDo not print anything. Treat the result as a boolean and exit with 0 if the value is true otherwise 1
-e,-existsExecute xpath but do not print anything. The exit status is 0 if there was any selected values otherwise 1

Supports the standard [ serialization options ]

Note that the "-q" is optional. It is only required if you need to specify both -n and -v
xpath-n -q expr -v variable some-value

If the result (or any node of the result if a sequence) is an Attribute the it is converted to a string.

-i is depreciated. It is a convenience option that does the following
-c or -cf are suggested which explicitly indicate if to use the expression literally or as a filename


xls | xpath '//file[1]/@name/string()'


Simplified example, you don't need to use /string()
xls | xpath '//file[1]/@name'


Namespace example using xmlsh Namespaces support
declare namespace y=foo 
echo "<x:a xmlns:x='foo' />" | xpath /y:a

Namespace example using a renamed prefix for a namespace
echo "<x:a xmlns:x='foo' />" | xpath  -nons -ns y=foo /y:a

<x:a xmlns:x="foo"/>

Return Value

Returns 0 if the the xpath expression executed successfully and a non-empty result is returned. otherwise 1

There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki