2016-07-13 6 views
0

私は屋外でのコンテンツモデルを構築しようとしている、と私は、次のコンテンツモデルのXML持っている:私はこれを含むプロジェクトをビルドしようとするとAlfrescoはコンテンツモデリング:参照のプロパティを複数回

<model name="my:custommodel" xmlns="http://www.alfresco.org/model/dictionary/1.0"> 
    <imports> 
     <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d" /> 
     <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm" /> 
    </imports> 
    <namespaces> 
     <namespace uri="http://www.mycompany.com/model/content/1.0" prefix="my" /> 
    </namespaces> 
    <types> 
     <type name="my:bound"> 
      <title>Bound</title> 
      <parent>cm:content</parent> 
      <properties> 
       <property name="my:width"> 
        <type>d:int</type> 
        <multiple>false</multiple> 
       </property> 
       <property name="my:height"> 
        <type>d:int</type> 
        <multiple>false</multiple> 
       </property> 
      </properties> 
     </type> 

     <type name="my:rectangle"> 
      <title>Rectangle</title> 
      <parent>cm:content</parent> 
      <properties> 
       <property name="my:x"> 
        <type>d:int</type> 
        <multiple>false</multiple> 
       </property> 
       <property name="my:y"> 
        <type>d:int</type> 
        <multiple>false</multiple> 
       <property name="my:width"> 
        <type>d:int</type> 
        <multiple>false</multiple> 
       </property> 
       <property name="my:height"> 
        <type>d:int</type> 
        <multiple>false</multiple> 
       </property> 
      </properties> 
     </type> 
    </types> 
</model> 

を、I次のエラーが表示されます。

org.alfresco.service.cmr.dictionary.DictionaryException$DuplicateDefinitionException: 06130000 Found duplicate property definition 'my:x' within class 'my:rectangle' and class 'my:bound' 

プロパティは基本的にタイプの子であるため、そのタイプにスコープされているためです。しかし、このエラーはそうでなければそれを示します。私はそれがなぜ、そしてこの問題のまわりの正しい方法が何であるのだろうかと思っていますか?

型の外でプロパティを定義する方法を探してみましたが、それぞれの型を参照する方法を試しましたが、これの例は見つかりません。また、xプロパティを含むアスペクトと、yプロパティを含むアスペクトを作成して各タイプにアタッチすることも考えましたが、それは正しくは感じられません。

答えて

4

複数の種類のプロパティを使用する場合、2つの方法があります。

Inheritance:

これらの共通プロパティで基本タイプを作成し、他のすべてのタイプで親タイプとして設定します。このようにして、すべての子タイプは親タイプからプロパティを継承します。

Aspects:

これらの共通プロパティでアスペクトを作成し、そのアスペクトをすべてのタイプに追加します。アスペクトはそのためのものですので、この承認に従うことに問題はありません。

関連する問題