2011-11-08 19 views
6

Tengo un problema con la validación de mi archivo XML, después de que se ha formateado automáticamente. La validación no recorta la cadena antes de validarla. ¿Es esto un error en la implementación de la validación XML de .NET o es este comportamiento aceptado? Si es un comportamiento aceptado, ¿cómo se manejan normalmente casos como este, porque en mi opinión, los dos archivos XML son equivalentes?Validación de esquema no recorte de cadenas antes de validar

Mi XSD:

<xs:schema ...> 
    ... 
    <xs:simpleType name="ItemTypeData"> 
    <xs:restriction base="xs:string"> 
     <xs:enumeration value="ItemA" /> 
    </xs:restriction> 
    </xs:simpleType> 
</xs:schema> 

Mi XML antes de formatear (validación pasa):

... 
<ItemType>ItemA</ItemType> 
... 

Después de formatear (validación falla):

... 
<ItemType> 
    ItemA 
</ItemType> 
... 

Respuesta

3

Su validador se está comportando correctamente, dada la forma en que se define el esquema. Necesita detener al formateador tomando tales libertades con el contenido, o necesita cambiar el esquema; por ejemplo, haciendo que ItemTypeData sea una restricción de xs: token en lugar de xs: string (en xs: token, se considera el espacio en blanco inicial y final) insignificante).

+0

¡Muchas gracias! xs: token es lo que estaba buscando. –