Package net.sf.saxon.om
Class QNameParser
- java.lang.Object
-
- net.sf.saxon.om.QNameParser
-
public class QNameParser extends Object
Parser to handle QNames in either lexical QName or EQName syntax, including resolving any prefix against a URIResolver. The parser can be instantiated with various options to control the returned error code, the handling of defaults, etc.
-
-
Constructor Summary
Constructors Constructor Description QNameParser(NamespaceResolver resolver)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StructuredQNameparse(CharSequence lexicalName)Make a structured QName from a lexical QName, using a supplied NamespaceResolver to resolve the prefix.voidsetAcceptEQName(boolean acceptEQName)voidsetDefaultNamespace(String defaultNamespace)voidsetErrorOnBadSyntax(String code)voidsetErrorOnUnresolvedPrefix(String code)voidsetNamespaceResolver(NamespaceResolver resolver)voidsetUnescaper(XQueryParser.Unescaper unescaper)
-
-
-
Constructor Detail
-
QNameParser
public QNameParser(NamespaceResolver resolver)
-
-
Method Detail
-
setNamespaceResolver
public void setNamespaceResolver(NamespaceResolver resolver)
-
setAcceptEQName
public void setAcceptEQName(boolean acceptEQName)
-
setUnescaper
public void setUnescaper(XQueryParser.Unescaper unescaper)
-
setDefaultNamespace
public void setDefaultNamespace(String defaultNamespace)
-
setErrorOnBadSyntax
public void setErrorOnBadSyntax(String code)
-
setErrorOnUnresolvedPrefix
public void setErrorOnUnresolvedPrefix(String code)
-
parse
public StructuredQName parse(CharSequence lexicalName) throws XPathException
Make a structured QName from a lexical QName, using a supplied NamespaceResolver to resolve the prefix. The local part of the QName is checked for validity; the prefix is not checked, on the grounds that an invalid prefix will fail to resolve to a URI.- Parameters:
lexicalName- the QName as a lexical name (prefix:local)- Returns:
- the StructuredQName object corresponding to this lexical QName
- Throws:
XPathException- if the namespace prefix is not in scope or if the value is lexically invalid. Error code FONS0004 is set if the namespace prefix has not been declared; error code FOCA0002 is set if the name is lexically invalid. These may need to be changed on return depending on the caller's requirements.
-
-