Hola a Todos
Tengo la siguiente consulta , estoy tratando de validar un Schema XML , y me sale error, al parecer por que en el código no esta declarado el siguiente tipo de dato "BCE:t_Importe" , he tratado de declararlo pero igual sale un error .
Este es el XML original:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="Balanza"> <xs:annotation> <xs:documentation>Formato de archivo de balanza de comprobación que se entrega como parte de la Contabilidad electrónica.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Ctas" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Nodo obligatorio para expresar el detalle de cada cuenta de la balanza </xs:documentation> </xs:annotation><xs:complexType> <xs:attribute name="NumCta" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar el número de cuenta, subcuenta o partida asignada por el contribuyente</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:maxLength value="100"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="SaldoIni" type="BCE:t_Importe" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar el monto del saldo inicial de la cuenta, subcuenta o partida en el periodo</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="Debe" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar el monto de los movimientos deudores de la cuenta, subcuenta o partida</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="BCE:t_Importe"/> </xs:simpleType> </xs:attribute> <xs:attribute name="Haber" type="BCE:t_Importe" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar el monto de los movimientos acreedores de la cuenta, subcuenta o partida</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="SaldoFin" type="BCE:t_Importe" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar el monto del saldo final de la cuenta, subcuenta o partida en el periodo</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Version" type="xs:string" use="required" fixed="1.0"> <xs:annotation> <xs:documentation>Atributo requerido para la expresión de la versión del formato</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="RFC" use="required"><xs:annotation> <xs:documentation>Atributo requerido para expresar el RFC del contribuyente que envía los datos</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="12"/> <xs:maxLength value="13"/> <xs:whiteSpace value="collapse"/> <xs:pattern value="[A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="TotalCtas" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar el número cuentas que se relacionan en la balanza</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="2"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="Mes" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar el mes al que corresponde la balanza</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="01"/> <xs:enumeration value="02"/> <xs:enumeration value="03"/> <xs:enumeration value="04"/> <xs:enumeration value="05"/> <xs:enumeration value="06"/> <xs:enumeration value="07"/> <xs:enumeration value="08"/> <xs:enumeration value="09"/> <xs:enumeration value="10"/> <xs:enumeration value="11"/> <xs:enumeration value="12"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="Ano" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar el año al que corresponde la balanza</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="2014"/> <xs:maxInclusive value="2099"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element></xs:schema>
Y este trate de modificar con la declaración:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:BCE="http://www.w3.org/2001/XMLSchema"><BCE:simpleType name="t_Importe"><BCE:restriction base="xs:decimal"><BCE:minInclusive value="-99999999999999.99"/><BCE:maxInclusive value="99999999999999.99"/></BCE:restriction></BCE:simpleType><xs:element name="Balanza"> <xs:annotation> <xs:documentation>Formato de archivo de balanza de comprobación que se entrega como parte de la Contabilidad electrónica.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Ctas" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Nodo obligatorio para expresar el detalle de cada cuenta de la balanza </xs:documentation> </xs:annotation><xs:complexType> <xs:attribute name="NumCta" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar el número de cuenta, subcuenta o partida asignada por el contribuyente</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:maxLength value="100"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="SaldoIni" type="BCE:t_Importe" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar el monto del saldo inicial de la cuenta, subcuenta o partida en el periodo</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="Debe" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar el monto de los movimientos deudores de la cuenta, subcuenta o partida</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="BCE:t_Importe"/> </xs:simpleType> </xs:attribute> <xs:attribute name="Haber" type="BCE:t_Importe" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar el monto de los movimientos acreedores de la cuenta, subcuenta o partida</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="SaldoFin" type="BCE:t_Importe" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar el monto del saldo final de la cuenta, subcuenta o partida en el periodo</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Version" type="xs:string" use="required" fixed="1.0"> <xs:annotation> <xs:documentation>Atributo requerido para la expresión de la versión del formato</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="RFC" use="required"><xs:annotation> <xs:documentation>Atributo requerido para expresar el RFC del contribuyente que envía los datos</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="12"/> <xs:maxLength value="13"/> <xs:whiteSpace value="collapse"/> <xs:pattern value="[A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="TotalCtas" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar el número cuentas que se relacionan en la balanza</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="2"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="Mes" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar el mes al que corresponde la balanza</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="01"/> <xs:enumeration value="02"/> <xs:enumeration value="03"/> <xs:enumeration value="04"/> <xs:enumeration value="05"/> <xs:enumeration value="06"/> <xs:enumeration value="07"/> <xs:enumeration value="08"/> <xs:enumeration value="09"/> <xs:enumeration value="10"/> <xs:enumeration value="11"/> <xs:enumeration value="12"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="Ano" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar el año al que corresponde la balanza</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="2014"/> <xs:maxInclusive value="2099"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element></xs:schema>
Le agradeceria sus sugerenencias
Saludos
Hector Valdiviezo