我无法创建 xsd 文件来验证评论元素。
<b>, <i>, <ul>
我能够满足 1. 和 2.,但如何添加长度限制?
非常感谢您的帮助! 安德烈亚斯
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="Test">
<xs:complexType>
<xs:sequence>
<xs:element name="comment" type="FormattedText" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="FormattedText" mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="b" minOccurs="0" />
<xs:element ref="i" minOccurs="0" />
<xs:element ref="ul" minOccurs="0" />
</xs:choice>
</xs:complexType>
<xs:complexType name="ULType">
<xs:sequence>
<xs:element
name="li"
minOccurs="1"
maxOccurs="unbounded">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="b" minOccurs="0" />
<xs:element ref="i" minOccurs="0" />
<xs:element ref="ul" minOccurs="0" />
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="b" type="FormattedText" />
<xs:element name="i" type="FormattedText" />
<xs:element name="ul" type="ULType" />
</xs:schema>
这是 xml 的示例:
<?xml version="1.0" encoding="UTF-8"?>
<Test>
<comment>
Abstellorte:
<ul>
<li>Hinter <b>To<i>r</i></b></li>
<li>Am <i>Fenster</i></li>
</ul>
</comment>
</Test>
您可以在 XSD 1.1 中使用断言来执行此操作:
test="string-length(.) le 60"
。在 XSD 1.0 中无法完成。