You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ar...@locus.apache.org on 2000/01/15 01:14:04 UTC
cvs commit: xml-xerces/java/src/org/apache/xml/serialize BaseMarkupSerializer.java XMLSerializer.java
arkin 00/01/14 16:14:04
Modified: java/src/org/apache/xml/serialize BaseMarkupSerializer.java
XMLSerializer.java
Log:
Prints public/system identifier based on document type.
No longer prints DOM entities as internal subset.
Revision Changes Path
1.4 +26 -9 xml-xerces/java/src/org/apache/xml/serialize/BaseMarkupSerializer.java
Index: BaseMarkupSerializer.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xml/serialize/BaseMarkupSerializer.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- BaseMarkupSerializer.java 2000/01/14 20:40:54 1.3
+++ BaseMarkupSerializer.java 2000/01/15 00:14:03 1.4
@@ -705,8 +705,6 @@
{
// Only works if we're going out of DTD mode.
if ( _writer == _dtdWriter ) {
-System.out.println( "Writer " + _writer );
-System.out.println( "DocWriter " + _docWriter );
_line.append( _text );
_text = new StringBuffer( 20 );
flushLine( false );
@@ -750,13 +748,18 @@
comment( node.getNodeValue() );
break;
- case Node.ENTITY_REFERENCE_NODE :
- // Entity reference printed directly in text, do not break or pause.
+ case Node.ENTITY_REFERENCE_NODE : {
+ Node child;
+
endCDATA();
content();
- printText( '&' + node.getNodeName() + ';' );
+ child = node.getFirstChild();
+ while ( child != null ) {
+ serializeNode( child );
+ child = child.getNextSibling();
+ }
break;
-
+ }
case Node.PROCESSING_INSTRUCTION_NODE :
processingInstruction( node.getNodeName(), node.getNodeValue() );
break;
@@ -776,13 +779,26 @@
// serialize it.
docType = ( (Document) node ).getDoctype();
if ( docType != null ) {
- startDTD( docType.getName(), null, null );
+ startDTD( docType.getName(), docType.getPublicId(), docType.getSystemId() );
+ /* This is only required for internal subset
map = docType.getEntities();
if ( map != null ) {
for ( i = 0 ; i < map.getLength() ; ++i ) {
entity = (Entity) map.item( i );
- unparsedEntityDecl( entity.getNodeName(), entity.getPublicId(),
- entity.getSystemId(), entity.getNotationName() );
+ if ( entity.getSystemId() == null && entity.getPublicId() == null ) {
+ Node child;
+
+ printText( "<!ENTITY " + entity.getNodeName() + " \"" );
+ child = entity.getFirstChild();
+ while ( child != null ) {
+ serializeNode( child );
+ child = child.getNextSibling();
+ }
+ printText( "\">" );
+ } else {
+ unparsedEntityDecl( entity.getNodeName(), entity.getPublicId(),
+ entity.getSystemId(), entity.getNotationName() );
+ }
}
}
map = docType.getNotations();
@@ -792,6 +808,7 @@
notationDecl( notation.getNodeName(), notation.getPublicId(), notation.getSystemId() );
}
}
+ */
endDTD();
}
// !! Fall through
1.6 +11 -0 xml-xerces/java/src/org/apache/xml/serialize/XMLSerializer.java
Index: XMLSerializer.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xml/serialize/XMLSerializer.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- XMLSerializer.java 2000/01/14 20:40:55 1.5
+++ XMLSerializer.java 2000/01/15 00:14:03 1.6
@@ -375,6 +375,17 @@
printText( ">" );
breakLine();
+ } else if ( dtd != null && dtd.length() > 0 ) {
+ printText( "<!DOCTYPE " );
+ printText( rootTagName );
+ printText( " [" );
+ indent();
+ if ( _format.getIndenting() )
+ breakLine();
+ printText( dtd, true );
+ unindent();
+ printText( "]>" );
+ breakLine();
}
}
_started = true;