X-Git-Url: http://git.megacz.com/?p=org.ibex.xt.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fxt%2FNode.java;fp=src%2Forg%2Fibex%2Fxt%2FNode.java;h=3f8b2c2c28c17d0c9786df66a60f27a459219b33;hp=60f97c1ec0f51ca2c3f95e72c8cb991e047bab14;hb=8f8109c54eee0492842c79ae96ef311bc4d2ebd0;hpb=1db99552ca93981bac63573aabd9ccf3a528c254 diff --git a/src/org/ibex/xt/Node.java b/src/org/ibex/xt/Node.java index 60f97c1..3f8b2c2 100644 --- a/src/org/ibex/xt/Node.java +++ b/src/org/ibex/xt/Node.java @@ -110,28 +110,31 @@ public class Node { } public static class FromXML extends Node.Stream { - private final XML.Pull xml; - private XML.Element parent = null; - private XML.Element e; + private final XML.Stream xml; + private XML.Elem parent = null; + private XML.Elem e; private int currentdelta = 0; - public FromXML(Reader r) { this.xml = new XML.Pull(r); } + public FromXML(Reader r) { this.xml = new XML.Stream(r); } protected boolean _read(Node n) { try { - Object ret = xml.read(); + Object ret = xml.next(); if (ret == null) return false; if (ret instanceof String) { n.cdata = (String)ret; - n.delta = xml.level - currentdelta; - currentdelta = xml.level; + n.delta = xml.getDepth() - currentdelta; + currentdelta = xml.getDepth(); return true; } - XML.Element e = (XML.Element)ret; + XML.Elem e = (XML.Elem)ret; n.name = e.getLocalName(); n.uri = e.getUri(); - n.numattrs = e.getAttrLen(); - n.delta = e.level - currentdelta; - currentdelta = e.level; + n.numattrs = e.getAttributes().attrSize(); + n.delta = xml.getDepth() - currentdelta; + currentdelta = xml.getDepth(); if (n.attrs == null || n.attrs.length < n.numattrs*2) n.attrs = new String[n.numattrs*4]; - for(int i=0; i