首页 > 解决方案 > XML 模式验证模式限制错误

问题描述

我有以下文件:

a.xml

<?xml version="1.0"?>
<e xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="a.xsd">
  2
</e>

a.xsd

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="e">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>
</xs:schema>

验证时我得到:

错误:(4, 5) cvc-pattern-valid:值 '2' 对于类型 '#AnonType_e' 的模式 '[0-9]' 不是 facet-valid。

我究竟做错了什么?

标签: xmlvalidationdesign-patternsxsdrestriction

解决方案


您可以更改模式以允许周围的空格,或者您可以添加空格方面 (="collapse") 以强制在应用模式之前忽略空格。


推荐阅读