Return-Path: Delivered-To: apmail-jackrabbit-users-archive@locus.apache.org Received: (qmail 42460 invoked from network); 4 Jun 2008 14:19:00 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 4 Jun 2008 14:19:00 -0000 Received: (qmail 79095 invoked by uid 500); 4 Jun 2008 14:19:01 -0000 Delivered-To: apmail-jackrabbit-users-archive@jackrabbit.apache.org Received: (qmail 79082 invoked by uid 500); 4 Jun 2008 14:19:01 -0000 Mailing-List: contact users-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@jackrabbit.apache.org Delivered-To: mailing list users@jackrabbit.apache.org Received: (qmail 79071 invoked by uid 99); 4 Jun 2008 14:19:01 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 04 Jun 2008 07:19:01 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of stefan.guggisberg@gmail.com designates 64.233.170.190 as permitted sender) Received: from [64.233.170.190] (HELO rn-out-0910.google.com) (64.233.170.190) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 04 Jun 2008 14:18:13 +0000 Received: by rn-out-0910.google.com with SMTP id v46so45067rnb.20 for ; Wed, 04 Jun 2008 07:18:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender :to:subject:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references :x-google-sender-auth; bh=soCu2wMzxKaO8OigJWI39sNpQhod5wsuYwe0S89M7aU=; b=FqeqcemnoYAP/+DOvrY4R5+13QuG8V0g5DUz3Cc7hiBWXFkP9nkLPQOTCw1VjIunFu NmNNbWqp9gEZ/gM0TN/9xjWB8mZdsE5bO2zVFIyVGJBKSIMQdgmfS7upeULC4OOMk8Pb WqOYn0CbwE40gQtUsvlufNwkQZB932fFNsRno= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references:x-google-sender-auth; b=ltnK83nPLn47baAAO+NotleYNaBI+Wt3k9uWE2+BkV5NBxwxeBsiV2ENo5Kp/giMaQ +EEE8bTAFp7ttq5nO81iMb3SiGRligM+TJroDq3u3k3Ai/Ep/gHBy2hNIseHH3+3QHFf fH8WQ1p8Z1QrU/9u3nZFMvySjajKAQL7fqKbs= Received: by 10.115.90.1 with SMTP id s1mr12793461wal.214.1212589108112; Wed, 04 Jun 2008 07:18:28 -0700 (PDT) Received: by 10.114.190.14 with HTTP; Wed, 4 Jun 2008 07:18:26 -0700 (PDT) Message-ID: <90a8d1c00806040718x3d9ed08eo911ebc08cb4ac22e@mail.gmail.com> Date: Wed, 4 Jun 2008 16:18:26 +0200 From: "Stefan Guggisberg" Sender: stefan.guggisberg@gmail.com To: users@jackrabbit.apache.org Subject: Re: Namespaces and Session.getImportContentHandler() In-Reply-To: <20080604155145.8A46.DEV@jeremias-maerki.ch> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20080604155145.8A46.DEV@jeremias-maerki.ch> X-Google-Sender-Auth: 02101d789d6ef1de X-Virus-Checked: Checked by ClamAV on apache.org On Wed, Jun 4, 2008 at 4:09 PM, Jeremias Maerki 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) > > > 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 > >