是否可以在XSD验证之前修剪标签值?

时间:2017-02-22 09:13:35

标签: xml xsd xsd-validation

xml看起来像:

<Asset>
    <NAME>XX905886XX58</NAME>
</Asset>
<Asset>
    <NAME>XX905886XX58             </NAME>
</Asset>`

我在xsd文件中验证了重复的<NAME>标记。 但是,在下面描述的XML中,我想在修剪后验证<NAME>。 问题是:在验证之前是否可以修改值?何在xsd中做到这一点?

我的xsd验证码:

<xs:unique name="UniqueAsset">
  <xs:selector xpath="Asset"/>
  <xs:field xpath="NAME"/>
</xs:unique>`

更新

如果添加到XSD <xs:whiteSpace value="collapse"/>

,则有效
  <xs:element name="NAME">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:whiteSpace value="collapse"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

1 个答案:

答案 0 :(得分:1)

如果元素NAME的类型是从xs:token(或其他任何具有空白构面&#34; collapse&#34;)的类型派生的,那么唯一性测试将应用于空白修剪后的值。