projects
/
cfb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improve XML parsing to handle attributes as well.
[cfb.git]
/
prod
/
net
/
jaekl
/
cfb
/
xml
/
SourceLine.java
diff --git
a/prod/net/jaekl/cfb/xml/SourceLine.java
b/prod/net/jaekl/cfb/xml/SourceLine.java
index 627667a161ac4e3902c6170412e5f32badf2c6b8..c719529e2d9231c1a396253174571c932767ca0b 100644
(file)
--- a/
prod/net/jaekl/cfb/xml/SourceLine.java
+++ b/
prod/net/jaekl/cfb/xml/SourceLine.java
@@
-1,5
+1,8
@@
package net.jaekl.cfb.xml;
package net.jaekl.cfb.xml;
+import java.io.PrintWriter;
+
+import net.jaekl.qd.xml.MissingAttributeException;
import net.jaekl.qd.xml.ParseResult;
import net.jaekl.qd.xml.XmlParseException;
import net.jaekl.qd.xml.ParseResult;
import net.jaekl.qd.xml.XmlParseException;
@@
-26,24
+29,38
@@
public class SourceLine extends ParseResult {
}
@Override
}
@Override
- public void endContents(String uri, String localName, String qName, String chars, Attributes attr)
- throws XmlParseException
- {
+ public void handleMainAttributes(Attributes attr) throws MissingAttributeException {
String scratch;
String scratch;
- m_className = getRequiredAttr(
localName
, attr, ATTR_CLASS_NAME);
+ m_className = getRequiredAttr(
TAG
, attr, ATTR_CLASS_NAME);
- scratch = getRequiredAttr(
localName
, attr, ATTR_START);
+ scratch = getRequiredAttr(
TAG
, attr, ATTR_START);
m_start = Integer.parseInt(scratch);
m_start = Integer.parseInt(scratch);
- scratch = getRequiredAttr(
localName
, attr, ATTR_END);
+ scratch = getRequiredAttr(
TAG
, attr, ATTR_END);
m_end = Integer.parseInt(scratch);
}
m_end = Integer.parseInt(scratch);
}
+ @Override
+ public void endContents(String uri, String localName, String qName, String chars)
+ throws XmlParseException
+ {
+ // no-op
+ }
+
@Override
public void endExternal(String uri, String localName, String qName)
throws XmlParseException
{
// no-op
}
@Override
public void endExternal(String uri, String localName, String qName)
throws XmlParseException
{
// no-op
}
+
+ @Override
+ public void dump(PrintWriter pw, int indent)
+ {
+ super.dump(pw, indent);
+ String tab = String.format("%" + (indent + 2) + "s", "");
+
+ pw.println(tab + m_className + " (" + m_start + " .. " + m_end + ")");
+ }
}
}