如何在XSD中要求比空白更多的内容?

时间:2018-08-27 15:59:01

标签: regex xml xsd xsd-validation xml-validation

在开发正则表达式时遇到了问题,该表达式使我可以检查以下内容:

标记文字不是:

<TextTag></TextTag>

空白

<TextTag>    </TextTag>

换行符

<TextTag>
</TextTag>

但是同时要在文本中间允许任何空格和换行符,如下所示:

<TextTag>this would 
be an example </TextTag>

我能到达的最近距离是.*[^\s-].*,但是当中间出现换行符时,就像我给你的例子一样,它失败了。

你知道我该怎么做吗?

1 个答案:

答案 0 :(得分:0)

您可以将xsd:whiteSpace切面与value="collapse"一起使用,并且长度至少为1:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="MoreThanWhiteSpaceElement">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:whiteSpace value="collapse"/>
        <xs:minLength value="1"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
</xs:schema>