org.apache.xml.utils

## Class QName

- java.lang.Object
- - org.apache.xml.utils.QName

- All Implemented Interfaces:
    java.io.Serializable

      public class QName
      extends java.lang.Object
      implements java.io.Serializable

  Class to represent a qualified name: "The name of an internal XSLT object, specifically a named template (see [7 Named Templates]), a mode (see [6.7 Modes]), an attribute set (see [8.1.4 Named Attribute Sets]), a key (see [14.2 Keys]), a locale (see [14.3 Number Formatting]), a variable or a parameter (see [12 Variables and Parameters]) is specified as a QName. If it has a prefix, then the prefix is expanded into a URI reference using the namespace declarations in effect on the attribute in which the name occurs. The expanded name consisting of the local part of the name and the possibly null URI reference is used as the name of the object. The default namespace is not used for unprefixed names."
  See Also:
    Serialized Form
  Usage:

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `S_XMLNAMESPACEURI` The XML namespace.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `QName()` Constructs an empty QName. 20001019: Try making this public, to support Serializable?
    `QName(java.lang.String localName)` Construct a QName from a string, without namespace resolution.
    `QName(java.lang.String localName, boolean validate)` Construct a QName from a string, without namespace resolution.
    `QName(java.lang.String qname, org.w3c.dom.Element namespaceContext, PrefixResolver resolver)` Construct a QName from a string, resolving the prefix using the given namespace context and prefix resolver.
    `QName(java.lang.String qname, org.w3c.dom.Element namespaceContext, PrefixResolver resolver, boolean validate)` Construct a QName from a string, resolving the prefix using the given namespace context and prefix resolver.
    `QName(java.lang.String qname, PrefixResolver resolver)` Construct a QName from a string, resolving the prefix using the given namespace stack.
    `QName(java.lang.String qname, PrefixResolver resolver, boolean validate)` Construct a QName from a string, resolving the prefix using the given namespace stack.
    `QName(java.lang.String qname, java.util.Stack namespaces)` Construct a QName from a string, resolving the prefix using the given namespace stack.
    `QName(java.lang.String qname, java.util.Stack namespaces, boolean validate)` Construct a QName from a string, resolving the prefix using the given namespace stack.
    `QName(java.lang.String namespaceURI, java.lang.String localName)` Constructs a new QName with the specified namespace URI and local name.
    `QName(java.lang.String namespaceURI, java.lang.String localName, boolean validate)` Constructs a new QName with the specified namespace URI and local name.
    `QName(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String localName)` Constructs a new QName with the specified namespace URI, prefix and local name.
    `QName(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String localName, boolean validate)` Constructs a new QName with the specified namespace URI, prefix and local name.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object object)` Override equals and agree that we're equal if the passed object is a QName and it matches the name of the arg.
    `boolean` | `equals(java.lang.String ns, java.lang.String localPart)` Override equals and agree that we're equal if the passed object is a string and it matches the name of the arg.
    `java.lang.String` | `getLocalName()` Returns the local part of the qualified name.
    `java.lang.String` | `getLocalPart()` Get the local part of the qualified name.
    `static java.lang.String` | `getLocalPart(java.lang.String qname)` Returns the local name of the given node.
    `java.lang.String` | `getNamespace()` Get the namespace of the qualified name.
    `java.lang.String` | `getNamespaceURI()` Returns the namespace URI.
    `java.lang.String` | `getPrefix()` Returns the namespace prefix.
    `static java.lang.String` | `getPrefixFromXMLNSDecl(java.lang.String attRawName)` This function tells if a raw attribute name is a xmlns attribute.
    `static java.lang.String` | `getPrefixPart(java.lang.String qname)` Returns the local name of the given node.
    `static QName` | `getQNameFromString(java.lang.String name)` Given a string, create and return a QName object
    `int` | `hashCode()` Return the cached hashcode of the qualified name.
    `static boolean` | `isXMLNSDecl(java.lang.String attRawName)` This function tells if a raw attribute name is a xmlns attribute.
    `java.lang.String` | `toNamespacedString()` Return the string representation of the qualified name using the the '{ns}foo' notation.
    `java.lang.String` | `toString()` Return the string representation of the qualified name, using the prefix if available, or the '{ns}foo' notation if not.

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### S_XMLNAMESPACEURI

          public static final java.lang.String S_XMLNAMESPACEURI

      The XML namespace.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### QName

          public QName()

      Constructs an empty QName. 20001019: Try making this public, to support Serializable? -- JKESS

    - #### QName

          public QName(java.lang.String namespaceURI,
                       java.lang.String localName)

      Constructs a new QName with the specified namespace URI and local name.
      Parameters:
        `namespaceURI` - The namespace URI if known, or null
        `localName` - The local name

    - #### QName

          public QName(java.lang.String namespaceURI,
                       java.lang.String localName,
                       boolean validate)

      Constructs a new QName with the specified namespace URI and local name.
      Parameters:
        `namespaceURI` - The namespace URI if known, or null
        `localName` - The local name
        `validate` - If true the new QName will be validated and an IllegalArgumentException will be thrown if it is invalid.

    - #### QName

          public QName(java.lang.String namespaceURI,
                       java.lang.String prefix,
                       java.lang.String localName)

      Constructs a new QName with the specified namespace URI, prefix and local name.
      Parameters:
        `namespaceURI` - The namespace URI if known, or null
        `prefix` - The namespace prefix is known, or null
        `localName` - The local name

    - #### QName

          public QName(java.lang.String namespaceURI,
                       java.lang.String prefix,
                       java.lang.String localName,
                       boolean validate)

      Constructs a new QName with the specified namespace URI, prefix and local name.
      Parameters:
        `namespaceURI` - The namespace URI if known, or null
        `prefix` - The namespace prefix is known, or null
        `localName` - The local name
        `validate` - If true the new QName will be validated and an IllegalArgumentException will be thrown if it is invalid.

    - #### QName

          public QName(java.lang.String localName)

      Construct a QName from a string, without namespace resolution. Good for a few odd cases.
      Parameters:
        `localName` - Local part of qualified name

    - #### QName

          public QName(java.lang.String localName,
                       boolean validate)

      Construct a QName from a string, without namespace resolution. Good for a few odd cases.
      Parameters:
        `localName` - Local part of qualified name
        `validate` - If true the new QName will be validated and an IllegalArgumentException will be thrown if it is invalid.

    - #### QName

          public QName(java.lang.String qname,
                       java.util.Stack namespaces)

      Construct a QName from a string, resolving the prefix using the given namespace stack. The default namespace is not resolved.
      Parameters:
        `qname` - Qualified name to resolve
        `namespaces` - Namespace stack to use to resolve namespace

    - #### QName

          public QName(java.lang.String qname,
                       java.util.Stack namespaces,
                       boolean validate)

      Construct a QName from a string, resolving the prefix using the given namespace stack. The default namespace is not resolved.
      Parameters:
        `qname` - Qualified name to resolve
        `namespaces` - Namespace stack to use to resolve namespace
        `validate` - If true the new QName will be validated and an IllegalArgumentException will be thrown if it is invalid.

    - #### QName

          public QName(java.lang.String qname,
                       org.w3c.dom.Element namespaceContext,
                       PrefixResolver resolver)

      Construct a QName from a string, resolving the prefix using the given namespace context and prefix resolver. The default namespace is not resolved.
      Parameters:
        `qname` - Qualified name to resolve
        `namespaceContext` - Namespace Context to use
        `resolver` - Prefix resolver for this context

    - #### QName

          public QName(java.lang.String qname,
                       org.w3c.dom.Element namespaceContext,
                       PrefixResolver resolver,
                       boolean validate)

      Construct a QName from a string, resolving the prefix using the given namespace context and prefix resolver. The default namespace is not resolved.
      Parameters:
        `qname` - Qualified name to resolve
        `namespaceContext` - Namespace Context to use
        `resolver` - Prefix resolver for this context
        `validate` - If true the new QName will be validated and an IllegalArgumentException will be thrown if it is invalid.

    - #### QName

          public QName(java.lang.String qname,
                       PrefixResolver resolver)

      Construct a QName from a string, resolving the prefix using the given namespace stack. The default namespace is not resolved.
      Parameters:
        `qname` - Qualified name to resolve
        `resolver` - Prefix resolver for this context

    - #### QName

          public QName(java.lang.String qname,
                       PrefixResolver resolver,
                       boolean validate)

      Construct a QName from a string, resolving the prefix using the given namespace stack. The default namespace is not resolved.
      Parameters:
        `qname` - Qualified name to resolve
        `resolver` - Prefix resolver for this context
        `validate` - If true the new QName will be validated and an IllegalArgumentException will be thrown if it is invalid.

  - ### Method Detail

    - #### getNamespaceURI

          public java.lang.String getNamespaceURI()

      Returns the namespace URI. Returns null if the namespace URI is not known.
      Returns:
        The namespace URI, or null

    - #### getPrefix

          public java.lang.String getPrefix()

      Returns the namespace prefix. Returns null if the namespace prefix is not known.
      Returns:
        The namespace prefix, or null

    - #### getLocalName

          public java.lang.String getLocalName()

      Returns the local part of the qualified name.
      Returns:
        The local part of the qualified name

    - #### toString

          public java.lang.String toString()

      Return the string representation of the qualified name, using the prefix if available, or the '{ns}foo' notation if not. Performs string concatenation, so beware of performance issues.
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        the string representation of the namespace

    - #### toNamespacedString

          public java.lang.String toNamespacedString()

      Return the string representation of the qualified name using the the '{ns}foo' notation. Performs string concatenation, so beware of performance issues.
      Returns:
        the string representation of the namespace

    - #### getNamespace

          public java.lang.String getNamespace()

      Get the namespace of the qualified name.
      Returns:
        the namespace URI of the qualified name

    - #### getLocalPart

          public java.lang.String getLocalPart()

      Get the local part of the qualified name.
      Returns:
        the local part of the qualified name

    - #### hashCode

          public int hashCode()

      Return the cached hashcode of the qualified name.
      Overrides:
        `hashCode` in class `java.lang.Object`
      Returns:
        the cached hashcode of the qualified name

    - #### equals

          public boolean equals(java.lang.String ns,
                                java.lang.String localPart)

      Override equals and agree that we're equal if the passed object is a string and it matches the name of the arg.
      Parameters:
        `ns` - Namespace URI to compare to
        `localPart` - Local part of qualified name to compare to
      Returns:
        True if the local name and uri match

    - #### equals

          public boolean equals(java.lang.Object object)

      Override equals and agree that we're equal if the passed object is a QName and it matches the name of the arg.
      Overrides:
        `equals` in class `java.lang.Object`
      Returns:
        True if the qualified names are equal

    - #### getQNameFromString

          public static QName getQNameFromString(java.lang.String name)

      Given a string, create and return a QName object
      Parameters:
        `name` - String to use to create QName
      Returns:
        a QName object

    - #### isXMLNSDecl

          public static boolean isXMLNSDecl(java.lang.String attRawName)

      This function tells if a raw attribute name is a xmlns attribute.
      Parameters:
        `attRawName` - Raw name of attribute
      Returns:
        True if the attribute starts with or is equal to xmlns

    - #### getPrefixFromXMLNSDecl

          public static java.lang.String getPrefixFromXMLNSDecl(java.lang.String attRawName)

      This function tells if a raw attribute name is a xmlns attribute.
      Parameters:
        `attRawName` - Raw name of attribute
      Returns:
        Prefix of attribute

    - #### getLocalPart

          public static java.lang.String getLocalPart(java.lang.String qname)

      Returns the local name of the given node.
      Parameters:
        `qname` - Input name
      Returns:
        Local part of the name if prefixed, or the given name if not

    - #### getPrefixPart

          public static java.lang.String getPrefixPart(java.lang.String qname)

      Returns the local name of the given node.
      Parameters:
        `qname` - Input name
      Returns:
        Prefix of name or empty string if none there

Copyright © 2023 Apache XML Project. All Rights Reserved.