注:本篇文章需要JCR基础知识和Jackrabbit基础知识
Jackrabbit能够让开发者制定自己的节点类型, 应用程序能够在启动的时候读取节点类型定义文件,加载节点定义.
下面是一个简单的说明:
<ns>
说明</ns>
- /* 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
分享到:
相关推荐
4. **操作节点**:通过Session创建、查找、修改或删除节点,节点类似于文件系统中的文件和目录。 5. **保存更改**:所有对存储库的更改都需要通过Session的save()方法进行提交。 6. **查询内容**:使用QueryManager...
8. **节点与属性**:在Jackrabbit中,内容以节点的形式存在,每个节点可以有属性,类似于文件系统中的文件和文件属性。节点可以嵌套,形成复杂的树状结构,以适应各种内容模型。 9. **版本控制**:Jackrabbit 提供...
`ImportUUIDBehavior` 枚举常量定义了在导入节点时如何处理 UUID。 8. **版本控制**: Jackrabbit 支持节点的版本历史记录,允许回滚到以前的版本。 在学习 Jackrabbit 时,你需要熟悉这些基本概念以及它们在实际...
节点类似于文件系统中的文件和目录,它们可以有子节点和属性。属性类似于文件的元数据,例如创建日期、作者等。路径则用于定位仓库中的特定节点。 在"Jackrabbit入门实例"中,你可能会遇到以下关键概念和操作: 1....
- `Node`:在Jackrabbit中,内容被组织成节点树,每个节点代表一个内容单元,可以包含子节点和属性。节点有类型,类似于数据库中的表,这些类型定义了节点可以拥有的属性和子节点。 - `Property`:节点上的属性是...
- Node:在JCR中,内容被组织成节点,类似于文件系统的文件和目录。 - Property:节点可以拥有属性,类似于文件的元数据。 - Workspace:工作区是节点和属性的集合,用户可以在其中进行读写操作。 - Session:...
2. Apache Jackrabbit:作为JCR规范的实现,Apache Jackrabbit提供了全面的功能,包括事务支持、版本控制、查询语言、节点类型定义等。它是一个高性能、可扩展的JCR服务器,可用于构建内容管理系统、文档管理系统、...
**Node Type**定义了内容的存储格式,是理解Jackrabbit架构的重要一环。每个节点都有特定的类型,这些类型定义了节点可以包含哪些子节点以及属性等。例如,`nt:file`节点类型表示一个文件节点,它可以包含一个名为`...
在给定的压缩包"jackrabbit-jcr-commons-2.5.0.zip"中,我们可以看到一个名为"streamresource.zip"的子文件,这通常暗示着它包含了与流资源(StreamResource)相关的代码或文档。 StreamResource是Jackrabbit框架中...
在IT行业中,JCR全称为Java Content Repository(Java内容存储库),它是一个标准,定义了如何在Java应用程序中存储、管理和检索非结构化内容。Jackrabbit是Apache软件基金会的一个开源项目,它是一个实现JCR规范的...
它的主要功能是提供一种简单的方式来在Java对象和Jackrabbit存储库中的节点之间进行映射。这样,开发者可以使用面向对象的编程模型来操作存储库,而无需直接与JCR(Java Content Repository)API交互,从而提高了...
Segment-Tar存储以文件形式持久化节点数据,Document Node Store用于内存优化,Microkernel提供了底层数据模型和事务支持。 5. **版本控制与恢复** Jackrabbit-Trunk实现了JCR的版本控制功能,允许对内容的历史...
6. **节点类型定义**:JCR中的每个内容都是一个节点,可以定义其类型,从而约束节点的属性和子节点结构。 在Unix环境下使用JCR工具包,需要确保系统已经安装了Java运行环境(JRE)和对应的JCR实现,例如Apache ...
此外,JCR定义了节点类型和类型化属性,以实现结构化数据的管理。 ### 引用与搜索 JCR支持通过引用在节点之间建立关联,这有助于构建复杂的关系网络。同时,JCR提供了一种强大的查询语言,包括XPath和SQL,用于在...
Jackrabbit文档可能会详细解释其架构设计,包括节点、属性、工作空间、版本控制等核心概念,以及如何在AppFuse项目中集成和使用Jackrabbit。 **综合知识点** 1. **AppFuse 2.0.2**:这是一个基于Maven的Java Web...
2. 高级功能:除了基本操作,适配器还支持PHPCR特有的功能,如节点类型的定义、节点属性的设置、版本控制、工作空间管理等。 3. 灵活性:由于Flysystem的设计理念,开发者可以根据需求选择不同的PHPCR后端,无需...
然而,由于JCR的特性,可能会涉及到节点、属性、路径等概念,这与传统的SQL数据库操作有所不同。 6. **优势和应用场景**:使用Jackalope Doctrine DBAL扩展可以使得Laravel应用支持更广泛的存储需求,特别是在需要...