基本主节点类型

所有存储库必须提供基主节点类型,NT:基部,作为一个内置的类型。

nt:base

[nt:base] abstract

  • jcr:primaryType (NAME) 强制性的,每个节点都必须有的

  • jcr:mixinTypes (NAME) 非强制性的受保护的多值NAME属性

nt:base 是抽象的主节点类型,它是所有其他主节点类型的基础类型。它是唯一没有超类型的主节点类型。

nt:base 通过属性 jcr:primaryType和 jcr:mixinTypes公开有关节点的类型信息。

由于每个其他主要类型都必须是nt:base的子类型,因此每个主要节点类型都将继承这两个反映类型的属性定义。

jcr:primaryType 是一个受保护的强制性NAME属性,其中包含其节点的声明的主节点类型的名称。存储库必须在节点的整个生命周期内准确地保持其值。由于这是强制性的,因此每个节点都将具有此属性。

jcr:mixinTypes 是一个非强制性的受保护的多值NAME属性,该属性保存其节点的声明的mixin节点类型的列表。它不是强制性的,但必须存在于具有一个或多个声明的混合类型的任何节点上。如果存在,则存储库必须在节点的整个生命周期内准确地保持其值.

标准应用程序节点类型

JCR定义了许多标准的应用程序节点类型,旨在支持常见的应用程序级实体。 存储库可以提供零个或多个作为内置类型。

nt:hierarchyNode

[nt:hierarchyNode] > mix:created abstract
此抽象节点类型充当nt:file和nt:folder的超类型,并继承mix:created的项目定义,因此需要该节点类型的存在.

nt:file

[nt:file] > nt:hierarchyNode primaryitem jcr:content

  • jcr:content (nt:base) mandatory

此节点类型的节点可用于表示文件。 该节点类型继承了nt:hierarchyNode的项目定义,并且需要一个名为jcr:content的子节点。 jcr:content节点用于保存文件的实际内容。 该子节点是必需的,但不是自动创建的。 它的节点类型将取决于应用程序,因此必须由用户添加。 一种常见的方法是使jcr:content成为nt:resource类型的节点。 jcr:content子节点也被指定为其父节点的主要子项。

nt:linkedFile

[nt:linkedFile] > nt:hierarchyNode primaryitem jcr:content

  • jcr:content (REFERENCE) mandatory

nt:linkedFile节点类型与nt:file相似,除了内容节点不直接存储为子节点,而是由REFERENCE属性指定。 这允许内容节点驻留在工作空间中的任何位置,并被多个nt:linkedFile节点引用。 内容节点必须是可引用的。 要支持此节点类型,就需要支持具有参照完整性的可参照节点

nt:folder

[nt:folder] > nt:hierarchyNode

  • (nt:hierarchyNode) VERSION

此类型的节点可用于表示文件夹或目录。 该节点类型继承了nt:hierarchyNode的项目定义,并增加了具有任意数量的其他任何名称的nt:hierarchyNode子节点的功能。 特别是,这意味着它可以具有类型为nt:folder,nt:file或nt:linkedFile的子节点。

nt:resource

[nt:resource] > mix:mimeType, mix:lastModified
primaryitem jcr:data

  • jcr:data (BINARY) mandatory

此节点类型可用于表示文件的内容。 特别是,nt:file节点的jcr:content子节点通常是nt:resource。 请注意,此节点类型的定义指示多重继承

mix:title

[mix:title] mixin

  • jcr:title (STRING) protected? OPV?
  • jcr:description (STRING) protected? OPV?

此混合节点类型可用于向节点添加标准化的标题和描述属性。

mix:created

[mix:created] mixin

  • jcr:created (DATE) autocreated protected? OPV?
  • jcr:createdBy (STRING) autocreated protected? OPV?

此混合节点类型可用于将标准化的创建信息属性添加到节点。 在使这些属性受到保护的实现中,它们的值由存储库控制,该存储库应在具有这种mixin类型的节点的初始持久存在时适当地设置它们。 如果将此混入添加到已存在的节点,则这些属性的语义是特定于实现的

mix:lastModified

[mix:lastModified] mixin

  • jcr:lastModified (DATE) autocreated protected? OPV?
  • jcr:lastModifiedBy (STRING) autocreated protected? OPV?

