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 + -
显示快捷键?