You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Edgar Merino <do...@gmail.com> on 2008/11/26 15:26:46 UTC

OCM ocm:discriminator NodeType

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

Re: OCM ocm:discriminator NodeType

Posted by Christophe Lombart <ch...@gmail.com>.
Can you send me the full stack trace  ? What kind of repository are you
using ?
If possible, send me the complete code.

Thanks,
Christophe

On Thu, Nov 27, 2008 at 06:46, Edgar Merino <do...@gmail.com> wrote:

> 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 <do...@gmail.com> 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
>>>
>>>
>>>
>>
>>
>>
>
>

Re: OCM ocm:discriminator NodeType

Posted by Christophe Lombart <ch...@gmail.com>.
Well done Charles ! Sorry I didn't see it.

Thanks
Christophe

On Fri, Nov 28, 2008 at 04:06, Edgar Merino <do...@gmail.com> wrote:

> So simple, so true (problem solved).
>
> Thank you,
> Edgar Merino
>
>
> Charles Brooking escribió:
>
>  Edgar Merino wrote:
>>
>>> After this, I try to register the nodetype and I get the exception shown
>>> previosly on the past email.
>>>
>>> What did I missed?
>>>
>>
>> Just a guess, but maybe you need to include
>>
>>  xmlns:ocm="http://jackrabbit.apache.org/ocm"
>>
>> in the XML document?
>>
>> Later
>> Charlie
>>
>>
>

Re: OCM ocm:discriminator NodeType

Posted by Edgar Merino <do...@gmail.com>.
So simple, so true (problem solved).

Thank you,
Edgar Merino


Charles Brooking escribió:
> Edgar Merino wrote:
>> After this, I try to register the nodetype and I get the exception 
>> shown previosly on the past email.
>>
>> What did I missed?
>
> Just a guess, but maybe you need to include
>
>   xmlns:ocm="http://jackrabbit.apache.org/ocm"
>
> in the XML document?
>
> Later
> Charlie
>


Re: OCM ocm:discriminator NodeType

Posted by Charles Brooking <pu...@charlie.brooking.id.au>.
Edgar Merino wrote:
> After this, I try to register the nodetype and I get the exception 
> shown previosly on the past email.
> 
> What did I missed?

Just a guess, but maybe you need to include

   xmlns:ocm="http://jackrabbit.apache.org/ocm"

in the XML document?

Later
Charlie

Re: OCM ocm:discriminator NodeType

Posted by Edgar Merino <do...@gmail.com>.
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 <do...@gmail.com> 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
>>
>>     
>
>   


Re: OCM ocm:discriminator NodeType

Posted by Christophe Lombart <ch...@gmail.com>.
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 <do...@gmail.com> 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
>