此混合节点类型可用于向节点提供标准化的修改信息属性。 在使这些属性受到保护的实现中,它们的值由存储库控制,该存储库应在使用此mixin对节点的子图进行重大修改时适当地对其进行设置。 构成重大修改的内容将取决于节点子图各个部分的语义,并且取决于实现。

mix:language

[mix:language] mixin

  • jcr:language (STRING) protected? OPV?

此混合节点类型可用于提供标准化的属性,该属性指定用于表达节点内容的自然语言。 jcr:language属性的值应该是RFC 46465中定义的语言代码。示例包括“ en”(英语),“ en-US”(美国英语),“ de”(德语)和“ de-CH” ”(瑞士德语)。

mix:mimeType

[mix:mimeType] mixin

  • jcr:mimeType (STRING) protected? OPV?
  • jcr:encoding (STRING) protected? OPV?

此混合节点类型可用于为节点提供标准化的模仿类型和编码属性。

如果此类型的节点的主项目是单值BINARY属性,则jcr:mimeType属性指示适用于该属性内容的媒体类型6,如果该媒体类型是适用文本编码的媒体类型,则 jcr:encoding属性指示使用的字符set7。

如果此类型的节点不满足上述前提条件,则jcr:mimeType和jcr:encoding属性的解释取决于实现。

nt:address

[nt:address]

  • jcr:protocol (STRING)
  • jcr:host (STRING)
  • jcr:port (STRING)
  • jcr:repository (STRING)
  • jcr:workspace (STRING)
  • jcr:path (PATH)
  • jcr:id (WEAKREFERENCE)

此节点类型不仅可以用于表示特定工作空间中的JCR项的位置,还可以用于表示所有JCR存储库中所有工作空间中的JCR项的位置。

jcr:protocol属性存储一个字符串,该字符串包含用于访问目标系统信息库的协议。

jcr:host属性存储一个字符串,其中包含要通过其访问存储库的系统的主机名。

jcr:port属性存储一个字符串,其中包含用于访问目标系统信息库的端口号。

这些属性的语义未定义,但假定为应用程序已知。属性的名称和描述不是规范性的,并且存储库不对属性执行任何特定的语义解释。

jcr:repository属性存储一个字符串,其中包含目标存储库的名称。

jcr:workspace属性存储工作区的名称。

jcr:path属性存储项目的路径。

jcr:id属性存储对节点的弱引用。

在大多数情况下,将使用jcr:path或jcr:id属性,但不能同时使用两者,因为它们可能指向不同的节点。如果缺少jcr:path和jcr:id以外的任何其他属性,则可以将该地址解释为相对于当前容器的地址,与丢失的说明符处于同一级别。例如,如果未指定存储库,那么该地址可以解释为引用当前存储库中的工作空间和路径或ID。

实体标签

对于应用程序来说,能够快速查找自上次检查后BINARY属性的值是否已更改通常很有用。 这在确定是否使包含BINARY值副本的缓存无效时特别有用。
mix:etag mixin类型为BINARY属性定义标准化的身份验证器,类似于HTTP / 1.18中使用的实体标签。

mix:etag

[mix:etag] mixin

  • jcr:etag (STRING) protected autocreated

jcr:etag属性是一个不透明字符串,其语法与在HTTP / 1.1中为实体标签定义的语法相同。 语义上,jcr:etag与HTTP / 1.1强实体标签相当。

在创建mix:etag节点N或将mix:etag分配给N时,存储库必须创建具有实现确定值的jcr:etag属性。

如果对N进行以下任何更改,则jcr:etag属性的值必须立即更改:

将BINARY属性添加到N。

从N中删除了BINARY属性。

N的现有BINARY属性的值更改。

非结构化内容

可以通过支持自由格式的节点类型来提供对非结构化内容的支持:nt:unstructured。 支持此节点类型需要支持UNDEFINED属性类型值。

nt:unstructured

[nt:unstructured]

orderable

    • (UNDEFINED) multiple
    • (UNDEFINED)
    • (nt:base) = nt:unstructured sns VERSION

此节点类型用于存储非结构化内容。 它允许使用任意名称的任意数量的子节点或属性。 它还允许多个具有相同名称的节点以及具有任何名称的多值和单值属性。 此节点类型还支持客户端可订购的子节点。

待持续更新中。。。。。。。

