Extracts an EQName from expressions like xs:QName('p:nm')
.
Returns the optional prefix of the given EQName, if it is a QName, and returns None otherwise.
Finds the EQNames used in the given XPath expression.
Finds the EQNames used in the given XPath expression.
They are the EQNames in variable-references, variable bindings, function names, types, etc.
Finds the EQNames used in the given XPath expression, taking the extra EQName producer into account.
Finds the namespace prefixes used in QNames in the given XPath expression.
Finds the namespace prefixes used in QNames in the given XPath expression.
Note that this function does not look for namespace prefixes in (prefix) wildcards.
In other words, returns findUsedPrefixes(expr, e => None)
.
Finds the namespace prefixes used in QNames in the given XPath expression, taking the extra EQName producer into account.
Finds the namespace prefixes used in QNames in the given XPath expression, taking the extra EQName producer into account.
Note that this function does not look for namespace prefixes in (prefix) wildcards.
In other words, returns findUsedEQNames(expr, extraEQNameProducer).flatMap(n => findPrefix(n))
.
Utility to query for used EQNames (and namespace prefixes in those EQNames that are QNames).
This utility can be handy when searching for all namespace prefixes used in an XML document, if the document can have XPath expressions in attribute values or element text according to the schema.