`
alartin
  • 浏览: 211662 次
社区版块
存档分类
最新评论

Jackrabbit的简单节点定义文件实例(OpenKM节点定义文件)

 
阅读更多
继上一篇说明Jackrabbit节点类型定义文件后,下面给出一个实例.
OpenKM是基于Jackrabbit的文档管理应用,将自己定义的节点类型放在其CustomNodes.config文件中.
CustomNodes.config
  1. <nt = 'http://www.jcp.org/jcr/nt/1.0'>
  2. <jcr = 'http://www.jcp.org/jcr/1.0'>
  3. <mix = 'http://www.jcp.org/jcr/mix/1.0'>
  4. <okm = 'http://www.openkm.org/1.0'>
  5. [mix:accessControlled]
  6. - okm:authUsersRead (string) multiple mandatory
  7. - okm:authUsersWrite (string) multiple mandatory
  8. - okm:authRolesRead (string) multiple mandatory
  9. - okm:authRolesWrite (string) multiple mandatory
  10. [okm:resource] > nt:resource, mix:versionable
  11. - okm:size (long) mandatory
  12. - okm:author (string) mandatory
  13. [okm:document] > nt:hierarchyNode, mix:referenceable, mix:lockable, mix:accessControlled
  14. - okm:author (string) mandatory
  15. - okm:name (string)
  16. - okm:language (string)
  17. - okm:keywords (string)
  18. - okm:notification (string) multiple
  19. + okm:content (okm:resource) primary mandatory
  20. [okm:folder] > nt:folder, mix:referenceable, mix:lockable, mix:accessControlled
  21. - okm:author (string) mandatory
  22. - okm:name (string)
  23. - okm:notification (string) multiple
  24. [okm:config] > nt:hierarchyNode, mix:accessControlled
  25. - okm:lockTokens (string) = '' multiple autocreated
  26. [okm:query] > nt:hierarchyNode, mix:accessControlled
  27. + * (nt:unstructured)

接着给出说明:
  文件定义了四个名域,其中三个为JCP保留的名域,一个是自己的,名字为okm
  文件定义了六个节点类型,其中一个增加了一个mix,其余的为自己的类型
  1. mix:accessControlled节点类型,该节点类型名字是mix:accessControlled,具有四个多值属性,属性类型都是字符串,而且都是强制性的,名字分别为okm:authUsersRead, okm:authUsersWrite,等
  2. okm:resource节点类型,继承了nt:resource类型和mix:versionable类型,同时具有两个属性, okm:size和okm:author,而且都是强制行的,类型分别是long和string, 这样OpenKM中的资源就是可以版本化的
  3. okm:document 节点类型.继承了 nt:hierachyNode, mix:referenceable, mix:lockable, mix:accessControlled节点类型,这样文档就可以被引用,锁定,层次化,和访问控制化. 这里okm:document节点类型依赖刚才定义的节点类型mix:accessControlled. okm:document定义了5个属性和一个子节点okm:content. 注意这个子节点的类型是刚才定义的okm:resource类型,并且是强制性的,和主要的. 注意这里有一个容易混淆的事情: okm:content指的是这个子节点的名字,而okm:resource指的是节点类型的名字,所以注意区分,有的okm:xxxx是指节点名字,而有的是指节点类型名字,这在JCR中非常容易搞混.
分享到:
评论

相关推荐

    Jackrabbit入门实例

    在这个"Jackrabbit入门实例"中,你将找到一系列在Eclipse环境下运行的示例项目,帮助初学者快速理解并掌握Jackrabbit的使用。 首先,让我们深入了解一下JCR。JCR是一个接口规范,定义了如何存储、检索和管理半结构...

    jackrabbit内容仓库的实例(两个工程)

    - Node:在JCR中,内容被组织成节点,类似于文件系统的文件和目录。 - Property:节点可以拥有属性,类似于文件的元数据。 - Workspace:工作区是节点和属性的集合,用户可以在其中进行读写操作。 - Session:...

    jackrabbit教程

    `ImportUUIDBehavior` 枚举常量定义了在导入节点时如何处理 UUID。 8. **版本控制**: Jackrabbit 支持节点的版本历史记录,允许回滚到以前的版本。 在学习 Jackrabbit 时,你需要熟悉这些基本概念以及它们在实际...

    jackrabbit最全入门教程

    4. **操作节点**:通过Session创建、查找、修改或删除节点,节点类似于文件系统中的文件和目录。 5. **保存更改**:所有对存储库的更改都需要通过Session的save()方法进行提交。 6. **查询内容**:使用QueryManager...

    Jackrabbit API

    - `Node`:在Jackrabbit中,内容被组织成节点树,每个节点代表一个内容单元,可以包含子节点和属性。节点有类型,类似于数据库中的表,这些类型定义了节点可以拥有的属性和子节点。 - `Property`:节点上的属性是...

    Apache Jackrabbit入门

    2. Apache Jackrabbit:作为JCR规范的实现,Apache Jackrabbit提供了全面的功能,包括事务支持、版本控制、查询语言、节点类型定义等。它是一个高性能、可扩展的JCR服务器,可用于构建内容管理系统、文档管理系统、...

    查看jackrabbit仓库的小工具

    Jackrabbit仓库是一个持久化的、基于文件系统的数据存储结构,可以被视为一个内容数据库。 描述中的“博文链接:https://kinglord2010.iteye.com/blog/665530”指向了一篇博客文章,遗憾的是,由于无法直接访问该...

    flysystem-phpcr:适用于flysystemPHP内容存储库适配器

    2. 高级功能:除了基本操作,适配器还支持PHPCR特有的功能,如节点类型的定义、节点属性的设置、版本控制、工作空间管理等。 3. 灵活性:由于Flysystem的设计理念,开发者可以根据需求选择不同的PHPCR后端,无需...

    PHPCRJavaJCRPHP

    PHPCR的引入让PHP开发者有机会利用类似JCR的强大数据存储机制,如树形结构、节点类型定义、多版本控制等。这不仅提升了数据管理的效率,还增强了数据的组织和检索能力。通过PHPCR,开发者可以创建复杂的查询来找到所...

Global site tag (gtag.js) - Google Analytics