dtmdocument.java

来自「java jdk 1.4的源码」· Java 代码 · 共 1,630 行 · 第 1/3 页

JAVA
1,630
字号
          typestring = "NULL";          break;        case DTM.PROCESSING_INSTRUCTION_NODE :          typestring = "PROCESSING_INSTRUCTION_NODE";          break;        case DTM.TEXT_NODE :          typestring = "TEXT_NODE";          break;        default :          typestring = "Unknown!";          break;        }        ps.println("Type: " + typestring);        int firstChild = _firstch(i);        if (DTM.NULL == firstChild)          ps.println("First child: DTM.NULL");        else if (NOTPROCESSED == firstChild)          ps.println("First child: NOTPROCESSED");        else          ps.println("First child: " + firstChild);        int prevSibling = _prevsib(i);        if (DTM.NULL == prevSibling)          ps.println("Prev sibling: DTM.NULL");        else if (NOTPROCESSED == prevSibling)          ps.println("Prev sibling: NOTPROCESSED");        else          ps.println("Prev sibling: " + prevSibling);        int nextSibling = _nextsib(i);        if (DTM.NULL == nextSibling)          ps.println("Next sibling: DTM.NULL");        else if (NOTPROCESSED == nextSibling)          ps.println("Next sibling: NOTPROCESSED");        else          ps.println("Next sibling: " + nextSibling);        int parent = _parent(i);        if (DTM.NULL == parent)          ps.println("Parent: DTM.NULL");        else if (NOTPROCESSED == parent)          ps.println("Parent: NOTPROCESSED");        else          ps.println("Parent: " + parent);        int level = _level(i);        ps.println("Level: " + level);        ps.println("Node Value: " + getNodeValue(i));        ps.println("String Value: " + getStringValue(i));        ps.println("First Attribute Node: " + m_attribute.elementAt(i));      }    }    catch(IOException ioe)    {      ioe.printStackTrace(System.err);      System.exit(-1);    }  }  /**   * Retrieve the text content of a DOM subtree, appending it into a   * user-supplied FastStringBuffer object. Note that attributes are   * not considered part of the content of an element.   * <p>   * There are open questions regarding whitespace stripping.   * Currently we make no special effort in that regard, since the standard   * DOM doesn't yet provide DTD-based information to distinguish   * whitespace-in-element-context from genuine #PCDATA. Note that we   * should probably also consider xml:space if/when we address this.   * DOM Level 3 may solve the problem for us.   * <p>   * %REVIEW% Note that as a DOM-level operation, it can be argued that this   * routine _shouldn't_ perform any processing beyond what the DOM already   * does, and that whitespace stripping and so on belong at the DTM level.   * If you want a stripped DOM view, wrap DTM2DOM around DOM2DTM.   * @param node Node whose subtree is to be walked, gathering the   * contents of all Text or CDATASection nodes.   * @param ch   * @param depth   * @return   * @throws org.xml.sax.SAXException   */  protected static void dispatchNodeData( Node node, ContentHandler ch, int depth )throws org.xml.sax.SAXException  {    switch (node.getNodeType())    {    case Node.DOCUMENT_FRAGMENT_NODE :    case Node.DOCUMENT_NODE :    case Node.ELEMENT_NODE :    {      for (Node child = node.getFirstChild(); null != child;              child = child.getNextSibling())      {        dispatchNodeData(child, ch, depth+1);      }    }    break;    case Node.PROCESSING_INSTRUCTION_NODE : // %REVIEW%    case Node.COMMENT_NODE :      if(0 != depth)        break;        // NOTE: Because this operation works in the DOM space, it does _not_ attempt        // to perform Text Coalition. That should only be done in DTM space.    case Node.TEXT_NODE :    case Node.CDATA_SECTION_NODE :    case Node.ATTRIBUTE_NODE :      String str = node.getNodeValue();      if(ch instanceof CharacterNodeHandler)      {        ((CharacterNodeHandler)ch).characters(node);      }      else      {        ch.characters(str.toCharArray(), 0, str.length());      }      break;//    /* case Node.PROCESSING_INSTRUCTION_NODE ://      // warning(XPATHErrorResources.WG_PARSING_AND_PREPARING);//      break; */    default :      // ignore      break;    }  }  /*********************************************************************/  /*********************************************************************/  /******************* End of Functions we Wrote ***********************/  /*********************************************************************/  /*********************************************************************/  /**   * For the moment all the run time properties are ignored by this   * class.   * @param property a <code>String</code> value   * @param value an <code>Object</code> value   * @return   */  public void setProperty( String property, Object value )  {  }  /**   * No source information is available for DOM2DTM, so return   * <code>null</code> here.   * @param node an <code>int</code> value   * @return null   */  public SourceLocator getSourceLocatorFor( int node )  {    return null;  }  /**   * @param parm1   * @return   */  protected int getNextNodeIdentity( int parm1 )  {    if (DEBUG) System.out.println("getNextNodeIdenty(" + parm1 + ")");    return DTM.NULL;  }  /**   * @param parm1   * @param parm2   * @param parm3   * @return   */  public int getAttributeNode( int parm1, String parm2, String parm3 )  {    if (DEBUG)    {      System.out.println(        "getAttributeNode(" +        parm1 + "," +        parm2 + "," +        parm3 + ")");    }    return DTM.NULL;  }  /**   * @param parm1   * @return   */  public String getLocalName( int parm1 )  {//    int exID = this.getExpandedTypeID( makeNodeIdentity(parm1) );      int exID = getExpandedTypeID(parm1);    if (DEBUG)    {      DEBUG = false;      System.out.print("getLocalName(" + parm1 + ") -> ");      System.out.println("..." + getLocalNameFromExpandedNameID(exID) );      DEBUG = true;    }    return getLocalNameFromExpandedNameID(exID);  }  /**   * @param parm1   * @return   */  public String getNodeName( int parm1 )  {//    int exID = getExpandedTypeID( makeNodeIdentity(parm1) );    int exID = getExpandedTypeID( parm1 );    if (DEBUG)    {      DEBUG = false;      System.out.print("getLocalName(" + parm1 + ") -> ");      System.out.println("..." + getLocalNameFromExpandedNameID(exID) );      DEBUG = true;    }    return getLocalNameFromExpandedNameID(exID);  }   /**   * @param parm1   * @return   */  public boolean isAttributeSpecified( int parm1 )  {    if (DEBUG) System.out.println("isAttributeSpecified(" + parm1 + ")");    return false;  }  /**   * @param parm1   * @return   */  public String getUnparsedEntityURI( String parm1 )  {    if (DEBUG) System.out.println("getUnparsedEntityURI(" + parm1 + ")");    return "";  }  /**   * @return   */  public DTDHandler getDTDHandler( )  {    if (DEBUG) System.out.println("getDTDHandler()");    return null;  }  /**   * @param parm1   * @return   */  public String getPrefix( int parm1 )  {    if (DEBUG) System.out.println("getPrefix(" + parm1  + ")");    return "";  }  /**   * @return   */  public EntityResolver getEntityResolver( )  {    if (DEBUG) System.out.println("getEntityResolver()");    return null;  }  /**   * @return   */  public String getDocumentTypeDeclarationPublicIdentifier( )  {    if (DEBUG) System.out.println("get_DTD_PubId()");    return "";  }  /**   * @return   */  public LexicalHandler getLexicalHandler( )  {    if (DEBUG) System.out.println("getLexicalHandler()");    return null;  }  /**   * @return   */  public boolean needsTwoThreads( )  {    if (DEBUG) System.out.println("needsTwoThreads()");    return false;  }  /**   * @return   */  public ContentHandler getContentHandler( )  {    if (DEBUG) System.out.println("getContentHandler()");    return null;  }  /**   * @param parm1   * @param parm2   * @return   * @throws org.xml.sax.SAXException   * @return   * @throws org.xml.sax.SAXException   */  public void dispatchToEvents( int parm1, ContentHandler parm2 )throws org.xml.sax.SAXException  {    if (DEBUG)    {      System.out.println(      "dispathcToEvents(" +      parm1 + "," +      parm2 + ")");    }    return;  }  /**   * @param parm1   * @return   */  public String getNamespaceURI( int parm1 )  {    if (DEBUG) System.out.println("getNamespaceURI(" +parm1+")");    return "";  }  /**   * @param nodeHandle   * @param ch   * @param normalize   * @return   * @throws org.xml.sax.SAXException   * @return   * @throws org.xml.sax.SAXException   */  public void dispatchCharactersEvents( int nodeHandle, ContentHandler ch, boolean normalize )throws org.xml.sax.SAXException  {    if (DEBUG)    {      System.out.println("dispatchCharacterEvents(" +      nodeHandle + "," +      ch + "," +      normalize + ")");    }    if(normalize)    {      XMLString str = getStringValue(nodeHandle);      str = str.fixWhiteSpace(true, true, false);      str.dispatchCharactersEvents(ch);    }    else    {      int type = getNodeType(nodeHandle);      Node node = getNode(nodeHandle);      dispatchNodeData(node, ch, 0);    }  }  /**   * Event overriding for Debug   * @return   */  public boolean supportsPreStripping( )  {    if (DEBUG) System.out.println("supportsPreStripping()");    return super.supportsPreStripping();  }  /**   * @param parm1   * @return   */  protected int _exptype( int parm1 )  {    if (DEBUG) System.out.println("_exptype(" + parm1 + ")");    return super._exptype( parm1);  }  /**   * @param parm1   * @return   */  protected SuballocatedIntVector findNamespaceContext( int parm1 )  {    if (DEBUG) System.out.println("SuballocatedIntVector(" + parm1 + ")");    return super.findNamespaceContext( parm1);  }  /**   * @param parm1   * @return   */  protected int _prevsib( int parm1 )  {    if (DEBUG) System.out.println("_prevsib(" + parm1+ ")");    return super._prevsib( parm1);  }  /**   * @param parm1   * @return   */  protected short _type( int parm1 )  {    if (DEBUG) System.out.println("_type(" + parm1 + ")");    return super._type( parm1);  }  /**   * @param parm1   * @return   */  public Node getNode( int parm1 )  {    if (DEBUG) System.out.println("getNode(" + parm1 + ")");    return super.getNode( parm1);  }  /**   * @param parm1   * @return   */  public int getPreviousSibling( int parm1 )  {    if (DEBUG) System.out.println("getPrevSib(" + parm1 + ")");    return super.getPreviousSibling( parm1);  }  /**   * @param parm1   * @return   */  public String getDocumentStandalone( int parm1 )  {    if (DEBUG) System.out.println("getDOcStandAlone(" + parm1 + ")");    return super.getDocumentStandalone( parm1);  }  /**   * @param parm1   * @return   */  public String getNodeNameX( int parm1 )  {    if (DEBUG) System.out.println("getNodeNameX(" + parm1 + ")");    //return super.getNodeNameX( parm1);    return getNodeName(parm1);  }  /**   * @param parm1   * @param parm2   * @return   */  public void setFeature( String parm1, boolean parm2 )  {    if (DEBUG)    {      System.out.println(        "setFeature(" +        parm1 + "," +        parm2 + ")");    }    super.setFeature( parm1,  parm2);  }  /**   * @param parm1   * @return   */  protected int _parent( int parm1 )  {    if (DEBUG) System.out.println("_parent(" + parm1 + ")");    return super._parent( parm1);  }  /**   * @param parm1   * @param parm2   * @return   */  protected void indexNode( int parm1, int parm2 )  {    if (DEBUG) System.out.println("indexNode("+parm1+","+parm2+")");    super.indexNode( parm1,  parm2);  }  /**   * @return   */  protected boolean getShouldStripWhitespace( )  {    if (DEBUG) System.out.println("getShouldStripWS()");    return super.getShouldStripWhitespace();  }  /**   * @return   */  protected void popShouldStripWhitespace( )  {    if (DEBUG) System.out.println("popShouldStripWS()");    super.popShouldStripWhitespace();  }  /**   * @param parm1   * @param parm2   * @return   */  public boolean isNodeAfter( int parm1, int parm2 )  {    if (DEBUG) System.out.println("isNodeAfter(" + parm1 + "," + parm2 + ")");    return super.isNodeAfter( parm1,  parm2);  }  /**   * @param parm1   * @return   */  public int getNamespaceType( int parm1 )  {

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?