SDL Tridion使用XML模式定义来定义存储在Tridion组件中的内容。 XSD可以使用 restrictions/facets 或 indicators 来限制对XML节点有效的内容。
Chris Summers found some of these不小心接受了培训,特别是我们可以在SDL Tridion 2011中设置minOccurs
和maxOccurs
指标,如下所示:
<xsd:element name="someField" minOccurs="2" maxOccurs="5" type="xsd:normalizedString">
Andrey Marchuk在同一篇文章中提到了其他选项:
指示器
MaxValue
MinValue
限制
FractionDigits
MaxLength
MinLength
Pattern
TotalDigits
顺便说一下,这些是特定于XSD的吗?
IsMaxValueExclusive
IsMinValueExclusive
如何将* 限制 纳入以下示例Tridion架构(来源)? *
<xsd:schema xmlns="http://createandbreak.net/schema/example" xmlns:tcmi="http://www.tridion.com/ContentManager/5.0/Instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://createandbreak.net/schema/example">
<xsd:import namespace="http://www.tridion.com/ContentManager/5.0/Instance"></xsd:import>
<xsd:annotation>
<xsd:appinfo>
<tcm:Labels xmlns:tcm="http://www.tridion.com/ContentManager/5.0">
<tcm:Label ElementName="someField" Metadata="false">someField</tcm:Label>
</tcm:Labels>
</xsd:appinfo>
</xsd:annotation>
<xsd:element name="Content">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="someField" minOccurs="2" maxOccurs="5" type="xsd:normalizedString">
<xsd:annotation>
<xsd:appinfo>
<tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0"></tcm:ExtensionXml>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
要取example from W3Schools,这将是一个非Tridion XSD,使用正则表达式将字段限制为5位数:
<xs:element name="prodid">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:pattern value="[0-9][0-9][0-9][0-9][0-9]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
我尝试将xs
命名空间更改为xsd
,但我不确定(Tridion)架构中XSD限制的位置。
答案 0 :(得分:4)
我相信XS和XSD在这里有些不相关。两者实际上都是名称空间前缀,它们引用相同的名称空间。这在this post。
中有所描述如果您查看所引用网站(http://www.w3schools.com/schema/default.asp)中的示例,您会看到xs
名称空间前缀引用的http://www.w3.org/2001/XMLSchema
与xsd
相同在Tridion架构中。
E.g。
因此xsd与xs相同。
或者我完全错过了你的观点?
如果您只是查看如何应用限制,这来自SDL Tridion文档(here但需要密码):
<xsd:element name="NumberFieldWithMultipleFacets">
<xsd:simpleType>
<xsd:restriction base="xsd:decimal">
<xsd:totalDigits value="4"/>
<xsd:fractionDigits value="2"/>
<xsd:minInclusive value="10"/>
<xsd:maxInclusive value="20"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
答案 1 :(得分:1)
如果您正在寻找Xml架构中可能的方面列表,那么您需要查看here。也许那么检查Tridion
中哪些受到尊重/支持是一件简单的事情答案 2 :(得分:1)
我仍然想念xsd:ID,例如,在WebForms中运行(是的,从版本1.0开始),但在最新的SDL Tridion GUI中没有(2013年除外,未经测试)。
我希望所有有效的xsd都能在Tridion GUI中运行。
例如,当您将文本字段限制为min =“30”max =“70”字符时,内容编辑者将看到一个计数器。
将是一个非常好的GUI更新。 因为它可以在普通(!)Tridion GUI中使WebForms成为可能。 然后,内容管理可以创建新字段。 创建新的HTML5 webforms(经过测试!)需要不到2分钟。
因此请将GUI更新为完整的xsd支持。