2017-02-22 7 views
1

XML-выглядит следующим образом:Можно ли обрезать значение тега перед проверкой в ​​XSD?

<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>` 

UPDATE

Это работает, если добавить в 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

Если тип элемента NAME выводится из хз: токен (или что-либо еще с фасеткой «collapse»), то тест уникальности будет применяться к значению после пробела-t римминг.

+0

Михаил, спасибо, он работает с 'collapse', но не работает с' replace'. – May12

Смежные вопросы