SDL Tridion 使用 XML 模式定义来定义存储在 Tridion 组件中的内容。XSD 可以使用限制/方面或指示符来限制对 XML 节点有效的内容。
Chris Summers在训练中偶然发现了其中一些,特别是我们可以在 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>
以W3Schools 为例,这将是一个使用正则表达式将字段限制为 5 位的非 Tridion XSD:
<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
但我不确定 XSD 限制在 (Tridion) 架构中的位置。