EQNameUtil

object EQNameUtil

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.

class Object
trait Matchable
class Any

Value members

Concrete methods

def findPrefix(eqname: EQName): Option[String]

Returns the optional prefix of the given EQName, if it is a QName, and returns None otherwise.

Returns the optional prefix of the given EQName, if it is a QName, and returns None otherwise.

def findUsedEQNames(expr: XPathExpr, extraEQNameProducer: XPathElem => Option[Set[EQName]]): Set[EQName]

Finds the EQNames used in the given XPath expression, taking the extra EQName producer into account.

Finds the EQNames used in the given XPath expression, taking the extra EQName producer into account.

def findUsedEQNames(expr: XPathExpr): Set[EQName]

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.

def findUsedPrefixes(expr: XPathExpr, extraEQNameProducer: XPathElem => Option[Set[EQName]]): Set[String]

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)).

def findUsedPrefixes(expr: XPathExpr): Set[String]

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).

Concrete fields

Extracts an EQName from expressions like xs:QName('p:nm').

Extracts an EQName from expressions like xs:QName('p:nm').