uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marshall Schor <...@schor.com>
Subject Re: NAMESPACE_ERR
Date Thu, 30 Aug 2007 14:17:10 GMT
Hi Maria -

I tried reproducing this but both my attempts in Java 5 and Java 6
worked, using JVMs from Sun and IBM.

I see from the error message below that your Java is using the "Crimson"
XML parser.  This page describes various XML parsers;
http://java.sun.com/webservices/jaxp/reference/faqs/index.html

In particular, it says:
As of March 2006, Apache has several Java parsers: Crimson, Xerces 1,
and Xerces 2. The reason is historical -- because Apache accepted two
donations from two different companies. IBM donated XML4J which became
Apache Xerces 1. Sun donated Project X which became Apache Crimson.
Xerces 2 is a new third parser which is a rewrite. It has goals such as
maintainability, modularity, and the implementation of certain features,
which neither of the previous original parsers has achieved. Xerces 2
was designed to fill the long-term needs of Apache projects going
forward. The current version of Xerces is 2.8.
 
I think that both Sun and IBM are now using Xerces 2 in their current
JVMs.  For instance, see
http://java.sun.com/j2se/1.5.0/docs/guide/xml/jaxp/ReleaseNotes_150.html#parsing
for info on Sun's Java 5 version.

What version of Java are you using?

-Marshall

Maria Milosavljevic wrote:
> Hi.
>
> I have just upgraded to the most recent version of UIMA and I'm not sure if
> this is the reason for my problem.  I have a very simple JUnit test:
>
>     @Test()
>     public void testSimpleUIMAExample() throws Exception
>     {
>         String xmlInputDescriptor =
> "W:/Development/Tools/apache-uima/examples/descriptors/tutorial/ex6/UimaMeetingDetectorTAE.xml";
>         try
>         {
>             XMLInputSource in = new XMLInputSource(xmlInputDescriptor);
>             ResourceSpecifier specifier = UIMAFramework.getXMLParser()
>                     .parseResourceSpecifier(in);
>             PipelineManager manager = new
> PipelineManager(xmlInputDescriptor);
>         }
>         catch (Exception e)
>         {
>             log.error("Error creating analysis engine: " +
> xmlInputDescriptor);
>             e.printStackTrace();
>             throw e;
>
>         }
>     }
>
> which used to work but now fails here:
>
> ERROR 05:14:34 PM  [main] (PipelineManagerTest.java:31) - Error creating
> analysis engine:
> W:/Development/Tools/apache-uima/examples/descriptors/tutorial/ex6/UimaMeetingDetectorTAE.xml
> org.apache.uima.util.InvalidXMLException: Invalid descriptor at
> file:/W:/Development/Tools/apache-uima/examples/descriptors/tutorial/ex6/UimaMeetingDetectorTAE.xml.
>     at org.apache.uima.util.impl.XMLParser_impl.parse
> (XMLParser_impl.java:193)
>     at org.apache.uima.util.impl.XMLParser_impl.parseResourceSpecifier
> (XMLParser_impl.java:365)
>     at org.apache.uima.util.impl.XMLParser_impl.parseResourceSpecifier
> (XMLParser_impl.java:346)
>     at com.relevant.pipeline.PipelineManagerTest.testSimpleUIMAExample(
> PipelineManagerTest.java:24)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at junit.framework.TestCase.runTest(TestCase.java:168)
>     at junit.framework.TestCase.runBare(TestCase.java:134)
>     at junit.framework.TestResult$1.protect(TestResult.java:110)
>     at junit.framework.TestResult.runProtected(TestResult.java:128)
>     at junit.framework.TestResult.run(TestResult.java:113)
>     at junit.framework.TestCase.run(TestCase.java:124)
>     at junit.framework.TestSuite.runTest(TestSuite.java:232)
>     at junit.framework.TestSuite.run(TestSuite.java:227)
>     at org.junit.internal.runners.JUnit38ClassRunner.run(
> JUnit38ClassRunner.java:81)
>     at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(
> JUnit4TestReference.java:38)
>     at org.eclipse.jdt.internal.junit.runner.TestExecution.run(
> TestExecution.java:38)
>     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(
> RemoteTestRunner.java:460)
>     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(
> RemoteTestRunner.java:673)
>     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(
> RemoteTestRunner.java:386)
>     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(
> RemoteTestRunner.java:196)
> Caused by: org.apache.crimson.tree.DomEx: NAMESPACE_ERR: Attempt 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:354)
>     at org.apache.xalan.transformer.TransformerIdentityImpl.startElement(
> TransformerIdentityImpl.java:1031)
>     at org.apache.uima.util.impl.SaxDeserializer_impl.startElement
> (SaxDeserializer_impl.java:201)
>     at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1488)
>     at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:500)
>     at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
>     at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442)
>     at org.apache.uima.util.impl.XMLParser_impl.parse
> (XMLParser_impl.java:176)
>     ... 22 more
>
> and I have no idea why.  I have not edited the tutorial descriptor.  And I
> can't remember if this is the first time I've tested this since upgrading!
>
> Any suggestions?
>
> Thanks,
>
> Maria
>
>   


Mime
View raw message