CVS Update: xmlpull-api-v1/src/java/samples
Aleksander Andrzej Slominski <[email protected]>
| Newsgroups | gmane.text.xml.xmlpull.devel |
|---|---|
| Message-ID | <[email protected]> |
aslom 02/09/08 21:05:11
Modified: src/java/samples Roundtrip.java
Log:
updated Roundtrip sample to include XMLDecl
Revision Changes Path
1.7 +13 -6 xmlpull-api-v1/src/java/samples/Roundtrip.java
Index: Roundtrip.java
===================================================================
RCS file: /l/extreme/cvspub/xmlpull-api-v1/src/java/samples/Roundtrip.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -t -w -r1.6 -r1.7
--- Roundtrip.java 2002/07/08 17:44:36 1.6
+++ Roundtrip.java 2002/09/09 02:05:11 1.7
@@ -16,6 +16,8 @@
public class Roundtrip {
//private static final String FEATURE_XML_ROUNDTRIP=
// "http://xmlpull.org/v1/doc/features.html#xml-roundtrip";
+ protected final static String PROPERTY_XMLDECL_STANDALONE =
+ "http://xmlpull.org/v1/doc/features.html#xmldecl-standalone";
XmlPullParser parser;
XmlSerializer serializer;
@@ -51,10 +53,12 @@
}
- public void writeToken () throws XmlPullParserException, IOException {
- switch (parser.getEventType ()) {
+ public void writeToken (int eventType) throws XmlPullParserException, IOException {
+ switch (eventType) {
case XmlPullParser.START_DOCUMENT:
- //serializer.startDocument(null, null); //use Boolean.TRUE); to make it standalone
+ //use Boolean.TRUE to make it standalone
+ Boolean standalone = (Boolean) parser.getProperty(PROPERTY_XMLDECL_STANDALONE);
+ serializer.startDocument(parser.getInputEncoding(), standalone);
break;
case XmlPullParser.END_DOCUMENT:
@@ -71,7 +75,8 @@
case XmlPullParser.IGNORABLE_WHITESPACE:
//comment it to remove ignorable whtespaces from XML infoset
- serializer.ignorableWhitespace (parser.getText ());
+ String s = parser.getText ();
+ serializer.ignorableWhitespace (s);
break;
case XmlPullParser.TEXT:
@@ -101,11 +106,13 @@
}
public void roundTrip () throws XmlPullParserException, IOException {
+ parser.nextToken(); // read first token
+ writeToken (parser.START_DOCUMENT); // write optional XMLDecl if present
while (parser.getEventType () != parser.END_DOCUMENT) {
- writeToken ();
+ writeToken ( parser.getEventType () );
parser.nextToken ();
}
- writeToken ();
+ writeToken (parser.END_DOCUMENT);
}
public static void main(String[] args) throws Exception {