Jackrabbit的简单节点定义文件格式

阅读更多
注:本篇文章需要JCR基础知识和Jackrabbit基础知识

Jackrabbit能够让开发者制定自己的节点类型, 应用程序能够在启动的时候读取节点类型定义文件,加载节点定义.
下面是一个简单的说明:


说明
  1. /* Jackrabbit 节点类型定义说明 */
  2. // 名域的声明. 下面声明了一个名域ns,值为http://namespace.com/ns
  3. // 节点类型的名字, 这里是声明一个名字为NodeType的节点类型,ns为其名域
  4. [ns:NodeType]
  5. // 首先定义其父类型,注意:">"符号表明继承关系,用","符号分隔多个条目
  6. // 下面 声明名字为NodeType的节点类型继承两个节点类型,分别为ns:ParentType1和ns:ParentType2
  7. > ns:ParentType1, ns:ParentType2
  8. // 声明这个节点类型支持子节点可排序
  9. orderable
  10. // 声明这个节点类型是混合类型的
  11. mixin
  12. // 声明这个节点类型拥有一个ex:property属性,符号"-"代表一个属性,(string)表示这个属性的类型为string
  13. - ex:property (string)
  14. // 声明这个属性ex:property的默认值(多值)
  15. // "="符号代表赋值
  16. = 'default1', 'default2'
  17. // 声明这个属性是主项
  18. primary
  19. // 声明这个属性是强制的,自动创建的,和受保护的
  20. mandatory autocreated protected
  21. // 声明这个属性是多值属性
  22. multiple
  23. // 声明这个属性的 on-parent-version 项设置为version
  24. version
  25. // 声明这个属性的约束设置为contraint1,constraint2. "<"符号代表受约束
  26. < 'constraint1', 'constraint2'
  27. // 声明这个节点类型拥有一个名为ns:node的子节点
  28. // 这个子节点必须是ns:reqType1和ns:reqType2两种类型的,类型用","号分隔
  29. // "+"符号代表一个子节点
  30. + ns:node (ns:reqType1, ns:reqType2)
  31. // 声明这个子节点的主节点类型为ns:defaultType,"="代表赋值
  32. = ns:defaultType
  33. // 声明这个子节点强制的,自动创建的,和受保护的
  34. mandatory autocreated protected
  35. // 声明这个子节点是可以有同名兄弟节点的
  36. multiple
  37. // 声明这个子节点的 on-parent-version 项设置为version
  38. version

你可能感兴趣的:(Jackrabbit的简单节点定义文件格式)