FileDocCategorySizeDatePackage
DeferredNotationImpl.javaAPI DocJava SE 5 API5391Fri Aug 26 14:55:44 BST 2005com.sun.org.apache.xerces.internal.dom

DeferredNotationImpl

public class DeferredNotationImpl extends NotationImpl implements DeferredNode
Notations are how the Document Type Description (DTD) records hints about the format of an XML "unparsed entity" -- in other words, non-XML data bound to this document type, which some applications may wish to consult when manipulating the document. A Notation represents a name-value pair, with its nodeName being set to the declared name of the notation.

Notations are also used to formally declare the "targets" of Processing Instructions.

Note that the Notation's data is non-DOM information; the DOM only records what and where it is.

See the XML 1.0 spec, sections 4.7 and 2.6, for more info.

Level 1 of the DOM does not support editing Notation contents.

version
$Id: DeferredNotationImpl.java,v 1.10 2002/05/07 19:29:03 elena Exp $
since
PR-DOM-Level-1-19980818.

Fields Summary
static final long
serialVersionUID
Serialization version.
protected transient int
fNodeIndex
Node index.
Constructors Summary
DeferredNotationImpl(DeferredDocumentImpl ownerDocument, int nodeIndex)
This is the deferred constructor. Only the fNodeIndex is given here. All other data, can be requested from the ownerDocument via the index.


    //
    // Constructors
    //

                                
        
        super(ownerDocument, null);

        fNodeIndex = nodeIndex;
        needsSyncData(true);

    
Methods Summary
public intgetNodeIndex()
Returns the node index.

        return fNodeIndex;
    
protected voidsynchronizeData()
Synchronizes the data. This is special because of the way that the "fast" notation stores its information internally.


        // no need to synchronize again
        needsSyncData(false);

        // name
        DeferredDocumentImpl ownerDocument =
            (DeferredDocumentImpl)this.ownerDocument();
        name = ownerDocument.getNodeName(fNodeIndex);

        ownerDocument.getNodeType(fNodeIndex);
        // public and system ids
        publicId = ownerDocument.getNodeValue(fNodeIndex);
        systemId = ownerDocument.getNodeURI(fNodeIndex);
        int extraDataIndex = ownerDocument.getNodeExtra(fNodeIndex);
        ownerDocument.getNodeType(extraDataIndex);
        baseURI = ownerDocument.getNodeName(extraDataIndex);