Thanks for the feedback, Stefan. In that case, I'll first have to make
sure the problem is not on my side. ATM, the XML content is generated by
Java code (XML Graphics Commons' XMP package) as SAX events. I'll see if
the same happens if I load from an XML file to rule out any SAXish
side-effects.

On 04.06.2008 16:18:26 Stefan Guggisberg wrote:
> On Wed, Jun 4, 2008 at 4:09 PM, Jeremias Maerki <[EMAIL PROTECTED]> wrote:
> > I'm trying to import arbitrary XML content through
> > Session.getImportContentHandler(). It works fine if I have XML content
> > that is fully in the default namespace. But if there's mixed-namespace 
> > content
> > I get the following error when calling Session.save():
> >
> > ERROR - failed to write bundle: 1b773746-508f-4176-ab3f-6bbf3d1b6bd9
> > java.lang.IllegalStateException: URI not valid? 
> > javax.jcr.NamespaceException: URI 
> > http://www.w3.org/1999/02/22-rdf-syntax-ns# is not registered.
> >        at 
> > org.apache.jackrabbit.core.persistence.bundle.util.NamespaceIndex.stringToIndex(NamespaceIndex.java:55)
> >        at 
> > org.apache.jackrabbit.core.persistence.bundle.util.ItemStateBinding.writeQName(ItemStateBinding.java:391)
> >        at 
> > org.apache.jackrabbit.core.persistence.bundle.util.BundleBinding.writeBundle(BundleBinding.java:286)
> >        at 
> > org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.storeBundle(BundleDbPersistenceManager.java:1262)
> >        at 
> > org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.putBundle(AbstractBundlePersistenceManager.java:703)
> >        at 
> > org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.store(AbstractBundlePersistenceManager.java:643)
> >        at 
> > org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.store(BundleDbPersistenceManager.java:526)
> >        at 
> > org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedItemStateManager.java:704)
> >        at 
> > org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:873)
> >        at 
> > org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:324)
> >        at 
> > org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:306)
> >        at 
> > org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:300)
> >        at 
> > org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:317)
> >        at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1247)
> >        at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:897)
> > <snip rest of stacktrace/>
> >
> > It seems like I have to preregister all used namespaces myself with the
> > NamespaceRegistry. And I possibly have to do some namespace prefix
> > normalization to avoid collisions if I don't have control over what
> > namespace prefixes are used because there's only one NamespaceRegistry
> > per workspace. Did I get that about right?
> 
> no, that shouldn't be necessary, all references namespaces in your xml 
> document
> should automatically be registered. seems to be a bug, could you perhaps
> provide a sample xml document that fails on import?
> 
> cheers
> stefan
> 
> 
> >
> > Thanks for your input,
> > Jeremias Maerki
> >
> >




Jeremias Maerki

Reply via email to