Hello again,

   I'm using v1.4, the "ocm" namespace has been registered previously:

   NamespaceRegistry registry = null;
   try {
       registry = session.getWorkspace().getNamespaceRegistry();
System.out.println(registry.getURI("ocm")); } catch (NamespaceException e) { try { registry.registerNamespace("ocm", "http://jackrabbit.apache.org/ocm";);
       } catch (Exception ex) {
ex.printStackTrace(); }
   } catch (RepositoryException e) {
       e.printStackTrace();
   }


After this, I try to register the nodetype and I get the exception shown previosly on the past email.

What did I missed?
Edgar Merino



Christophe Lombart escribió:
You have to register the "ocm" namespace before.
Which OCM version are you using ?

Christophe


On Wed, Nov 26, 2008 at 15:26, Edgar Merino <[EMAIL PROTECTED]> wrote:

Hello,

  I'm trying to get OCM running, however I'm encountering a problem when
trying to register the ocm:discriminator nodetype:

<?xml version="1.0" encoding="UTF-8"?>

<nodeTypes xmlns:nt="http://www.jcp.org/jcr/nt/1.0"; xmlns:jcr="
http://www.jcp.org/jcr/1.0"; xmlns:mix="http://www.jcp.org/jcr/mix/1.0";>
  <nodeType name="ocm:discriminator" isMixin="true">
      <supertypes>
          <supertype>nt:base</supertype>
      </supertypes>
      <propertyDefinition name="ocm:classname" requiredType="String"
          autoCreated="false" mandatory="true" onParentVersion="COPY"
          protected="false" multiple="false" />
  </nodeType>
</nodeTypes>

  I get the following exceptions:

org.apache.jackrabbit.core.nodetype.InvalidNodeTypeDefException: Invalid
namespace reference in a node type definition       Caused by:
javax.jcr.NamespaceException: Unknown namespace prefix ocm.
      at
org.apache.jackrabbit.core.nodetype.xml.AdditionalNamespaceResolver.getURI(AdditionalNamespaceResolver.java:86)
      at
org.apache.jackrabbit.spi.commons.conversion.NameParser.parse(NameParser.java:116)
      at
org.apache.jackrabbit.spi.commons.conversion.ParsingNameResolver.getQName(ParsingNameResolver.java:62)
      at
org.apache.jackrabbit.spi.commons.conversion.DefaultNamePathResolver.getQName(DefaultNamePathResolver.java:61)
      at
org.apache.jackrabbit.core.nodetype.xml.NodeTypeReader.getNodeTypeDef(NodeTypeReader.java:139)
      at
org.apache.jackrabbit.core.nodetype.xml.NodeTypeReader.getNodeTypeDefs(NodeTypeReader.java:122)
      at
org.apache.jackrabbit.core.nodetype.xml.NodeTypeReader.read(NodeTypeReader.java:69)
      ... 5 more

  However, I've already register the ocm namespace prefix, calling
NamespaceRegistry#getURI("ocm") returns "http://jackrabbit.apache.org/ocm";.
Am I missing something here?

Thanks in advance,
Edgar Merino



Reply via email to