|
注:本篇文章需要JCR基础知识和Jackrabbit基础知识Jackrabbit能够让开发者制定自己的节点类型, 应用程序能够在启动的时候读取节点类型定义文件,加载节点定义.下面是一个简单的说明:说明 /* Jackrabbit 节点类型定义说明 */ // 名域的声明. 下面声明了一个名域ns,值为http://namespace.com/ns // 节点类型的名字, 这里是声明一个名字为NodeType的节点类型,ns为其名域 [ns:NodeType] // 首先定义其父类型,注意:">"符号表明继承关系,用","符号分隔多个条目 // 下面 声明名字为NodeType的节点类型继承两个节点类型,分别为ns:ParentType1和ns:ParentType2 > ns:ParentType1, ns:ParentType2 // 声明这个节点类型支持子节点可排序 orderable // 声明这个节点类型是混合类型的 mixin // 声明这个节点类型拥有一个ex:property属性,符号"-"代表一个属性,(string)表示这个属性的类型为string - ex:property (string) // 声明这个属性ex:property的默认值(多值) // "="符号代表赋值 = 'default1', 'default2' // 声明这个属性是主项 primary // 声明这个属性是强制的,自动创建的,和受保护的 mandatory autocreated protected // 声明这个属性是多值属性 multiple // 声明这个属性的 on-parent-version 项设置为version version // 声明这个属性的约束设置为contraint1,constraint2. "<"符号代表受约束 < 'constraint1', 'constraint2' // 声明这个节点类型拥有一个名为ns:node的子节点 // 这个子节点必须是ns:reqType1和ns:reqType2两种类型的,类型用","号分隔 // "+"符号代表一个子节点 + ns:node (ns:reqType1, ns:reqType2) // 声明这个子节点的主节点类型为ns:defaultType,"="代表赋值 = ns:defaultType // 声明这个子节点强制的,自动创建的,和受保护的 mandatory autocreated protected // 声明这个子节点是可以有同名兄弟节点的 multiple // 声明这个子节点的 on-parent-version 项设置为version version |