我正在使用SDL Tridion 2011 SP1中的Core Service 2011开发Schema。
我只是想知道是否可以使用核心服务创建自定义数据类型(或实际上是Schema字段内容的验证器)。
例如:我想创建一个包含以下详细信息的Schema字段:
bodyparagraphtext
text
,长度为10个字符有人可以分享一些想法吗?
谢谢
答案 0 :(得分:7)
在发布SDL Tridion 2011 SP1
,Implementing 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进行设置和读取。
如果您认为这不会对您有所帮助,请提供有关此要求原因的更多信息。