使用Core Service在SDL Tridion 2011 SP1中创建具有字段约束的模式

时间:2012-04-09 06:57:30

标签: tridion

我正在使用SDL Tridion 2011 SP1中的Core Service 2011开发Schema。

我只是想知道是否可以使用核心服务创建自定义数据类型(或实际上是Schema字段内容的验证器)。

例如:我想创建一个包含以下详细信息的Schema字段:

  • 姓名:bodyparagraphtext
  • 键入:text,长度为10个字符

有人可以分享一些想法吗?

谢谢

3 个答案:

答案 0 :(得分:7)

在发布SDL Tridion 2011 SP1Implementing Content Manager features / Schemas / Constraining field content部分(链接here)下查看实时文档门户。

我认为您要找的是minLength / maxLength方面,甚至可能是正则表达式pattern

使用Core Service创建Schema时,您需要做的就是将这些XML节点插入Schema Content节点。

答案 1 :(得分:6)

Tridion自己的架构实现使用XSD appinfo annotations来覆盖基本数据类型的更丰富的功能。例如,以这种方式控制不同的用户界面选项。原则上,这不是Xml Schema validation 的一部分,但您可以添加自己的注释来控制自己的验证代码,比如在事件系统和GUI扩展中。

我刚检查过,如果您添加自己的注释,Tridion会正确存储它们。添加此类注释似乎不会阻止将架构视为Tridion Web架构(具有完整的用户界面支持),这很好,否则您必须自己构建所有内容。 Tridion为其注释数据使用自己的命名空间,因此如果您将自己的注释放入自己的命名空间,则不应该存在混淆。

当然,Tridion可以接受的任何架构都可以通过核心服务创建,但在第一个实例中,我建议手动创建架构,然后使用代码来使用注释并实现更丰富的功能。

答案 2 :(得分:5)

您对Mihai回答的评论表明您想要的是新的架构字段类型。 Tridion模式支持以下字段类型:

  • 文字字段
  • 数字字段
  • 日期字段
  • 嵌入式架构
  • 外部链接
  • 多媒体链接
  • 组件链接

据我所知,添加到此列表是不可能的。

为什么需要新的字段类型?也许有一些更详细的信息,我们可以帮助您找到正确的解决方案。

我不知道更多,我能想到的只是应用数据。这是一个新的Tridion 2011功能,允许您针对任何Tridion项目设置自定义数据,但此数据在Tridion GUI中不可见。它只能使用API​​进行设置和读取。

可以找到更多详细信息herehere

如果您认为这不会对您有所帮助,请提供有关此要求原因的更多信息。