Hello,
Yes the org.apache.xalan.processor.TransformerFactoryImpl class caused
the problem. The /lib/ext/ directory was indeed proper but i found the
class in a (bit hidden) library in a required project. There will be
some dicsussion here about that...
I must apologize that i concerned you with a problem that had nothing to
do with your project.
Anyway, thank you very much for that great, fast and intensive support.
Be sure that i ll pay for a round if you visit Würzburg sometime.
Best regards
Peter
Marshall Schor schrieb:
OK - I think I see the problem.
I can see in the trace that most of the classes for parsing are being
loaded from you Java - they look like:
JAXP: created new instance of class
com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl using
ClassLoader: [EMAIL PROTECTED]
Note the name of the class starts with
"com.sun.org.apache.xerces.internal" - Sun renamed the Xerces classes
to start with com.sun.org....
This is true for all except the class
"org.apache.xalan.processor.TransformerFactoryImpl". Here, the version
of the class being loaded appears to not be from your JVM but from some
other Jar. Can you look in your Java installation, and be sure there is
nothing that got added to the ext (extensions) directory that is a Jar
containing this class?
The extensions directory is probably under the JVM Home / lib / ext
When we run with this trace, the class that's being loaded for
TransformerFactoryImpl has the "com.sun.org... " prefix, so I'm pretty
sure that's the source of the problem.
Let us know what you find.
-Marshall
Peter Klügl wrote:
Hi Marshall!
Here is the console log with the debug trace flag. But i should
mention that i removed all manual classpath settings of the downloaded
xerces libs (because it did not fix the problem). Therefore this is a
trace of a clean eclipse (with new emf), clean java1.5.0_13 and clean
uima. Should i add the latest api again to the eclipse-plugins or
umia-installation (and send the log)?
Peter
JAXP: find factoryId =javax.xml.parsers.SAXParserFactory
JAXP: loaded from fallback value:
com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
JAXP: created new instance of class
com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl using
ClassLoader: [EMAIL PROTECTED]
JAXP: find factoryId =javax.xml.parsers.SAXParserFactory
JAXP: loaded from fallback value:
com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
JAXP: created new instance of class
com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl using
ClassLoader: [EMAIL PROTECTED]
JAXP: find factoryId =javax.xml.transform.TransformerFactory
JAXP: found jar
resource=META-INF/services/javax.xml.transform.TransformerFactory
using ClassLoader: [EMAIL PROTECTED]
JAXP: found in resource,
value=org.apache.xalan.processor.TransformerFactoryImpl
JAXP: created new instance of class
org.apache.xalan.processor.TransformerFactoryImpl using ClassLoader:
[EMAIL PROTECTED]
JAXP: find factoryId =javax.xml.parsers.DocumentBuilderFactory
JAXP: loaded from fallback value:
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
JAXP: created new instance of class
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
using ClassLoader: [EMAIL PROTECTED]
org.apache.uima.util.InvalidXMLException: Invalid descriptor at
<unknown source>.
at
org.apache.uima.util.impl.XMLParser_impl.parse(XMLParser_impl.java:193)
at
org.apache.uima.util.impl.XMLParser_impl.parseCollectionReaderDescription(XMLParser_impl.java:629)
at
org.apache.uima.util.impl.XMLParser_impl.parseCollectionReaderDescription(XMLParser_impl.java:622)
at
org.apache.uima.tools.components.FileSystemCollectionReader.getDescription(FileSystemCollectionReader.java:243)
at
org.apache.uima.tools.docanalyzer.DocumentAnalyzer.runProcessingThread(DocumentAnalyzer.java:1060)
at
org.apache.uima.tools.docanalyzer.DocumentAnalyzer$ProcessingThread.run(DocumentAnalyzer.java:1267)
Caused by: org.w3c.dom.DOMException: NAMESPACE_ERR: An attempt is made
to create or change an object in a way which is incorrect with regard
to namespaces.
at org.apache.xml.utils.DOMBuilder.startElement(DOMBuilder.java:351)
at
org.apache.xalan.transformer.TransformerIdentityImpl.startElement(TransformerIdentityImpl.java:1020)
at
org.apache.uima.util.impl.SaxDeserializer_impl.startElement(SaxDeserializer_impl.java:201)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown
Source)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown
Source)
at
org.apache.uima.util.impl.XMLParser_impl.parse(XMLParser_impl.java:176)
... 5 more
Marshall Schor schrieb:
Hi Peter,
The methods Java uses to find the XML parser are quite involved. It may
be that it's not finding your latest Xerces impl. Could you try running
this using this debug trace flag (found in the docs for Java 1.5
SAXParserFactory:
-Djaxp.debug=1
If you can do this, please post what it says.
Thanks. -Marshall
Peter Klügl wrote:
Hello,
To cut a long story short:
I created an (valid) annotator with the component descriptor and get
an InvalidXMLException when I try to run it for instance with the
Document Analyzer in eclipse.
My configuration is currently:
Eclipse 3.3.1.1
Java 1.5.0_13 (also tried it with Java 1.6.0_03)
Apache UIMA 2.2.0
A short online search told me that this might be not an UIMA specific
but an xml problem. So I downloaded the newest Xalan/Xerces and
integrated it in any place, in any combination (started with the
classpath of the eclipse-plugin, uima classpath, ended with the
endorsed folder).
The example annotators work just fine. But I can’t see any difference
between their environments or basic structure/namespaces of their xml
descriptor.
Any help, hint or advice will be greatly appreciated.
Best regards
Peter Klügl
org.apache.uima.util.InvalidXMLException: Invalid descriptor at
<unknown source>.
at
org.apache.uima.util.impl.XMLParser_impl.parse(XMLParser_impl.java:193)
at
org.apache.uima.util.impl.XMLParser_impl.parseCollectionReaderDescription(XMLParser_impl.java:629)
at
org.apache.uima.util.impl.XMLParser_impl.parseCollectionReaderDescription(XMLParser_impl.java:622)
at
org.apache.uima.tools.components.FileSystemCollectionReader.getDescription(FileSystemCollectionReader.java:243)
at
org.apache.uima.tools.docanalyzer.DocumentAnalyzer.runProcessingThread(DocumentAnalyzer.java:1060)
at
org.apache.uima.tools.docanalyzer.DocumentAnalyzer$ProcessingThread.run(DocumentAnalyzer.java:1267)
Caused by: org.w3c.dom.DOMException: NAMESPACE_ERR: An attempt is made
to create or change an object in a way which is incorrect with regard
to namespaces.
at org.apache.xml.utils.DOMBuilder.startElement(DOMBuilder.java:351)
at
org.apache.xalan.transformer.TransformerIdentityImpl.startElement(TransformerIdentityImpl.java:1020)
at
org.apache.uima.util.impl.SaxDeserializer_impl.startElement(SaxDeserializer_impl.java:201)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown
Source)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown
Source)
at
org.apache.uima.util.impl.XMLParser_impl.parse(XMLParser_impl.java:176)
... 5 more
--
Peter Klügl
mailto:[EMAIL PROTECTED]
http://ki.informatik.uni-wuerzburg.de/~pkluegl
Applied Informatics and Artificial Intelligence
University of Würzburg