- From: Jonathan Barouh via cvs-syncmail <cvsmail@w3.org>
- Date: Thu, 25 Sep 2008 10:02:03 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/org/w3c/unicorn/response/parser
In directory hutz:/tmp/cvs-serv1423/org/w3c/unicorn/response/parser
Modified Files:
DefaultParser.java
Log Message:
Also adds the contents which are in an unknown xml block.
Index: DefaultParser.java
===================================================================
RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/response/parser/DefaultParser.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- DefaultParser.java 24 Sep 2008 13:39:16 -0000 1.9
+++ DefaultParser.java 25 Sep 2008 10:02:01 -0000 1.10
@@ -8,6 +8,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
+import java.math.BigInteger;
import java.net.URL;
import java.util.ArrayList;
import java.util.Calendar;
@@ -17,6 +18,7 @@
import javax.xml.datatype.DatatypeConfigurationException;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
+import javax.xml.namespace.QName;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -63,9 +65,22 @@
try {
org.w3.unicorn.observationresponse.ObservationresponseDocument ord = org.w3.unicorn.observationresponse.ObservationresponseDocument.Factory
- .parse(r);
+ .parse(r);
+ /*
+ File xml = new File("validator.xml");
+ BufferedReader fr = new BufferedReader(new FileReader(xml));
+ String s;
+ String resp ="";
+ while ((s=fr.readLine()) != null) {
+ resp += s + "\n";
+ }
+ //System.out.println(resp);
+ fr.close();
+ org.w3.unicorn.observationresponse.ObservationresponseDocument ord = org.w3.unicorn.observationresponse.ObservationresponseDocument.Factory
+ .parse(resp);
+ */
return swap(ord);
- } catch (XmlException e) {
+ } catch (Exception e) {
e.printStackTrace();
return null;
}
@@ -364,9 +379,10 @@
}
- // If the class is not recognized, we check the name
+ // If the class is not recognized, we check the name and eventually
+ // build the corresponding object
- // Case : A
+ // Case : A from XmlAnyTypeImpl
else if (cursor.getName().toString().equals(
"{http://www.w3.org/unicorn/observationresponse}a")) {
A coy = new A();
@@ -376,8 +392,9 @@
cursor.toNextToken();
coy.setHref(cursor.getTextValue());
cursor.toPrevToken();
- cursor.toNextAttribute();
+ cursor.push();
content = swapObj(current, lang);
+ cursor.pop();
coy.setContent(content);
list.add(coy);
@@ -385,48 +402,68 @@
if (o instanceof Inline)
count++;
}
-
cursor.toEndToken();
+ count--;
-
}
- // Case : Code
+ // Case : Code from XmlAnyTypeImpl
else if (cursor.getName().toString().equals(
"{http://www.w3.org/unicorn/observationresponse}code")) {
+
Code coy = new Code();
List<Object> content = new ArrayList<Object>();
+ cursor.push();
content = swapObj(current, lang);
+ cursor.pop();
coy.setContent(content);
list.add(coy);
for (Object o : content) {
if (o instanceof Inline)
count++;
}
- cursor.toEndToken();
+ cursor.toEndToken();
+ count--;
}
- // Case : Img
+ // Case : Img from XmlAnyTypeImpl
else if (cursor.getName().toString().equals(
"{http://www.w3.org/unicorn/observationresponse}img")) {
- org.w3.unicorn.observationresponse.ImgDocument.Img img = (org.w3.unicorn.observationresponse.ImgDocument.Img) current;
+
+ cursor.toNextToken();
+
Img coy = new Img();
- coy.setAlt(img.getAlt());
- coy.setHeight(img.getHeight());
- coy.setLongdesc(img.getLongdesc());
- coy.setName(img.getName());
- coy.setSrc(img.getSrc());
- coy.setWidth(img.getWidth());
+ while (cursor.isAttr() && cursor.hasNextToken()) {
+
+ if (cursor.getName().toString().equals("src"))
+ coy.setSrc(cursor.getTextValue());
+ else if (cursor.getName().toString().equals("alt"))
+ coy.setAlt(cursor.getTextValue());
+ else if (cursor.getName().toString().equals("longdesc"))
+ coy.setLongdesc(cursor.getTextValue());
+ else if (cursor.getName().toString().equals("name"))
+ coy.setName(cursor.getTextValue());
+ else if (cursor.getName().toString().equals("width"))
+ coy.setWidth(new BigInteger(cursor.getTextValue()));
+ else if (cursor.getName().toString().equals("height"))
+ coy.setHeight(new BigInteger(cursor.getTextValue()));
+
+ cursor.toNextToken();
+ }
list.add(coy);
-
cursor.toEndToken();
+ count--;
+
}
// We still want to append what's inside a block even if the block's unknown
else {
+ cursor.push();
list.addAll(swapObj(current,lang));
+ cursor.pop();
cursor.toEndToken();
+ count--;
}
}
@@ -438,7 +475,7 @@
else if (cursor.isEnd()) {
count--;
- if (count < 0)
+ if (count <= 0)
break;
}
Received on Thursday, 25 September 2008 10:02:38 UTC