2011-11-08 20 views
6

Ho un problema con la convalida del mio file XML, dopo che è stato formattato automaticamente. La convalida non taglia la stringa prima di convalidarla. Si tratta di un bug nell'implementazione della convalida XML di .NET o questo comportamento è accettato? Se viene accettato il comportamento, come vengono gestiti normalmente casi come questo, perché, a mio parere, i due file XML sono equivalenti.Convalida dello schema non trimming stringhe prima della convalida

mio XSD:

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

mio XML prima di formattare (validazione passa):

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

Dopo la formattazione (convalida non riesce):

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

risposta

3

tuo validatore si sta comportando in modo corretto, dato il modo in cui lo schema è definito. È necessario interrompere il formattatore prendendo tali libertà con il contenuto, o è necessario modificare lo schema, ad esempio rendendo ItemTypeData una restrizione di xs: token anziché xs: string (in xs: token, viene preso in considerazione lo spazio vuoto iniziale e finale insignificante).

+0

Grazie mille! xs: token è quello che stavo cercando. –

Problemi correlati