Pessoal,
estou utilizando uma validação de arquivo xml com o xsd, porém quando o meu VALOR possui & (comercial) o arquivo XML não passa na validação alguém poderia me dizer se já passou por isso? e como resolveu?
abaixo o arquivo xml que não passou na validação
<?xml version="1.0" encoding="UTF-8"?>
<GE_DEC>
<DADOS_GEDEC mes="6" ano = "2011">
<CARGA_GEDEC cdUsina="10019">
<VALORES valor ="!@#$%,¨&*()">
</VALORES>
</CARGA_GEDEC>
</DADOS_GEDEC>
<DADOS_GEDEC mes="7" ano = "2011">
<CARGA_GEDEC cdUsina="10019">
<VALORES valor ="1,00000">
</VALORES>
</CARGA_GEDEC>
</DADOS_GEDEC>
<DADOS_GEDEC mes="8" ano = "2011">
<CARGA_GEDEC cdUsina="10019">
<VALORES valor ="10,00000">
</VALORES>
</CARGA_GEDEC>
</DADOS_GEDEC>
</GE_DEC>
abaixo meu arquivo XSD utilizado para validação.
<?xml version="1.0" encoding="UTF-8"?><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="GE_DEC">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="DADOS_GEDEC" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="CARGA_GEDEC" nillable="false" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="VALORES">
<xsd:complexType mixed="true">
<xsd:attribute name="valor" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="cdUsina" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="ano" type="xsd:integer" use="required"/>
<xsd:attribute name="mes" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="12"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Como vocês podem ver o valor é string e não está aceitando o caracter ‘&’ é só eu remover esse caracter do meu XML que o arquivo passa na validação.