我只是想知道jcr:primaryType和jcr:mixinTypes之间有什么区别,为什么要使用jcr:mixinTypes呢?这意味着什么?如果你检查crx中的/ content/dam文件夹,它将jcr:primaryType属性值显示为sling:OrderedFolder和jcr:mixinTypes as mix:lockable,rep:AccessControllable其中jcr:primaryType表示这是一个sling文件夹但是为什么是mixin类型.还浏览了这些文档http://www.day.com/specs/jcr/1.0/6.7.4_Primary_and_Mixin_Node_Types.html http://www.day.com/specs/jcr/1.0/6.7.5_Special_Properties_jcr_primaryType_and_jcr_mixinTypes.html但还没有不太了解差异.
谢谢.
Ber*_*taz 12
一个节点只能有一个jcr:primaryType但它可以有几个jcr:mixinTypes,所以将mixins视为"traits"或节点的其他方面是正确的.
虽然http://wiki.apache.org/jackrabbit/DavidsModel "数据优先,稍后结构.可能"规则建议谨慎使用主节点类型,因为它们通常意味着强大的约束,但mixins的约束要少得多,并且对于识别非常有用节点具有特定用途或属性.
例如,您提到的混合:可锁定mixin用于表示可以锁定节点.根据http://www.day.com/specs/jcr/2.0/17_Locking.html,只有mixin节点类型为mix:lockable的节点才能保存锁.任何类型的节点都可能被锁定,因此使用节点类型将无法正常工作.
首先,你应该注意的是这两个属性jcr:primaryType,并jcr:mixinTypes在超级节点的定义nt:base,然后由所有其他节点继承.
该jcr:primaryType属性指定节点的基本类型,并将在节点创建时分配,您可以将其视为OO世界中对象的BASE类.它可以以编程方式完成,Node.setPrimaryType('some-primary-type')
例如:nt:file,nt:unstructured...
该jcr:mixinTypes属性是一个多值的属性(不是单个属性值,但可以有一个列表),并且在节点创建时基本上可以是空的,因为它不是一个mondatory属性而一个节点根本就没有jcr:mixinType.节点可以以编程方式添加mixin类型node.addMixin('some-mixin-type').您可以将其视为OO世界中的接口,因为节点可以具有多个接口,并且它们旨在向该节点添加aditionnal属性(OO世界中的状态/实例变量).如:mix:versionable,mix:referenceable
| 归档时间: |
|
| 查看次数: |
10857 次 |
| 最近记录: |