【问题标题】:Creating Schemas with field constraints in SDL Tridion 2011 SP1 using Core Service使用核心服务在 SDL Tridion 2011 SP1 中创建具有字段约束的架构
【发布时间】:2012-04-09 06:57:30
【问题描述】:

我正在使用 SDL Tridion 2011 SP1 中的 Core Service 2011 创建架构。

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

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

  • 姓名:bodyparagraphtext
  • 类型:text,长度为 10 个字符

谁能分享一些关于它的想法?

谢谢

【问题讨论】:

    标签: tridion


    【解决方案1】:

    查看 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 节点中。

    【讨论】:

    • 我的目标不是关于最小长度和最大长度。我想创建一个数据类型,就像文本、日期等内置字段类型一样。
    • 感谢您的建议。我会清楚地解释这个要求。我想创建一个自定义字段类型,就像文本、数字、日期等类型一样。假设我想创建一个具有一些自定义要求的字段类型为“ABCD”。
    【解决方案2】:

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

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

    当然,Tridion 接受的任何模式都可以通过核心服务创建,但首先,我建议手动创建模式,然后使用代码来使用注释并实现更丰富的功能。

    【讨论】:

      【解决方案3】:

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

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

      据我所知,无法添加到此列表中。

      为什么需要新的字段类型?也许通过更多细节,我们可以帮助您找到正确的解决方案。

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

      更多详情请见herehere

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

      【讨论】:

      • 应用程序数据在这方面有何帮助,Dave?我没看到。
      • 嗯,我真的不明白 Muzimil 的要求,这就是为什么我要求更详细的原因。但是使用应用程序数据,他可以存储有关基于特定模式的组件的附加信息吗?看起来他正在寻找一种方法来做到这一点?
      猜你喜欢
      • 1970-01-01
      • 2012-04-11
      • 1970-01-01
      • 1970-01-01
      • 2012-11-29
      • 2012-05-19
      • 1970-01-01
      • 2012-04-21
      • 2012-03-24
      相关资源
      最近更新 更多