-
Notifications
You must be signed in to change notification settings - Fork 118
JDOM2 Android with Xerces
Installing and using Xerces in your Android project is relatively simple - but validating with it is not....
The default XMLReader is org.apache.harmony.ExpatReader
. This class is loaded irrespective of whether your 'android dependencies' jar is before the android-core jar in your ecplipse classpath. I take it to mean that Android does not implement the JAXP process completely....
I have tried a number of different mechanisms for loading Xerces in such a way that it successfully can validate using XSD documents, and each attempt has failed. Here are the general details of each attempt.
As far as I can tell: Currently there is no working mechanism to do XML Schema validation on XML documents on Android
Please, please, please prove me wrong ... ;-)
So, the logical thing to do is to force the Xerces logic in to the process.... the following code attempts to load an XMLSchema validator that uses the 'internally refereced' xsd to validate a document.
final SchemaFactory sfac = SchemaFactory.newInstance(
"http://www.w3.org/2001/XMLSchema",
"org.apache.xerces.jaxp.validation.XMLSchemaFactory",
this.getClass().getClassLoader());
final Schema schema = sfac.newSchema();
Unfortunately, the internal Xerces code (both 2.10 and 2.11) has, buried in it, a reference to StAX....
04-23 02:19:55.837: I/dalvikvm(632): threadid=3: reacting to signal 3
04-23 02:19:55.857: I/dalvikvm(632): Wrote stack traces to '/data/anr/traces.txt'
04-23 02:19:56.337: I/dalvikvm(632): threadid=3: reacting to signal 3
04-23 02:19:56.387: I/dalvikvm(632): Wrote stack traces to '/data/anr/traces.txt'
04-23 02:20:32.988: E/dalvikvm(632): Could not find class 'javax.xml.transform.stax.StAXSource', referenced from method org.apache.xerces.jaxp.validation.XMLSchemaFactory.newSchema
04-23 02:20:32.988: W/dalvikvm(632): VFY: unable to resolve instanceof 200 (Ljavax/xml/transform/stax/StAXSource;) in Lorg/apache/xerces/jaxp/validation/XMLSchemaFactory;
04-23 02:20:33.268: W/dalvikvm(632): VFY: unable to find class referenced in signature (Ljavax/xml/stream/XMLStreamReader;)
04-23 02:20:33.268: W/dalvikvm(632): VFY: unable to find class referenced in signature (Ljavax/xml/stream/XMLEventReader;)
04-23 02:20:33.268: I/dalvikvm(632): Could not find method javax.xml.stream.XMLStreamReader.getEventType, referenced from method org.apache.xerces.impl.xs.traversers.XSDHandler.getSchemaDocument
04-23 02:20:33.268: W/dalvikvm(632): VFY: unable to resolve interface method 570: Ljavax/xml/stream/XMLStreamReader;.getEventType ()I
04-23 02:20:33.268: I/dalvikvm(632): Could not find method javax.xml.stream.XMLEventReader.peek, referenced from method org.apache.xerces.impl.xs.traversers.XSDHandler.getSchemaDocument
04-23 02:20:33.278: W/dalvikvm(632): VFY: unable to resolve interface method 555: Ljavax/xml/stream/XMLEventReader;.peek ()Ljavax/xml/stream/events/XMLEvent;
04-23 02:20:33.278: W/dalvikvm(632): VFY: unable to resolve exception class 176 (Ljavax/xml/stream/XMLStreamException;)
04-23 02:20:33.278: W/dalvikvm(632): VFY: unable to find exception handler at addr 0x82
04-23 02:20:33.278: W/dalvikvm(632): VFY: rejected Lorg/apache/xerces/impl/xs/traversers/XSDHandler;.getSchemaDocument (Ljava/lang/String;Lorg/apache/xerces/util/StAXInputSource;ZSLorg/w3c/dom/Element;)Lorg/w3c/dom/Element;
04-23 02:20:33.278: W/dalvikvm(632): VFY: rejecting opcode 0x0d at 0x0082
04-23 02:20:33.278: W/dalvikvm(632): VFY: rejected Lorg/apache/xerces/impl/xs/traversers/XSDHandler;.getSchemaDocument (Ljava/lang/String;Lorg/apache/xerces/util/StAXInputSource;ZSLorg/w3c/dom/Element;)Lorg/w3c/dom/Element;
04-23 02:20:33.278: W/dalvikvm(632): Verifier rejected class Lorg/apache/xerces/impl/xs/traversers/XSDHandler;
04-23 02:20:33.278: W/dalvikvm(632): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
04-23 02:20:33.328: E/AndroidRuntime(632): FATAL EXCEPTION: main
04-23 02:20:33.328: E/AndroidRuntime(632): java.lang.VerifyError: org/apache/xerces/impl/xs/traversers/XSDHandler
04-23 02:20:33.328: E/AndroidRuntime(632): at org.apache.xerces.impl.xs.XMLSchemaLoader.<init>(Unknown Source)
04-23 02:20:33.328: E/AndroidRuntime(632): at org.apache.xerces.impl.xs.XMLSchemaLoader.<init>(Unknown Source)
04-23 02:20:33.328: E/AndroidRuntime(632): at org.apache.xerces.jaxp.validation.XMLSchemaFactory.<init>(Unknown Source)
04-23 02:20:33.328: E/AndroidRuntime(632): at java.lang.Class.newInstanceImpl(Native Method)
04-23 02:20:33.328: E/AndroidRuntime(632): at java.lang.Class.newInstance(Class.java:1319)
04-23 02:20:33.328: E/AndroidRuntime(632): at javax.xml.validation.SchemaFactory.newInstance(SchemaFactory.java:216)
04-23 02:20:33.328: E/AndroidRuntime(632): at com.example.android.skeletonapp.XercesRunner.go(XercesRunner.java:24)
04-23 02:20:33.328: E/AndroidRuntime(632): at com.example.android.skeletonapp.SkeletonActivity$2.onClick(SkeletonActivity.java:135)
04-23 02:20:33.328: E/AndroidRuntime(632): at android.view.View.performClick(View.java:3511)
04-23 02:20:33.328: E/AndroidRuntime(632): at android.view.View$PerformClick.run(View.java:14105)
04-23 02:20:33.328: E/AndroidRuntime(632): at android.os.Handler.handleCallback(Handler.java:605)
04-23 02:20:33.328: E/AndroidRuntime(632): at android.os.Handler.dispatchMessage(Handler.java:92)
04-23 02:20:33.328: E/AndroidRuntime(632): at android.os.Looper.loop(Looper.java:137)
04-23 02:20:33.328: E/AndroidRuntime(632): at android.app.ActivityThread.main(ActivityThread.java:4424)
04-23 02:20:33.328: E/AndroidRuntime(632): at java.lang.reflect.Method.invokeNative(Native Method)
04-23 02:20:33.328: E/AndroidRuntime(632): at java.lang.reflect.Method.invoke(Method.java:511)
04-23 02:20:33.328: E/AndroidRuntime(632): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
04-23 02:20:33.328: E/AndroidRuntime(632): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
04-23 02:20:33.328: E/AndroidRuntime(632): at dalvik.system.NativeStart.main(Native Method)
04-23 02:20:33.998: I/dalvikvm(632): threadid=3: reacting to signal 3
04-23 02:20:34.018: I/dalvikvm(632): Wrote stack traces to '/data/anr/traces.txt'
So, using the 'modern' mechanisms for specifying the XMLSchema are broken, but, what about using raw SAX2 methods?
org.apache.xerces.parsers.SAXParser parser = new org.apache.xerces.parsers.SAXParser();
parser.setFeature("http://xml.org/sax/features/validation", true);
parser.setFeature("http://apache.org/xml/features/validation/schema", true);
parser.setFeature("http://apache.org/xml/features/validation/schema-full-checking", true);
final URL url = this.getClass().getResource("input.xml");
parser.setContentHandler(this);
parser.parse(url.toExternalForm());
The above causes other sorts of problems....
04-23 02:40:46.497: I/dalvikvm(732): threadid=3: reacting to signal 3
04-23 02:40:46.657: I/dalvikvm(732): Wrote stack traces to '/data/anr/traces.txt'
04-23 02:40:47.007: I/dalvikvm(732): threadid=3: reacting to signal 3
04-23 02:40:47.039: I/dalvikvm(732): Wrote stack traces to '/data/anr/traces.txt'
04-23 02:40:52.108: I/Xerces(732): org.apache.xerces.parsers.SAXParser
04-23 02:40:52.108: I/Xerces(732): URL -> jar:file:/data/app/com.example.android.skeletonapp-1.apk!/com/example/android/skeletonapp/input.xml
04-23 02:43:03.608: I/dalvikvm(781): threadid=3: reacting to signal 3
04-23 02:43:03.838: I/dalvikvm(781): Wrote stack traces to '/data/anr/traces.txt'
04-23 02:43:04.108: I/dalvikvm(781): threadid=3: reacting to signal 3
04-23 02:43:04.138: I/dalvikvm(781): Wrote stack traces to '/data/anr/traces.txt'
04-23 02:43:16.478: W/dalvikvm(781): Unable to resolve superclass of Lorg/apache/xerces/impl/xpath/regex/RangeToken; (684)
04-23 02:43:16.478: W/dalvikvm(781): Link of class 'Lorg/apache/xerces/impl/xpath/regex/RangeToken;' failed
04-23 02:43:16.488: W/dalvikvm(781): Unable to resolve superclass of Lorg/apache/xerces/impl/xpath/regex/RangeToken; (684)
04-23 02:43:16.488: W/dalvikvm(781): Link of class 'Lorg/apache/xerces/impl/xpath/regex/RangeToken;' failed
04-23 02:43:16.488: W/dalvikvm(781): VFY: unable to find class referenced in signature (Lorg/apache/xerces/impl/xpath/regex/Token;)
04-23 02:43:16.498: W/dalvikvm(781): Unable to resolve superclass of Lorg/apache/xerces/impl/xpath/regex/RangeToken; (684)
04-23 02:43:16.498: W/dalvikvm(781): Link of class 'Lorg/apache/xerces/impl/xpath/regex/RangeToken;' failed
04-23 02:43:16.498: W/dalvikvm(781): VFY: unable to find class referenced in signature (Lorg/apache/xerces/impl/xpath/regex/Token;)
04-23 02:43:16.498: W/dalvikvm(781): VFY: unable to resolve instance field 2509
04-23 02:43:16.508: W/dalvikvm(781): VFY: unable to find class referenced in signature (Lorg/apache/xerces/impl/xpath/regex/Token;)
04-23 02:43:16.508: W/dalvikvm(781): VFY: unable to find class referenced in signature (Lorg/apache/xerces/impl/xpath/regex/Token;)
04-23 02:43:16.508: I/dalvikvm(781): Could not find method org.apache.xerces.impl.xpath.regex.Token.getRange, referenced from method org.apache.xerces.impl.xpath.regex.RegularExpression.getWordType0
04-23 02:43:16.508: W/dalvikvm(781): VFY: unable to resolve static method 6045: Lorg/apache/xerces/impl/xpath/regex/Token;.getRange (Ljava/lang/String;Z)Lorg/apache/xerces/impl/xpath/regex/RangeToken;
04-23 02:43:16.518: W/dalvikvm(781): Unable to resolve superclass of Lorg/apache/xerces/impl/xpath/regex/RangeToken; (684)
04-23 02:43:16.518: W/dalvikvm(781): Link of class 'Lorg/apache/xerces/impl/xpath/regex/RangeToken;' failed
04-23 02:43:16.529: W/dalvikvm(781): VFY: unable to find class referenced in signature (Lorg/apache/xerces/impl/xpath/regex/RangeToken;)
04-23 02:43:16.529: W/dalvikvm(781): Unable to resolve superclass of Lorg/apache/xerces/impl/xpath/regex/RangeToken; (684)
04-23 02:43:16.529: W/dalvikvm(781): Link of class 'Lorg/apache/xerces/impl/xpath/regex/RangeToken;' failed
04-23 02:43:16.529: I/dalvikvm(781): Could not find method org.apache.xerces.impl.xpath.regex.RangeToken.match, referenced from method org.apache.xerces.impl.xpath.regex.RegularExpression.match
04-23 02:43:16.529: W/dalvikvm(781): VFY: unable to resolve virtual method 5840: Lorg/apache/xerces/impl/xpath/regex/RangeToken;.match (I)Z
04-23 02:43:16.538: W/dalvikvm(781): Unable to resolve superclass of Lorg/apache/xerces/impl/xpath/regex/RangeToken; (684)
04-23 02:43:16.538: W/dalvikvm(781): Link of class 'Lorg/apache/xerces/impl/xpath/regex/RangeToken;' failed
04-23 02:43:16.538: W/dalvikvm(781): VFY: unable to find class referenced in signature (Lorg/apache/xerces/impl/xpath/regex/RangeToken;)
04-23 02:43:16.548: W/dalvikvm(781): Unable to resolve superclass of Lorg/apache/xerces/impl/xpath/regex/RangeToken; (684)
04-23 02:43:16.548: W/dalvikvm(781): Link of class 'Lorg/apache/xerces/impl/xpath/regex/RangeToken;' failed
04-23 02:43:16.548: W/dalvikvm(781): VFY: unable to find class referenced in signature (Lorg/apache/xerces/impl/xpath/regex/RangeToken;)
04-23 02:43:16.558: E/dalvikvm(781): Could not find class 'org.apache.xerces.impl.xpath.regex.ParserForXMLSchema', referenced from method org.apache.xerces.impl.xpath.regex.RegularExpression.setPattern
04-23 02:43:16.558: W/dalvikvm(781): VFY: unable to resolve new-instance 663 (Lorg/apache/xerces/impl/xpath/regex/ParserForXMLSchema;) in Lorg/apache/xerces/impl/xpath/regex/RegularExpression;
04-23 02:43:16.558: W/dalvikvm(781): VFY: unable to find class referenced in signature (Lorg/apache/xerces/impl/xpath/regex/Token;)
04-23 02:43:16.568: W/dalvikvm(781): Unable to resolve superclass of Lorg/apache/xerces/impl/xpath/regex/RangeToken; (684)
04-23 02:43:16.568: W/dalvikvm(781): Link of class 'Lorg/apache/xerces/impl/xpath/regex/RangeToken;' failed
04-23 02:43:16.578: W/dalvikvm(781): Unable to resolve superclass of Lorg/apache/xerces/impl/xpath/regex/RangeToken; (684)
04-23 02:43:16.578: W/dalvikvm(781): Link of class 'Lorg/apache/xerces/impl/xpath/regex/RangeToken;' failed
04-23 02:43:16.578: W/dalvikvm(781): Unable to resolve superclass of Lorg/apache/xerces/impl/xpath/regex/RangeToken; (684)
04-23 02:43:16.578: W/dalvikvm(781): Link of class 'Lorg/apache/xerces/impl/xpath/regex/RangeToken;' failed
04-23 02:43:16.578: I/dalvikvm(781): Could not find method org.apache.xerces.impl.xpath.regex.RangeToken.match, referenced from method org.apache.xerces.impl.xpath.regex.RegularExpression.matches
04-23 02:43:16.588: W/dalvikvm(781): VFY: unable to resolve virtual method 5840: Lorg/apache/xerces/impl/xpath/regex/RangeToken;.match (I)Z
04-23 02:43:16.600: W/dalvikvm(781): Unable to resolve superclass of Lorg/apache/xerces/impl/xpath/regex/RangeToken; (684)
04-23 02:43:16.600: W/dalvikvm(781): Link of class 'Lorg/apache/xerces/impl/xpath/regex/RangeToken;' failed
04-23 02:43:16.608: W/dalvikvm(781): Unable to resolve superclass of Lorg/apache/xerces/impl/xpath/regex/RangeToken; (684)
04-23 02:43:16.608: W/dalvikvm(781): Link of class 'Lorg/apache/xerces/impl/xpath/regex/RangeToken;' failed
04-23 02:43:16.618: W/dalvikvm(781): Unable to resolve superclass of Lorg/apache/xerces/impl/xpath/regex/RangeToken; (684)
04-23 02:43:16.618: W/dalvikvm(781): Link of class 'Lorg/apache/xerces/impl/xpath/regex/RangeToken;' failed
04-23 02:43:16.618: I/dalvikvm(781): Could not find method org.apache.xerces.impl.xpath.regex.RangeToken.match, referenced from method org.apache.xerces.impl.xpath.regex.RegularExpression.matches
04-23 02:43:16.618: W/dalvikvm(781): VFY: unable to resolve virtual method 5840: Lorg/apache/xerces/impl/xpath/regex/RangeToken;.match (I)Z
04-23 02:43:16.628: W/dalvikvm(781): Unable to resolve superclass of Lorg/apache/xerces/impl/xpath/regex/RangeToken; (684)
04-23 02:43:16.628: W/dalvikvm(781): Link of class 'Lorg/apache/xerces/impl/xpath/regex/RangeToken;' failed
04-23 02:43:16.628: W/dalvikvm(781): Unable to resolve superclass of Lorg/apache/xerces/impl/xpath/regex/RangeToken; (684)
04-23 02:43:16.628: W/dalvikvm(781): Link of class 'Lorg/apache/xerces/impl/xpath/regex/RangeToken;' failed
04-23 02:43:16.628: W/dalvikvm(781): Unable to resolve superclass of Lorg/apache/xerces/impl/xpath/regex/RangeToken; (684)
04-23 02:43:16.628: W/dalvikvm(781): Link of class 'Lorg/apache/xerces/impl/xpath/regex/RangeToken;' failed
04-23 02:43:16.638: I/dalvikvm(781): Could not find method org.apache.xerces.impl.xpath.regex.RangeToken.match, referenced from method org.apache.xerces.impl.xpath.regex.RegularExpression.matches
04-23 02:43:16.638: W/dalvikvm(781): VFY: unable to resolve virtual method 5840: Lorg/apache/xerces/impl/xpath/regex/RangeToken;.match (I)Z
04-23 02:43:16.638: W/dalvikvm(781): VFY: unable to find class referenced in signature (Lorg/apache/xerces/impl/xpath/regex/Token;)
04-23 02:43:16.638: I/dalvikvm(781): Could not find method org.apache.xerces.impl.xpath.regex.Token.getMinLength, referenced from method org.apache.xerces.impl.xpath.regex.RegularExpression.prepare
04-23 02:43:16.638: W/dalvikvm(781): VFY: unable to resolve virtual method 6043: Lorg/apache/xerces/impl/xpath/regex/Token;.getMinLength ()I
04-23 02:43:16.648: I/dalvikvm(781): Could not find method org.apache.xerces.impl.xpath.regex.Token.toString, referenced from method org.apache.xerces.impl.xpath.regex.RegularExpression.toString
04-23 02:43:16.648: W/dalvikvm(781): VFY: unable to resolve virtual method 6052: Lorg/apache/xerces/impl/xpath/regex/Token;.toString (I)Ljava/lang/String;
04-23 02:43:16.648: W/dalvikvm(781): Exception Ljava/lang/NoClassDefFoundError; thrown while initializing Lorg/apache/xerces/impl/dv/xs/SchemaDVFactoryImpl;
04-23 02:43:16.658: W/dalvikvm(781): Class init failed in newInstance call (Lorg/apache/xerces/impl/dv/xs/SchemaDVFactoryImpl;)
04-23 02:43:16.658: W/dalvikvm(781): Exception Ljava/lang/ExceptionInInitializerError; thrown while initializing Lorg/apache/xerces/impl/xs/SchemaGrammar;
04-23 02:43:16.658: W/dalvikvm(781): Exception Ljava/lang/ExceptionInInitializerError; thrown while initializing Lorg/apache/xerces/impl/xs/XMLSchemaValidator;
04-23 02:43:16.658: W/dalvikvm(781): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
04-23 02:43:16.728: E/AndroidRuntime(781): FATAL EXCEPTION: main
04-23 02:43:16.728: E/AndroidRuntime(781): java.lang.ExceptionInInitializerError
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.parsers.XML11Configuration.configurePipeline(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.parsers.XIncludeAwareParserConfiguration.configurePipeline(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): at com.example.android.skeletonapp.XercesRunner.go(XercesRunner.java:31)
04-23 02:43:16.728: E/AndroidRuntime(781): at com.example.android.skeletonapp.SkeletonActivity$2.onClick(SkeletonActivity.java:135)
04-23 02:43:16.728: E/AndroidRuntime(781): at android.view.View.performClick(View.java:3511)
04-23 02:43:16.728: E/AndroidRuntime(781): at android.view.View$PerformClick.run(View.java:14105)
04-23 02:43:16.728: E/AndroidRuntime(781): at android.os.Handler.handleCallback(Handler.java:605)
04-23 02:43:16.728: E/AndroidRuntime(781): at android.os.Handler.dispatchMessage(Handler.java:92)
04-23 02:43:16.728: E/AndroidRuntime(781): at android.os.Looper.loop(Looper.java:137)
04-23 02:43:16.728: E/AndroidRuntime(781): at android.app.ActivityThread.main(ActivityThread.java:4424)
04-23 02:43:16.728: E/AndroidRuntime(781): at java.lang.reflect.Method.invokeNative(Native Method)
04-23 02:43:16.728: E/AndroidRuntime(781): at java.lang.reflect.Method.invoke(Method.java:511)
04-23 02:43:16.728: E/AndroidRuntime(781): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
04-23 02:43:16.728: E/AndroidRuntime(781): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
04-23 02:43:16.728: E/AndroidRuntime(781): at dalvik.system.NativeStart.main(Native Method)
04-23 02:43:16.728: E/AndroidRuntime(781): Caused by: java.lang.ExceptionInInitializerError
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.impl.xs.XMLSchemaValidator.<clinit>(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): ... 19 more
04-23 02:43:16.728: E/AndroidRuntime(781): Caused by: java.lang.ExceptionInInitializerError
04-23 02:43:16.728: E/AndroidRuntime(781): at java.lang.Class.newInstanceImpl(Native Method)
04-23 02:43:16.728: E/AndroidRuntime(781): at java.lang.Class.newInstance(Class.java:1319)
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.impl.dv.ObjectFactory.newInstance(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.impl.dv.SchemaDVFactory.getInstance(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.impl.dv.SchemaDVFactory.getInstance(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.impl.xs.SchemaGrammar$BuiltinSchemaGrammar.<init>(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.impl.xs.SchemaGrammar.<clinit>(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): ... 20 more
04-23 02:43:16.728: E/AndroidRuntime(781): Caused by: java.lang.NoClassDefFoundError: org.apache.xerces.impl.xpath.regex.ParserForXMLSchema
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.impl.xpath.regex.RegularExpression.setPattern(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.impl.xpath.regex.RegularExpression.setPattern(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.impl.xpath.regex.RegularExpression.<init>(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl.applyFacets(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl.applyFacets1(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.impl.dv.xs.BaseSchemaDVFactory.createBuiltInTypes(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.impl.dv.xs.SchemaDVFactoryImpl.createBuiltInTypes(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): at org.apache.xerces.impl.dv.xs.SchemaDVFactoryImpl.<clinit>(Unknown Source)
04-23 02:43:16.728: E/AndroidRuntime(781): ... 27 more
[JDOM Home](http://www.jdom.org)
Stable Release
- [Download](http://www.jdom.org/downloads/index.html)
- [JavaDoc](http://www.jdom.org/docs/apidocs/index.html)
JDOM 2.x
- Overview
- Getting Started
- JDOM on Android
- [JavaDoc](http://hunterhacker.github.com/jdom/jdom2/apidocs/index.html)
- [Coverage](http://hunterhacker.github.com/jdom/jdom2/coverage/index.html)
- [UnitTests](http://hunterhacker.github.com/jdom/jdom2/junit.report/index.html)
- Features
- JDOM 1.x to JDOM 2.x
- Dependencies
Developing JDOM