protected void serializeElement ( Element node , boolean bStart ) throws SAXException { if ( bStart ) { fElementDepth ++ ; // We use the Xalan specific startElement and starPrefixMapping calls // (and addAttribute and namespaceAfterStartElement) as opposed to // SAX specific, for performance reasons as they reduce the overhead // of creating an AttList object upfront. // well-formed=true if ( ( fFeatures & WELLFORMED ) != 0 ) { isElementWellFormed ( node ) ; } // REVISIT: We apply the LSSerializer filter for elements before // namesapce fixup if ( ! applyFilter ( node , NodeFilter . SHOW_ELEMENT ) ) { return ; } // namespaces=true, record and fixup namspaced element if ( ( fFeatures & NAMESPACES ) != 0 ) { fNSBinder . pushContext ( ) ; fLocalNSBinder . reset ( ) ; recordLocalNSDecl ( node ) ; fixupElementNS ( node ) ; } // Namespace normalization fSerializer . startElement ( node . getNamespaceURI ( ) , node . getLocalName ( ) , node . getNodeName ( ) ) ; serializeAttList ( node ) ; } else { fElementDepth -- ; // apply the LSSerializer filter if ( ! applyFilter ( node , NodeFilter . SHOW_ELEMENT ) ) { return ; } this . fSerializer . endElement ( node . getNamespaceURI ( ) , node . getLocalName ( ) , node . getNodeName ( ) ) ; // since endPrefixMapping was not used by SerializationHandler it was removed // for performance reasons. if ( ( fFeatures & NAMESPACES ) != 0 ) { fNSBinder . popContext ( ) ; } } }
Serializes an Element Node .