【发布时间】:2012-04-09 06:57:30
【问题描述】:
我正在使用 SDL Tridion 2011 SP1 中的 Core Service 2011 创建架构。
我只是想知道是否可以使用核心服务创建自定义数据类型(或者实际上是架构字段内容的验证器)。
例如:我想创建一个包含以下详细信息的 Schema 字段:
- 姓名:
bodyparagraphtext - 类型:
text,长度为 10 个字符
谁能分享一些关于它的想法?
谢谢
【问题讨论】:
标签: tridion
我正在使用 SDL Tridion 2011 SP1 中的 Core Service 2011 创建架构。
我只是想知道是否可以使用核心服务创建自定义数据类型(或者实际上是架构字段内容的验证器)。
例如:我想创建一个包含以下详细信息的 Schema 字段:
bodyparagraphtext
text,长度为 10 个字符谁能分享一些关于它的想法?
谢谢
【问题讨论】:
标签: tridion
查看 Live Documentation Portal,发布在 SDL Tridion 2011 SP1 下,Implementing Content Manager features / Schemas / Constraining field content 部分(链接 here)。
我认为您正在寻找的是 minLength / maxLength 方面,甚至可能是正则表达式 pattern。
使用 Core Service 创建 Schema 时,您只需将这些 XML 节点插入到 Schema Content 节点中。
【讨论】:
Tridion 自己的架构实现使用XSD appinfo annotations 在基本数据类型之上提供更丰富的功能。例如,以这种方式控制不同的用户界面选项。原则上,这不是 Xml Schema validation 的一部分,但您可以添加自己的注释来控制自己的验证代码,例如在事件系统和 GUI 扩展中。
我刚刚检查过,如果您添加自己的注释,Tridion 将正确存储它们。添加此类注释似乎不会阻止架构被视为 Tridion Web 架构(具有完整的用户界面支持),这很好,否则您必须自己构建所有内容。 Tridion 对其注解数据使用自己的命名空间,因此如果您将自己的注解放入自己的命名空间中,应该不会造成混淆。
当然,Tridion 接受的任何模式都可以通过核心服务创建,但首先,我建议手动创建模式,然后使用代码来使用注释并实现更丰富的功能。
【讨论】:
您对 Mihai 的回答的评论表明您想要的是一种新的模式字段类型。 Tridion 模式支持以下字段类型:
据我所知,无法添加到此列表中。
为什么需要新的字段类型?也许通过更多细节,我们可以帮助您找到正确的解决方案。
不知道更多,我能想到的只有应用程序数据。这是 Tridion 2011 的一项新功能,允许您针对任何 Tridion 项目设置自定义数据,但此数据在 Tridion GUI 中不可见。只能使用 API 设置和读取。
如果您认为这对您没有帮助,请提供有关此要求原因的更多信息。
【讨论】: