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

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

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

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

说明</ns>
  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
分享到:
评论
2 楼 skyuck 2012-09-27  
java9920 写道
写得很清晰,很不错!
我想问一下,如果可以实现动态注册,那么用户在使用定义的新节点后,需不需要重启服务啊?


我想知道在什么情况下需要用到自定义节点类型

ps:什么是动态注册
1 楼 java9920 2008-04-16  
写得很清晰,很不错!
我想问一下,如果可以实现动态注册,那么用户在使用定义的新节点后,需不需要重启服务啊?

相关推荐

    jackrabbit最全入门教程

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

    jackrabbit2.6

    8. **节点与属性**:在Jackrabbit中,内容以节点的形式存在,每个节点可以有属性,类似于文件系统中的文件和文件属性。节点可以嵌套,形成复杂的树状结构,以适应各种内容模型。 9. **版本控制**:Jackrabbit 提供...

    jackrabbit教程

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

    Jackrabbit入门实例

    节点类似于文件系统中的文件和目录,它们可以有子节点和属性。属性类似于文件的元数据,例如创建日期、作者等。路径则用于定位仓库中的特定节点。 在"Jackrabbit入门实例"中,你可能会遇到以下关键概念和操作: 1....

    Jackrabbit API

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

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

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

    Apache Jackrabbit入门

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

    Jackrabbit学习篇

    **Node Type**定义了内容的存储格式,是理解Jackrabbit架构的重要一环。每个节点都有特定的类型,这些类型定义了节点可以包含哪些子节点以及属性等。例如,`nt:file`节点类型表示一个文件节点,它可以包含一个名为`...

    jackrabbit-jcr-commons-2.5.0.zip

    在给定的压缩包"jackrabbit-jcr-commons-2.5.0.zip"中,我们可以看到一个名为"streamresource.zip"的子文件,这通常暗示着它包含了与流资源(StreamResource)相关的代码或文档。 StreamResource是Jackrabbit框架中...

    JCR.rar_jackrabbit_jcr

    在IT行业中,JCR全称为Java Content Repository(Java内容存储库),它是一个标准,定义了如何在Java应用程序中存储、管理和检索非结构化内容。Jackrabbit是Apache软件基金会的一个开源项目,它是一个实现JCR规范的...

    jackrabbit-ocm-2.0.0-source-release

    它的主要功能是提供一种简单的方式来在Java对象和Jackrabbit存储库中的节点之间进行映射。这样,开发者可以使用面向对象的编程模型来操作存储库,而无需直接与JCR(Java Content Repository)API交互,从而提高了...

    jackrabbit-trunk.rar

    Segment-Tar存储以文件形式持久化节点数据,Document Node Store用于内存优化,Microkernel提供了底层数据模型和事务支持。 5. **版本控制与恢复** Jackrabbit-Trunk实现了JCR的版本控制功能,允许对内容的历史...

    jcr-0.7.2.1.tar

    6. **节点类型定义**:JCR中的每个内容都是一个节点,可以定义其类型,从而约束节点的属性和子节点结构。 在Unix环境下使用JCR工具包,需要确保系统已经安装了Java运行环境(JRE)和对应的JCR实现,例如Apache ...

    jcr_in_action.pdf

    此外,JCR定义了节点类型和类型化属性,以实现结构化数据的管理。 ### 引用与搜索 JCR支持通过引用在节点之间建立关联,这有助于构建复杂的关系网络。同时,JCR提供了一种强大的查询语言,包括XPath和SQL,用于在...

    appfuse 2.0.2文档 pdf

    Jackrabbit文档可能会详细解释其架构设计,包括节点、属性、工作空间、版本控制等核心概念,以及如何在AppFuse项目中集成和使用Jackrabbit。 **综合知识点** 1. **AppFuse 2.0.2**:这是一个基于Maven的Java Web...

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

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

    Laravel开发-laravel-jackalope-doctrine-dbal

    然而,由于JCR的特性,可能会涉及到节点、属性、路径等概念,这与传统的SQL数据库操作有所不同。 6. **优势和应用场景**:使用Jackalope Doctrine DBAL扩展可以使得Laravel应用支持更广泛的存储需求,特别是在需要...

Global site tag (gtag.js) - Google Analytics