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 {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.