Package net.sf.saxon.pattern
Interface QNameTest
- All Known Implementing Classes:
AnyNodeTest
,LocalNameTest
,NamespaceTest
,NameTest
,SameNameTest
,UnionQNameTest
public interface QNameTest
Interface for tests against a QName. This is implemented by a subset of NodeTests, specifically
those that are only concerned with testing a name. It is used for matching error
codes against the codes specified in a try/catch clause, and also to match component names
in xsl:accept and xsl:expose.
The various implementations of QNameTest typically match a node kind as well as node name. This
interface, however, is concerned only with matching of QNames, and the ability of an implementation
to match a node kind as well is redundant.
-
Method Summary
Modifier and TypeMethodDescriptionExport the QNameTest as a string for use in a SEF file (typically in a catch clause).generateJavaScriptNameTest
(int targetVersion) Generate Javascript code to test if a name matches the test.boolean
matches
(StructuredQName qname) Test whether the QNameTest matches a given QName
-
Method Details
-
matches
Test whether the QNameTest matches a given QName- Parameters:
qname
- the QName to be matched- Returns:
- true if the name matches, false if not
-
exportQNameTest
String exportQNameTest()Export the QNameTest as a string for use in a SEF file (typically in a catch clause).- Returns:
- a string representation of the QNameTest, suitable for use in export files. The format is a sequence of alternatives, space-separated, where each alternative is one of '*', '*:localname', 'Q{uri}*', or 'Q{uri}local'.
-
generateJavaScriptNameTest
Generate Javascript code to test if a name matches the test.- Parameters:
targetVersion
- The version of Saxon-JS being targeted- Returns:
- JS code as a string. The generated code will be used as the body of a JS function in which the argument name "q" is an XdmQName object holding the name. The XdmQName object has properties uri and local.
-