【记录十九】JCR2.0 节点类型相关推荐

  1. 《Java 编程思想》--第十九章:枚举类型

    关键字enum可以将一组具名的值得优先级和创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用 enum的定义和使用方式方式: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  2. 农场游戏开发记录十九

    国庆第四天假期了.把买种子.种植.施肥.收获.贩卖.升级.展示的功能都和MongoDB挂接了.下面说下感受: 1,需要的类变少了很多.但也可能是我的设计架构没有弄好,有一些功能集中实现了. 2,目前对 ...

  3. (十九)jmeter3.0插件管理---学习笔记

    JMeter3.0_插件JMeter Plugins jemter plugins 一直以来,JMeter Plugins为我们提供了很多高价值的JMeter插件,比如: 用于服务器性能监视的Perf ...

  4. 数据库管理-第四十九期 Exadata的存储节点管理(20221223)

    数据库管理 2022-12-23 第四十九期 Exadata的存储节点管理 1 咋个查看数据是否被缓存到闪存卡了没 2 EM13.5的Exadata监控 3 存储降级 总结 第四十九期 Exadata ...

  5. C++语言学习(十九)——C++类型识别

    C++语言学习(十九)--C++类型识别 一.C++类型识别简介 1.C++类型识别简介 C++是静态类型语言,其数据类型是在编译期就确定的,不能在运行时更改. C++语言中,静态类型是对象自身的类型 ...

  6. 蓝桥杯单片机学习过程记录(二十九)第八届国赛超声波测距机

    蓝桥杯单片机学习过程记录(二十九)第八届国赛超声波测距机 题目如下: 已完成 应用的内容: EEPROM. 定时器.数码管 led灯,独立按键 DA电压输出 超声波测距 /* ------------ ...

  7. 【正点原子Linux连载】 第十九章 CAN Bus 摘自【正点原子】I.MX6U嵌入式Qt开发指南V1.0.2

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 3)全套实验源码+手册+视频下载地址: ...

  8. 【SQL开发实战技巧】系列(十九):数据仓库中时间类型操作(进阶)如何一个SQL打印当月或一年的日历?如何确定某月内第一个和最后—个周内某天的日期?

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

  9. Python编程基础:第四十九节 鸭子类型Duck Typing

    第四十九节 鸭子类型Duck Typing 前言 实践 前言 本节我们一起学习一个非常有趣的知识点:鸭子类型.有这么一句话:If it walks like a duck, and it quacks ...

最新文章

  1. matlab 转动惯量 叠加,一种汽车动力总成系统转动惯量合成方法
  2. python3 异常嵌套
  3. Educational Codeforces Round 41 E. Tufurama (961E)
  4. JQuery中的元素选择器
  5. 面试题40:数组中只出现一次的数字
  6. python中split啥意思_python中split的用法详解_后端开发
  7. 金融科技:中国农行研发中心DevOps规划与实践
  8. 连续自然数和(洛谷-P1147)
  9. 可访问性不一致 可访问性低_什么是网站可访问性?
  10. HNOI2010——弹飞绵羊(lct)
  11. unity, Gizmos.DrawMesh一个坑
  12. 2020中国区块链产业政策年度报告|链塔智库
  13. 工具类官网Web原型制作分享-Adobe
  14. 【预测模型】基于粒子群算法优化最小二乘支持向量机lssvm实现预测matlab源码
  15. Kali Linux工具大全-信息收集
  16. O-RAN专题系列-41:管理面-WG4.MP.V07-规范解读-第8章-故障管理FM
  17. CRC-16/MODBUS x16+x15+x2+1校验计算 C++
  18. 从小白的角度理解二项分布、几何分布和泊松分布
  19. 初识VB(一)——浏览文件并载入外部…
  20. 转载:Vsphere 出现 “ XXX esx.problem.hyperthreading.unmitigated.formatOnHost not found XXX”的解决方案

热门文章

  1. 【调参19】如何使用梯度裁剪(Gradient Clipping)避免梯度爆炸
  2. Es 超时设置 high-level-client
  3. 三星服务器内存条型号区分,三星内存条怎么样看型号(揭晓三星内存条查看技巧及报价)...
  4. Chicken first or egg?
  5. 崩坏3服务器维护2月8号,新版本上线!《崩坏3》2月8日新版本更新内容一览
  6. 海阔凭鱼跃天高任鸟飞
  7. 虚拟服务器主机涨价好多,虚拟主机涨钱了吗
  8. 汇编语言C什么意思,C和汇编的对应—main之前之后的汇编到底在干什么
  9. vscode写R语言代码
  10. Flume+Kafka双剑合璧玩转大数据平台日志采集