I am using JAXP 1.2 to validate my XML files. However, recently I have come to question its validation.
I compared the results of validating this XM with this XSD using the SAXLocalNameCount tutorial example and this site:
http://apps.gotdotnet.com/xmltools/xsdvalidator/Default.aspx . The Java SAXLocalNameCount sample doesn't detect errors, the site, however does detect 2 (which is
the correct behavior). Do I have to specify some other version of JAXP ? Do I have to set some validating "strictness"?
Thanks for your help
XML FILE:
<!-- edited by Ricardo Cámara (Comisión Nacional Bancaria y de Valores) --><!--Definicion de un XML con datos en blanco--><!--Datos que identifican de manera unica el documento (mismos que se utilizan en su estructura de directorio)--><datos_xml>
<identifica anio="2013" id_doc="29" institucion="999" periodo="277" version_doc="1"/>
<encabezado clave_de_la_sociedad="ING-
IPC" fecha="14072005" informacion_financiera="D"
>
<anexo18 cons_det_ref="600010" importes="0" porcentaje="0000.000" precio="0000000.000000" renglon="2001" serie="B " titulos="0"/>
<anexo18 cons_det_ref="600020" importes="0" porcentaje="000.000" precio="0000000.000000" renglon="2002" serie="B " titulos="0"/>
<anexo18 cons_det_ref="600011" importes="0" porcentaje="000.000" precio="0000002.417723" renglon="2003" serie="B " titulos="0"/>
<anexo18 cons_det_ref="600021" importes="0" porcentaje="000.000" precio="0000002.417723" renglon="2004" serie="B " titulos="0"/>
</encabezado>
</datos_xml>
Schema:
<!-- edited by Ricardo Cámara (Comisión Nacional Bancaria y de Valores) -->
<xs:schema elementFormDefault="qualif
ied"
xmlns:xs="
http://www.w3.org/2001/XMLSchema">
<xs:element name="anexo">
<xs:complexType>
<xs:attribute name="renglon" type="xs:int" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="anexo1" >
<xs:complexType>
<xs:attribute name="renglon" type="xs:int" use="required"/>
<xs:attribute name="diversificada_o_espe
cializada"
use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2"/>
<xs:pattern value="D |E | D| E"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tipificacion" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="cuenta_completa" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="saldo" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="anexo2" >
<xs:complexType>
<xs:attribute name="renglon" type="xs:int" use="required"/>
<xs:attribute name="diversificada_o_espe
cializada"
use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2"/>
<xs:pattern value="D |E | D| E"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tipificacion" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="cons_cartera" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tipo_inv" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="emisora">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="serie">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tv" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tasa_valuar" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="6"/>
<xs:fractionDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tipo_tasa">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="calificacion_anx">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="num_titulos" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="costo_unit" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="13"/>
<xs:fractionDigits value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="costo_tot" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="val_mkdo_unit" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="13"/>
<xs:fractionDigits value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="val_mkdo_tot" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="dias_x_ven" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tot_titulos_emision"
use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="det_diaria">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="det_mensual">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="cve_empresa">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="cve_gpo_empresa">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="cve_agrup">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="cupon">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="isin">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="16"/>
<xs:pattern value=" {0,4}([A-Z]{2}([A-Z]|[0-9]
){9}[0-9]{
1} {0,4})| {16}"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pais_isin">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="anexo3" >
<xs:complexType>
<xs:attribute name="renglon" type="xs:int" use="required"/>
<xs:attribute name="cons_det_par" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pct" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="6"/>
<xs:fractionDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pesos" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="18"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="anexo4">
<xs:complexType>
<xs:attribute name="renglon" type="xs:int" use="required"/>
<xs:attribute name="cons_compra_vta" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tipo_inv" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="emisora">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="serie">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tv">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="num_titulos" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="costo_unit" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="13"/>
<xs:fractionDigits value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="int_liq" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="13"/>
<xs:fractionDigits value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tipo_liq">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tasa_valuar" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="6"/>
<xs:fractionDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tipo_tasa">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="dias_x_ven" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pzo" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ref_reporto">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="f_operacion">
<xs:simpleType>
<xs:restriction base="fecha"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="comision_liq">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="18"/>
<xs:fractionDigits value="0"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="iva_comision">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="18"/>
<xs:fractionDigits value="0"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="cupon">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="isin">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="16"/>
<xs:pattern value=" {0,4}([A-Z]{2}([A-Z]|[0-9]
){9}[0-9]{
1} {0,4})| {16}"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pais_isin">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="hora_compra_vta">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="contraparte">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="16"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="anexo5" >
<xs:complexType>
<xs:attribute name="renglon" type="xs:int" use="required"/>
<xs:attribute name="cons_param" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tipo_inv">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="emisora">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="serie">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tv">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="saldo_mensual" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pct_act_tot" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="6"/>
<xs:fractionDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pct_emision" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="6"/>
<xs:fractionDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="isin">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="16"/>
<xs:pattern value=" {0,4}([A-Z]{2}([A-Z]|[0-9]
){9}[0-9]{
1} {0,4})| {16}"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="anexo7">
<xs:complexType>
<xs:attribute name="renglon" type="xs:int" use="required"/>
<xs:attribute name="cons_adquis_rep" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="prorroga">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="emisora">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="serie">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tv" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="num_titulos" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="imp_mkdo_tot" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ref_reporto">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="reportada" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="dias_venc_rep" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pzo_tot" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tasa_premio" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="6"/>
<xs:fractionDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="prec_pac" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="13"/>
<xs:fractionDigits value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="imp_pac" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="isin">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="16"/>
<xs:pattern value=" {0,4}([A-Z]{2}([A-Z]|[0-9]
){9}[0-9]{
1} {0,4})| {16}"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="anexo10" >
<xs:complexType>
<xs:attribute name="renglon" type="xs:int" use="required"/>
<xs:attribute name="cons_val_prestados" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="prorroga">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="emisora">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="serie">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tv" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="calificacion_anx">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="num_titulos_prestado
s" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="dias_x_ven" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="num_acta_prestamo" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="12"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="premio" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="f_ini_prestamo" use="required">
<xs:simpleType>
<xs:restriction base="fecha"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="f_fin_prestamo" use="required">
<xs:simpleType>
<xs:restriction base="fecha"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="num_prorroga">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="12"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="emisora_gar" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="serie_gar" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tv_gar" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="calificacion_gar">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="num_titulos_gar" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="imp_gar" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pct_pres_cartera" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="6"/>
<xs:fractionDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="isin_pres">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="16"/>
<xs:pattern value=" {0,4}([A-Z]{2}([A-Z]|[0-9]
){9}[0-9]{
1} {0,4})| {16}"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="isin_rec">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="16"/>
<xs:pattern value=" {0,4}([A-Z]{2}([A-Z]|[0-9]
){9}[0-9]{
1} {0,4})| {16}"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="anexo13" >
<xs:complexType>
<xs:attribute name="renglon" type="xs:int" use="required"/>
<xs:attribute name="cons_estruc_acc" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="id_grupo">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="nombre">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="60"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="puesto">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="60"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="profesion">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="30"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="num_reg_shcp">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tipo_asamblea">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="18"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="f_asamblea" use="required">
<xs:simpleType>
<xs:restriction base="fecha"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tipo_poder">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="num_acc" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="serie">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="val_nom" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="18"/>
<xs:fractionDigits value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="imp_tot" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pct_min_fij" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="6"/>
<xs:fractionDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pct_tot_circ" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="6"/>
<xs:fractionDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="f_ini_mod">
<xs:simpleType>
<xs:restriction base="fecha"/>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="anexo14" >
<xs:complexType>
<xs:attribute name="renglon" type="xs:int" use="required"/>
<xs:attribute name="cons_provis_int" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tipo_inv" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="emisora">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="serie">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tv">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="num_titulos" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="num_cupon" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="num_per" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="f_ini_per" use="required">
<xs:simpleType>
<xs:restriction base="fecha"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="f_fin_per" use="required">
<xs:simpleType>
<xs:restriction base="fecha"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="num_dias_per" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="val_nom_ajus" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="18"/>
<xs:fractionDigits value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="val_nom_calc" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="18"/>
<xs:fractionDigits value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tasa_int" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="6"/>
<xs:fractionDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tipo_tasa">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="inflacion" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="18"/>
<xs:fractionDigits value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="imp_mkdo" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="18"/>
<xs:fractionDigits value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="int_devengados" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="anexo16" >
<xs:complexType>
<xs:attribute name="renglon" type="xs:int" use="required"/>
<xs:attribute name="cons_agrup" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tipo_inv" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="emisora" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="serie">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tv">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pct">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="6"/>
<xs:fractionDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="cons_agrup_par">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="cve_empresa">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="cve_grupo_emp">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="param_obt">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="6"/>
<xs:fractionDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="fuente_param">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pct_param_min">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="6"/>
<xs:fractionDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pct_param_max">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="6"/>
<xs:fractionDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="mot_exc_insuf">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="5"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="exc_insuf">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="6"/>
<xs:fractionDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="isin">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="16"/>
<xs:pattern value=" {0,4}([A-Z]{2}([A-Z]|[0-9]
){9}[0-9]{
1} {0,4})| {16}"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="anexo18" >
<xs:complexType>
<xs:attribute name="renglon" type="xs:int"
use="required" />
<xs:attribute name="serie">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="cons_det_ref"
use="required">
<xs:simpleType>
<xs:restriction base="xs:integer" />
</xs:simpleType>
</xs:attribute>
<xs:attribute name="porcentaje"
use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="6" />
<xs:fractionDigits value="3" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="importes" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer" />
</xs:simpleType>
</xs:attribute>
<xs:attribute name="titulos" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer" />
</xs:simpleType>
</xs:attribute>
<xs:attribute name="precio" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="13" />
<xs:fractionDigits value="6" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<!--Elemento al que se van a agregar todos los elementos que no formen parte del header-->
<!--Elemento al que se van a agregar todos los elementos header-->
<xs:element name="datos_xml">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<xs:element ref="identifica" maxOccurs="1" minOccurs="1"/>
<xs:element ref="encabezado" maxOccurs="unbounded"
minOccurs="1">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="identifica">
<xs:complexType>
<xs:attribute name="anio" type="xs:gYear" use="required" />
<xs:attribute name="id_doc" type="xs:int" use="required" />
<xs:attribute name="institucion" use="required">
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:minInclusive value="1" />
<xs:maxInclusive value="999999" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="periodo" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:totalDigits value="8" />
<xs:minInclusive value="1" />
<xs:maxInclusive value="32767" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="version_doc" type="xs:byte"
use="required" />
</xs:complexType>
</xs:element>
<xs:simpleType name="fecha">
<xs:annotation>
<xs:documentation>
Contiene la validación para fechas CCYYMMDD
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern
value="((0?[1-9])|(1[0-9])
|(2[0-8]))
((0?[1-9])
|(1[0-2]))
(((20)|(21
)|(19))[0-
9]{2})" />
<xs:pattern
value="((29)|(30))((0?(1|[
3-9]))|(1[
0-2]))(((2
0)|(21)|(1
9))[0-9]{2
})" />
<xs:pattern
value="31((01|03|05|07|08|
10|12))(((
20)|(21)|(
19))[0-9]{
2})" />
<xs:pattern
value="(29)(0?2)(((20)|(21
)|(19))(04
|08|12|16|
20|24|28|3
2|36|40|44
|48|52|56|
60|64|68|7
2|76|80|84
|88|92|96)
)" />
<xs:pattern value="29022000" />
<xs:pattern value=" " />
</xs:restriction>
</xs:simpleType>
<xs:element name="encabezado">
<xs:complexType>
<xs:sequence minOccurs="1">
<xs:group ref="anexosObligados"></xs
:group>
<xs:group ref="anexosOpcionales"></x
s:group>
</xs:sequence>
<xs:attribute name="clave_de_la_sociedad
" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="informacion_financie
ra" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1"/>
<xs:pattern value="D"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="fecha" use="required">
<xs:simpleType>
<xs:restriction base="fecha"/>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:group name="anexosObligados">
<xs:sequence>
<xs:choice minOccurs="2" maxOccurs="2">
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element ref="anexo1" minOccurs="1"></xs:element
>
</xs:choice>
<xs:choice maxOccurs="unbounded" minOccurs="1">
<xs:element ref="anexo18" minOccurs="1"></xs:element
>
</xs:choice>
</xs:choice>
</xs:sequence>
</xs:group>
<xs:group name="anexosOpcionales">
<xs:sequence>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element ref="anexo3"></xs:element>
</xs:choice>
</xs:choice>
</xs:sequence>
</xs:group>
</xs:schema>