org.apache.xerces.dom

## Class ElementNSImpl

- java.lang.Object
- - org.apache.xerces.dom.NodeImpl
  - - org.apache.xerces.dom.ChildNode
    - - org.apache.xerces.dom.ParentNode
      - - org.apache.xerces.dom.ElementImpl
        - - org.apache.xerces.dom.ElementNSImpl

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, org.w3c.dom.Element, org.w3c.dom.ElementTraversal, org.w3c.dom.events.EventTarget, org.w3c.dom.Node, org.w3c.dom.NodeList, org.w3c.dom.TypeInfo
  Direct Known Subclasses:
    DeferredElementNSImpl, PSVIElementNSImpl

      public class ElementNSImpl
      extends ElementImpl

  ElementNSImpl inherits from ElementImpl and adds namespace support.

  The qualified name is the node name, and we store localName which is also used in all queries. On the other hand we recompute the prefix when necessary.

  Version:
    $Id: ElementNSImpl.java 924245 2010-03-17 11:58:14Z mrglavas $
  Author:
    Elena litani, IBM, Neeraj Bajaj, Sun Microsystems
  See Also:
    Serialized Form

  # INTERNAL:

    Usage of this class is not supported. It may be altered or removed at any time.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.lang.String` | `localName` DOM2: localName.
    `protected java.lang.String` | `namespaceURI` DOM2: Namespace URI.

    - ### Fields inherited from class org.apache.xerces.dom.ElementImpl

      `attributes, name`

    - ### Fields inherited from class org.apache.xerces.dom.ParentNode

      `firstChild, fNodeListCache, ownerDocument`

    - ### Fields inherited from class org.apache.xerces.dom.ChildNode

      `nextSibling, previousSibling`

    - ### Fields inherited from class org.apache.xerces.dom.NodeImpl

      `DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_IS_CONTAINED, DOCUMENT_POSITION_PRECEDING, ELEMENT_DEFINITION_NODE, FIRSTCHILD, flags, HASSTRING, ID, IGNORABLEWS, NORMALIZED, OWNED, ownerNode, READONLY, SPECIFIED, SYNCCHILDREN, SYNCDATA, TREE_POSITION_ANCESTOR, TREE_POSITION_DESCENDANT, TREE_POSITION_DISCONNECTED, TREE_POSITION_EQUIVALENT, TREE_POSITION_FOLLOWING, TREE_POSITION_PRECEDING, TREE_POSITION_SAME_NODE`

    - ### Fields inherited from interface org.w3c.dom.Node

      `ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE`

    - ### Fields inherited from interface org.w3c.dom.TypeInfo

      `DERIVATION_EXTENSION, DERIVATION_LIST, DERIVATION_RESTRICTION, DERIVATION_UNION`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `ElementNSImpl()`
    `protected` | `ElementNSImpl(CoreDocumentImpl ownerDocument, java.lang.String value)`
    `protected` | `ElementNSImpl(CoreDocumentImpl ownerDocument, java.lang.String namespaceURI, java.lang.String qualifiedName)` DOM2: Constructor for Namespace implementation.
    `protected` | `ElementNSImpl(CoreDocumentImpl ownerDocument, java.lang.String namespaceURI, java.lang.String qualifiedName, java.lang.String localName)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getLocalName()` Introduced in DOM Level 2.
    `java.lang.String` | `getNamespaceURI()` Introduced in DOM Level 2.
    `java.lang.String` | `getPrefix()` Introduced in DOM Level 2.
    `java.lang.String` | `getTypeName()` The name of a type declared for the associated element or attribute, or `null` if unknown.
    `java.lang.String` | `getTypeNamespace()` The namespace of the type declared for the associated element or attribute or `null` if the element does not have declaration or if no namespace information is available.
    `protected org.w3c.dom.Attr` | `getXMLBaseAttribute()` NON-DOM Returns the xml:base attribute.
    `boolean` | `isDerivedFrom(java.lang.String typeNamespaceArg, java.lang.String typeNameArg, int derivationMethod)` Introduced in DOM Level 2.
    `void` | `setPrefix(java.lang.String prefix)` Introduced in DOM Level 2.
    `void` | `setType(org.apache.xerces.xs.XSTypeDefinition type)` NON-DOM: setting type used by the DOM parser

    - ### Methods inherited from class org.apache.xerces.dom.ElementImpl

      `cloneNode, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getBaseURI, getChildElementCount, getDefaultAttributes, getElementsByTagName, getElementsByTagNameNS, getFirstElementChild, getLastElementChild, getNextElementSibling, getNodeName, getNodeType, getPreviousElementSibling, getSchemaTypeInfo, getTagName, getXercesAttribute, hasAttribute, hasAttributeNS, hasAttributes, isEqualNode, normalize, reconcileDefaultAttributes, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setOwnerDocument, setReadOnly, setupDefaultAttributes, setXercesAttributeNode, synchronizeData`

    - ### Methods inherited from class org.apache.xerces.dom.ParentNode

      `getChildNodes, getChildNodesUnoptimized, getFirstChild, getLastChild, getLength, getOwnerDocument, getTextContent, hasChildNodes, insertBefore, item, removeChild, replaceChild, setTextContent, synchronizeChildren`

    - ### Methods inherited from class org.apache.xerces.dom.ChildNode

      `getNextSibling, getParentNode, getPreviousSibling`

    - ### Methods inherited from class org.apache.xerces.dom.NodeImpl

      `addEventListener, appendChild, changed, changes, compareDocumentPosition, compareTreePosition, dispatchEvent, getContainer, getFeature, getNodeNumber, getNodeValue, getReadOnly, getUserData, getUserData, getUserDataRecord, isDefaultNamespace, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, needsSyncChildren, removeEventListener, setNodeValue, setUserData, setUserData, toString`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.w3c.dom.Node

      `appendChild, compareDocumentPosition, getChildNodes, getFeature, getFirstChild, getLastChild, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPreviousSibling, getTextContent, getUserData, hasChildNodes, insertBefore, isDefaultNamespace, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, removeChild, replaceChild, setNodeValue, setTextContent, setUserData`

- - ### Field Detail

    - #### namespaceURI

          protected java.lang.String namespaceURI

      DOM2: Namespace URI.

    - #### localName

          protected java.lang.String localName

      DOM2: localName.

  - ### Constructor Detail

    - #### ElementNSImpl

          protected ElementNSImpl()

    - #### ElementNSImpl

          protected ElementNSImpl(CoreDocumentImpl ownerDocument,
                       java.lang.String namespaceURI,
                       java.lang.String qualifiedName)
                           throws org.w3c.dom.DOMException

      DOM2: Constructor for Namespace implementation.
      Throws:
        `org.w3c.dom.DOMException`

    - #### ElementNSImpl

          protected ElementNSImpl(CoreDocumentImpl ownerDocument,
                       java.lang.String namespaceURI,
                       java.lang.String qualifiedName,
                       java.lang.String localName)
                           throws org.w3c.dom.DOMException

      Throws:
        `org.w3c.dom.DOMException`

    - #### ElementNSImpl

          protected ElementNSImpl(CoreDocumentImpl ownerDocument,
                       java.lang.String value)

  - ### Method Detail

    - #### getNamespaceURI

          public java.lang.String getNamespaceURI()

      Introduced in DOM Level 2.

      The namespace URI of this node, or null if it is unspecified.

      This is not a computed value that is the result of a namespace lookup based on an examination of the namespace declarations in scope. It is merely the namespace URI given at creation time.

      For nodes created with a DOM Level 1 method, such as createElement from the Document interface, this is null.

      Specified by:
        `getNamespaceURI` in interface `org.w3c.dom.Node`
      Overrides:
        `getNamespaceURI` in class `NodeImpl`
      Since:
        WD-DOM-Level-2-19990923
      See Also:
        `AttrNSImpl`, `ElementNSImpl`

    - #### getPrefix

          public java.lang.String getPrefix()

      Introduced in DOM Level 2.

      The namespace prefix of this node, or null if it is unspecified.

      For nodes created with a DOM Level 1 method, such as createElement from the Document interface, this is null.

      Specified by:
        `getPrefix` in interface `org.w3c.dom.Node`
      Overrides:
        `getPrefix` in class `NodeImpl`
      Since:
        WD-DOM-Level-2-19990923
      See Also:
        `AttrNSImpl`, `ElementNSImpl`

    - #### setPrefix

          public void setPrefix(java.lang.String prefix)
                         throws org.w3c.dom.DOMException

      Introduced in DOM Level 2.

      Note that setting this attribute changes the nodeName attribute, which holds the qualified name, as well as the tagName and name attributes of the Element and Attr interfaces, when applicable.

      Specified by:
        `setPrefix` in interface `org.w3c.dom.Node`
      Overrides:
        `setPrefix` in class `NodeImpl`
      Parameters:
        `prefix` - The namespace prefix of this node, or null(empty string) if it is unspecified.
      Throws:
        `INVALID_CHARACTER_ERR` - Raised if the specified prefix contains an invalid character.
        `org.w3c.dom.DOMException`
      Since:
        WD-DOM-Level-2-19990923
      See Also:
        `AttrNSImpl`, `ElementNSImpl`

    - #### getLocalName

          public java.lang.String getLocalName()

      Introduced in DOM Level 2.

      Returns the local part of the qualified name of this node.

      Specified by:
        `getLocalName` in interface `org.w3c.dom.Node`
      Overrides:
        `getLocalName` in class `NodeImpl`
      Since:
        WD-DOM-Level-2-19990923
      See Also:
        `AttrNSImpl`, `ElementNSImpl`

    - #### getXMLBaseAttribute

          protected org.w3c.dom.Attr getXMLBaseAttribute()

      NON-DOM Returns the xml:base attribute.
      Overrides:
        `getXMLBaseAttribute` in class `ElementImpl`

    - #### getTypeName

          public java.lang.String getTypeName()

      Description copied from interface: `org.w3c.dom.TypeInfo`
      The name of a type declared for the associated element or attribute, or `null` if unknown.
      Specified by:
        `getTypeName` in interface `org.w3c.dom.TypeInfo`
      Overrides:
        `getTypeName` in class `ElementImpl`
      See Also:
        `TypeInfo.getTypeName()`

    - #### getTypeNamespace

          public java.lang.String getTypeNamespace()

      Description copied from interface: `org.w3c.dom.TypeInfo`
      The namespace of the type declared for the associated element or attribute or `null` if the element does not have declaration or if no namespace information is available.
      Specified by:
        `getTypeNamespace` in interface `org.w3c.dom.TypeInfo`
      Overrides:
        `getTypeNamespace` in class `ElementImpl`
      See Also:
        `TypeInfo.getTypeNamespace()`

    - #### isDerivedFrom

          public boolean isDerivedFrom(java.lang.String typeNamespaceArg,
                              java.lang.String typeNameArg,
                              int derivationMethod)

      Introduced in DOM Level 2.

      Checks if a type is derived from another by restriction. See: http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-isDerivedFrom

      Specified by:
        `isDerivedFrom` in interface `org.w3c.dom.TypeInfo`
      Overrides:
        `isDerivedFrom` in class `ElementImpl`
      Parameters:
        `typeNamespaceArg` - The namspace of the ancestor type declaration
        `typeNameArg` - The name of the ancestor type declaration
        `derivationMethod` - The derivation method
      Returns:
        boolean True if the type is derived by restriciton for the reference type

    - #### setType

          public void setType(org.apache.xerces.xs.XSTypeDefinition type)

      NON-DOM: setting type used by the DOM parser
      See Also:
        `NodeImpl.setReadOnly(boolean, boolean)`

Copyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.