5

我的架构源如下所示:

<xsd:schema xmlns="uuid:b8fd4596-56ec-4718-ad00-bf2a70a148c2" xmlns:tcmi="http://www.tridion.com/ContentManager/5.0/Instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="uuid:b8fd4596-56ec-4718-ad00-bf2a70a148c2">
<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="description" Metadata="false">Description</tcm:Label>
            <tcm:Label ElementName="multiline" Metadata="false">Multiline</tcm:Label>
        </tcm:Labels>
    </xsd:appinfo>
</xsd:annotation>
<xsd:element name="Blog">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element name="description" minOccurs="0" maxOccurs="1">
                <xsd:annotation>
                    <xsd:appinfo>
                        <tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0"></tcm:ExtensionXml>
                    </xsd:appinfo>
                </xsd:annotation>
                <xsd:simpleType>
                    <xsd:restriction base="xsd:normalizedString">
                        <xsd:minLength value="1"></xsd:minLength>
                        <xsd:maxLength value="20"></xsd:maxLength>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="multiline" minOccurs="0" maxOccurs="1" type="tcmi:MultiLineText">
                <xsd:annotation>
                    <xsd:appinfo>
                        <tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0">
                            <configuration xmlns="http://www.sdltridion.com/2011/SiteEdit">
                                <field>
                                    <editable>true</editable>
                                </field>
                            </configuration>
                        </tcm:ExtensionXml>
                        <tcm:Size xmlns:tcm="http://www.tridion.com/ContentManager/5.0">5</tcm:Size>
                    </xsd:appinfo>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element></xsd:schema>

我可以对“xsd:normalizedString”类型字段使用maxlengthminLength限制,但不能对“tcmi:MultiLineText”类型使用相同的限制。任何人都知道我怎样才能在那种类型的领域使用它们?

如果无法在该领域使用该限制,我知道还有其他方法可以验证 Tridion 中保存的内容(正如 Nuno 和 Robert 在http://nunolinhares.blogspot.com.es/2012/07/validating中解释的那样-content-on-save-part-1-of.htmlhttp://www.curlette.com/?p=913,感谢您的工作!)但我想找到一个避免使用事件的解决方案。还有其他想法吗?

4

1 回答 1

8

Unfortunately this can not be done on multi-line fields. This holds true for both RTF enabled fields and multi-line plain text fields.

This is by design (and actually makes a lot of sense), as trying to limit text is normally to do with the amount of space used by the text, and these fields support line breaks (and other formatting in the case of RTF enabled fields) so the string length has little to do with the space used by the text.

If your field is an RTF field, you could write a "Truncate" XSLT to apply to the text. Otherwise you will need to use one of the solutions you have referenced above.

Alternatively you might consider truncating the text with your output templates if it is too long.

于 2013-01-18T14:07:22.493 回答