======Command xpath====== ====Name==== **xpath** evaluate an XPATH expression and print the result ====Synopsis==== xpath [ [[SerializationOptions serialization options]] ] [options] [xpath-expr] ====Options==== ||-f,-file xpath-file|| read xpath expression from file|| ||-i,-input context||(depreciated) 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 context||Use context as a literal context|| ||-cf,-context-file file||Use file as the name of an XML file for the context, or "-" for stdin|| ||-n|| do not use a source context|| ||-q,-query xpath-expr||xpath 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,-string||Convert the result to a string if it is an attribute or element|| ||-b,-bool||Do not print anything. Treat the result as a boolean and exit with 0 if the value is true otherwise 1|| ||-e,-exists||Execute xpath but do not print anything. The exit status is 0 if there was any selected values otherwise 1|| Supports the standard [ [[SerializationOptions serialization options]] ] Note that the "-q" is optional. It is only required if you need to specify both -n and -v Examples 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 - If context is an atomic value then treat as a filename to be loaded as the context item - Otherwise treat as the literal context for the context item -c or -cf are suggested which explicitly indicate if to use the expression literally or as a filename ====Example==== %%(shell) xls | xpath '//file[1]/@name/string()' %% Result %% .classpath %% Simplified example, you don't need to use /string() %% xls | xpath '//file[1]/@name' %% Result %% .classpath %% Namespace example using xmlsh [[Namespaces]] support %% declare namespace y=foo echo "" | xpath /y:a %% Namespace example using a renamed prefix for a namespace %% echo "" | xpath -nons -ns y=foo /y:a %% Result %% %% ====Return Value==== Returns 0 if the the xpath expression executed successfully and a non-empty result is returned. otherwise 1 ---- [[Commands]] [[CategoryCommands]]