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

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `exportQNameTest()` | Export the QNameTest as a string for use in a SEF file (typically in a catch clause).
    `java.lang.String` | `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 Detail

    - #### matches

          boolean matches​(StructuredQName qname)

      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

          java.lang.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

          java.lang.String generateJavaScriptNameTest​(int targetVersion)

      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.