Я пытаюсь построить модель контента в Alfresco, и у меня есть следующие модели содержимого 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>
Когда я пытаюсь построить проект, содержащее это, я получить следующее сообщение об ошибке:
org.alfresco.service.cmr.dictionary.DictionaryException$DuplicateDefinitionException: 06130000 Found duplicate property definition 'my:x' within class 'my:rectangle' and class 'my:bound'
Я бы ожидать, что из-за свойства, по существу, дети типа, что они находятся в области видимости к этому типу. Но эта ошибка указывает на другое. Мне интересно, почему это так, и каков правильный способ решения этой проблемы?
Я пробовал искать способ определения свойств за пределами типа, а затем каждый тип ссылается на них, но я не могу найти примеров этого. Я также рассмотрел возможность создания аспекта, который содержит свойство x, и аспект, содержащий свойство y, и прикрепление их к каждому типу, но это не так.