我有一个 XSD 元素定义如下:
<xsd:simpleType name="string1500">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="1500" />
</xsd:restriction>
</xsd:simpleType>
此元素通过以下方式在另一个 XSD 中引用:
<xsd:element minOccurs="0" name="Description" type="bons3:string1500" />
(bons3 在两个 XSD 中引用相同的命名空间。)
当长度为 2000 个字符的字符串传递到 XSLT 中的“描述”字段时,即使设置了 1500 个字符的限制,所有 2000 个字符也会被保留。我是否设置了错误的限制,或者是否有其他方法可以确保 XSD 中该字段的最大长度为 1500 个字符?
谢谢。
最佳答案
XSLT 和 XSD 是两个不同的东西。 XSLT 1.0 不关心 XSD 或任何其他 XML 模式语言。 XSLT 2.0 引入了 XSD 感知扩展,您必须为此找到合适的 XSLT 处理器,这可能会阻止您处理 XML;但是,它不会自动使其有效。
关于xml - 为什么 XSD 中的 "maxLength"属性不限制返回的字符数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14219346/