MX-SAT 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +20 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +11 -0
  5. data/.yardopts +9 -0
  6. data/Gemfile +34 -0
  7. data/Guardfile +26 -0
  8. data/LICENSE.txt +22 -0
  9. data/MX-SAT.gemspec +26 -0
  10. data/README.md +89 -0
  11. data/REFERENCIAS.md +30 -0
  12. data/Rakefile +15 -0
  13. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/Anexo24_05012015.pdf +0 -0
  14. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/M_1aRMRMF_270215.pdf +0 -0
  15. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/RecomendacionesalSAT.pdf +0 -0
  16. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/catalogo_bancos.pdf +0 -0
  17. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/catalogo_metodos_pago.pdf +0 -0
  18. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/catalogo_monedas.pdf +0 -0
  19. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/codigo_agrupador.pdf +0 -0
  20. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/e_AuxiliarCtas.pdf +0 -0
  21. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/e_AuxiliarFolios.pdf +0 -0
  22. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/e_BalanzaComprobacion.pdf +0 -0
  23. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/e_CatalogoCuentas.pdf +0 -0
  24. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/e_PolizasPeriodo.pdf +0 -0
  25. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/e_SelloDigitalContElec.pdf +0 -0
  26. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/extracto_reglas.pdf +0 -0
  27. data/data/MX/SAT/contabilidad/archivos/v1.0/plantillas_xls/balanza_comprobacion.xlsx +0 -0
  28. data/data/MX/SAT/contabilidad/archivos/v1.0/plantillas_xls/catalogo_cuentas.xlsx +0 -0
  29. data/lib/MX/SAT.rb +8 -0
  30. data/lib/MX/SAT/Contabilidad/balanza_comprobacion.rb +141 -0
  31. data/lib/MX/SAT/Contabilidad/catalogo_cuentas.rb +117 -0
  32. data/lib/MX/SAT/Contabilidad/data/v1.1/xsd/AuxiliarCtas_1_1.xsd +215 -0
  33. data/lib/MX/SAT/Contabilidad/data/v1.1/xsd/AuxiliarFolios_1_2.xsd +342 -0
  34. data/lib/MX/SAT/Contabilidad/data/v1.1/xsd/BalanzaComprobacion_1_1.xsd +160 -0
  35. data/lib/MX/SAT/Contabilidad/data/v1.1/xsd/CatalogoCuentas_1_1.xsd +157 -0
  36. data/lib/MX/SAT/Contabilidad/data/v1.1/xsd/CatalogosParaEsqContE.xsd +1398 -0
  37. data/lib/MX/SAT/Contabilidad/data/v1.1/xsd/PolizasPeriodo_1_1.xsd +664 -0
  38. data/lib/MX/SAT/Contabilidad/data/v1.1/xsd/SelloDigitalContElec.xsd +80 -0
  39. data/lib/MX/SAT/Contabilidad/data/v1.1/xslt/AuxiliarCtas_1_1.xslt +63 -0
  40. data/lib/MX/SAT/Contabilidad/data/v1.1/xslt/AuxiliarFolios_1_1.xslt +104 -0
  41. data/lib/MX/SAT/Contabilidad/data/v1.1/xslt/BalanzaComprobacion_1_1.xslt +53 -0
  42. data/lib/MX/SAT/Contabilidad/data/v1.1/xslt/CatalogoCuentas_1_1.xslt +47 -0
  43. data/lib/MX/SAT/Contabilidad/data/v1.1/xslt/PolizasPeriodo_1_1.xslt +176 -0
  44. data/lib/MX/SAT/Contabilidad/data/v1.1/xslt/utilerias.xslt +22 -0
  45. data/lib/MX/SAT/certificacion.rb +36 -0
  46. data/lib/MX/SAT/version.rb +6 -0
  47. data/spec/MX/SAT/contabilidad/balanza_comprobacion_spec.rb +160 -0
  48. data/spec/MX/SAT/contabilidad/catalogo_cuentas_spec.rb +101 -0
  49. data/spec/spec_helper.rb +23 -0
  50. data/spec/support/archivos/xlsx/balanza_comprobacion_complementaria.xlsx +0 -0
  51. data/spec/support/archivos/xlsx/balanza_comprobacion_normal.xlsx +0 -0
  52. data/spec/support/archivos/xlsx/catalogo_cuentas.xlsx +0 -0
  53. data/spec/support/archivos/xml/MTS110304UT4201501BC.xml +8 -0
  54. data/spec/support/archivos/xml/MTS110304UT4201501BN.xml +8 -0
  55. data/spec/support/archivos/xml/MTS110304UT4201501CT.xml +8 -0
  56. metadata +152 -0
@@ -0,0 +1,80 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:sellodigital="www.sat.gob.mx/esquemas/ContabilidadE/1_1/SelloDigitalContElec" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="www.sat.gob.mx/esquemas/ContabilidadE/1_1/SelloDigitalContElec" elementFormDefault="qualified" attributeFormDefault="unqualified">
3
+ <xs:element name="SelloDigitalContElec">
4
+ <xs:annotation>
5
+ <xs:documentation>Documento requerido para el Sello Digital del SAT que da constancia de recibo del archivo de la contabilidad electrónica.</xs:documentation>
6
+ </xs:annotation>
7
+ <xs:complexType>
8
+ <xs:attribute name="Version" use="required" fixed="1.1">
9
+ <xs:annotation>
10
+ <xs:documentation>Atributo requerido para expresar la versión del estándar del Sello Digital.</xs:documentation>
11
+ </xs:annotation>
12
+ </xs:attribute>
13
+ <xs:attribute name="Folio" use="required">
14
+ <xs:annotation>
15
+ <xs:documentation>Atributo requerido para expresar los 22 caracteres del folio asignado por el SAT en la recepción de los archivos.</xs:documentation>
16
+ </xs:annotation>
17
+ <xs:simpleType>
18
+ <xs:restriction base="xs:string">
19
+ <xs:whiteSpace value="collapse"/>
20
+ <xs:pattern value="[0-9]{3}[1-5][0-9]{2}(01|02|03|04|05|06|07|08|09|10|11|12|13)[0-9]{14}"/>
21
+ </xs:restriction>
22
+ </xs:simpleType>
23
+ </xs:attribute>
24
+ <xs:attribute name="RFC" use="required">
25
+ <xs:annotation>
26
+ <xs:documentation>Atributo requerido para expresar el RFC del contribuyente que envía los datos</xs:documentation>
27
+ </xs:annotation>
28
+ <xs:simpleType>
29
+ <xs:restriction base="xs:string">
30
+ <xs:minLength value="12"/>
31
+ <xs:maxLength value="13"/>
32
+ <xs:whiteSpace value="collapse"/>
33
+ <xs:pattern value="[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?"/>
34
+ </xs:restriction>
35
+ </xs:simpleType>
36
+ </xs:attribute>
37
+ <xs:attribute name="FechadeSello" use="required">
38
+ <xs:annotation>
39
+ <xs:documentation>Atributo requerido para expresar la fecha y hora de la generación del Sello digital del SAT. Se expresa en la forma aaaa-mm-ddThh:mm:ss, de acuerdo con la especificación ISO 8601</xs:documentation>
40
+ </xs:annotation>
41
+ <xs:simpleType>
42
+ <xs:restriction base="xs:dateTime">
43
+ <xs:whiteSpace value="collapse"/>
44
+ </xs:restriction>
45
+ </xs:simpleType>
46
+ </xs:attribute>
47
+ <xs:attribute name="sello" use="optional">
48
+ <xs:annotation>
49
+ <xs:documentation>Atributo opcional para contener el sello digital del archivo de contabilidad electrónica, que corresponda. El sello deberá ser expresado cómo una cadena de texto en formato Base 64.</xs:documentation>
50
+ </xs:annotation>
51
+ <xs:simpleType>
52
+ <xs:restriction base="xs:string">
53
+ <xs:whiteSpace value="collapse"/>
54
+ </xs:restriction>
55
+ </xs:simpleType>
56
+ </xs:attribute>
57
+ <xs:attribute name="noCertificadoSAT" use="required">
58
+ <xs:annotation>
59
+ <xs:documentation>Atributo requerido para expresar el número de serie del certificado del SAT usado para generar el sello digital. </xs:documentation>
60
+ </xs:annotation>
61
+ <xs:simpleType>
62
+ <xs:restriction base="xs:string">
63
+ <xs:length value="20"/>
64
+ <xs:whiteSpace value="collapse"/>
65
+ </xs:restriction>
66
+ </xs:simpleType>
67
+ </xs:attribute>
68
+ <xs:attribute name="selloSAT" use="required">
69
+ <xs:annotation>
70
+ <xs:documentation>Atributo requerido para contener el sello digital del SAT. El sello deberá ser expresado cómo una cadena de texto en formato Base 64.</xs:documentation>
71
+ </xs:annotation>
72
+ <xs:simpleType>
73
+ <xs:restriction base="xs:string">
74
+ <xs:whiteSpace value="collapse"/>
75
+ </xs:restriction>
76
+ </xs:simpleType>
77
+ </xs:attribute>
78
+ </xs:complexType>
79
+ </xs:element>
80
+ </xs:schema>
@@ -0,0 +1,63 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:AuxiliarCtas="www.sat.gob.mx/esquemas/ContabilidadE/1_1/AuxiliarCtas">
3
+ <!--En esta sección se define la inclusión de las plantillas de utilerías para colapsar espacios -->
4
+ <xsl:include href="utilerias.xslt"/>
5
+ <!-- Con el siguiente método se establece que la salida deberá ser en texto -->
6
+ <xsl:output method="text" version="1.0" encoding="UTF-8" indent="no"/>
7
+ <!-- Aquí iniciamos el procesamiento de la cadena original con su | inicial y el terminador || -->
8
+ <xsl:template match="/">|<xsl:apply-templates select="/AuxiliarCtas:AuxiliarCtas"/>||</xsl:template>
9
+ <!-- Aquí iniciamos el procesamiento de los datos incluidos en el comprobante -->
10
+ <xsl:template match="AuxiliarCtas:AuxiliarCtas">
11
+ <xsl:call-template name="Requerido">
12
+ <xsl:with-param name="valor" select="./@Version"/>
13
+ </xsl:call-template>
14
+ <xsl:call-template name="Requerido">
15
+ <xsl:with-param name="valor" select="./@RFC"/>
16
+ </xsl:call-template>
17
+ <xsl:call-template name="Requerido">
18
+ <xsl:with-param name="valor" select="./@Mes"/>
19
+ </xsl:call-template>
20
+ <xsl:call-template name="Requerido">
21
+ <xsl:with-param name="valor" select="./@Anio"/>
22
+ </xsl:call-template>
23
+ <xsl:call-template name="Requerido">
24
+ <xsl:with-param name="valor" select="./@TipoSolicitud"/>
25
+ </xsl:call-template>
26
+ <xsl:call-template name="Opcional">
27
+ <xsl:with-param name="valor" select="./@NumOrden"/>
28
+ </xsl:call-template>
29
+ <xsl:call-template name="Opcional">
30
+ <xsl:with-param name="valor" select="./@NumTramite"/>
31
+ </xsl:call-template>
32
+ <xsl:apply-templates select="./AuxiliarCtas:Cuenta"/>
33
+ </xsl:template>
34
+ <xsl:template match="AuxiliarCtas:Cuenta">
35
+ <xsl:call-template name="Requerido">
36
+ <xsl:with-param name="valor" select="./@NumCta"/>
37
+ </xsl:call-template>
38
+ <xsl:call-template name="Requerido">
39
+ <xsl:with-param name="valor" select="./@DesCta"/>
40
+ </xsl:call-template>
41
+ <xsl:call-template name="Requerido">
42
+ <xsl:with-param name="valor" select="./@SaldoIni"/>
43
+ </xsl:call-template>
44
+ <xsl:call-template name="Requerido">
45
+ <xsl:with-param name="valor" select="./@SaldoFin"/>
46
+ </xsl:call-template>
47
+ <xsl:apply-templates select="./AuxiliarCtas:DetalleAux"/>
48
+ </xsl:template>
49
+ <xsl:template match="AuxiliarCtas:DetalleAux">
50
+ <xsl:call-template name="Requerido">
51
+ <xsl:with-param name="valor" select="./@Fecha"/>
52
+ </xsl:call-template>
53
+ <xsl:call-template name="Requerido">
54
+ <xsl:with-param name="valor" select="./@NumUnIdenPol"/>
55
+ </xsl:call-template>
56
+ <xsl:call-template name="Requerido">
57
+ <xsl:with-param name="valor" select="./@Debe"/>
58
+ </xsl:call-template>
59
+ <xsl:call-template name="Requerido">
60
+ <xsl:with-param name="valor" select="./@Haber"/>
61
+ </xsl:call-template>
62
+ </xsl:template>
63
+ </xsl:stylesheet>
@@ -0,0 +1,104 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:RepAux="www.sat.gob.mx/esquemas/ContabilidadE/1_1/AuxiliarFolios">
3
+ <!--En esta sección se define la inclusión de las plantillas de utilerías para colapsar espacios -->
4
+ <xsl:include href="utilerias.xslt"/>
5
+ <!-- Con el siguiente método se establece que la salida deberá ser en texto -->
6
+ <xsl:output method="text" version="1.0" encoding="UTF-8" indent="no"/>
7
+ <!-- Aquí iniciamos el procesamiento de la cadena original con su | inicial y el terminador || -->
8
+ <xsl:template match="/">|<xsl:apply-templates select="/RepAux:RepAuxFol"/>||</xsl:template>
9
+ <xsl:template match="RepAux:RepAuxFol">
10
+ <xsl:call-template name="Requerido">
11
+ <xsl:with-param name="valor" select="./@Version"/>
12
+ </xsl:call-template>
13
+ <xsl:call-template name="Requerido">
14
+ <xsl:with-param name="valor" select="./@RFC"/>
15
+ </xsl:call-template>
16
+ <xsl:call-template name="Requerido">
17
+ <xsl:with-param name="valor" select="./@Mes"/>
18
+ </xsl:call-template>
19
+ <xsl:call-template name="Requerido">
20
+ <xsl:with-param name="valor" select="./@Anio"/>
21
+ </xsl:call-template>
22
+ <xsl:call-template name="Requerido">
23
+ <xsl:with-param name="valor" select="./@TipoSolicitud"/>
24
+ </xsl:call-template>
25
+ <xsl:call-template name="Opcional">
26
+ <xsl:with-param name="valor" select="./@NumOrden"/>
27
+ </xsl:call-template>
28
+ <xsl:call-template name="Opcional">
29
+ <xsl:with-param name="valor" select="./@NumTramite"/>
30
+ </xsl:call-template>
31
+ <xsl:apply-templates select="./RepAux:DetAuxFol"/>
32
+ </xsl:template>
33
+ <xsl:template match="RepAux:DetAuxFol">
34
+ <xsl:call-template name="Requerido">
35
+ <xsl:with-param name="valor" select="./@NumUnIdenPol"/>
36
+ </xsl:call-template>
37
+ <xsl:call-template name="Requerido">
38
+ <xsl:with-param name="valor" select="./@Fecha"/>
39
+ </xsl:call-template>
40
+ <xsl:apply-templates select="./RepAux:ComprNal"/>
41
+ <xsl:apply-templates select="./RepAux:ComprNalOtr"/>
42
+ <xsl:apply-templates select="./RepAux:ComprExt"/>
43
+ </xsl:template>
44
+ <xsl:template match="RepAux:ComprNal">
45
+ <xsl:call-template name="Requerido">
46
+ <xsl:with-param name="valor" select="./@UUID_CFDI"/>
47
+ </xsl:call-template>
48
+ <xsl:call-template name="Requerido">
49
+ <xsl:with-param name="valor" select="./@RFC"/>
50
+ </xsl:call-template>
51
+ <xsl:call-template name="Opcional">
52
+ <xsl:with-param name="valor" select="./@MetPagoAux"/>
53
+ </xsl:call-template>
54
+ <xsl:call-template name="Requerido">
55
+ <xsl:with-param name="valor" select="./@MontoTotal"/>
56
+ </xsl:call-template>
57
+ <xsl:call-template name="Opcional">
58
+ <xsl:with-param name="valor" select="./@Moneda"/>
59
+ </xsl:call-template>
60
+ <xsl:call-template name="Opcional">
61
+ <xsl:with-param name="valor" select="./@TipCamb"/>
62
+ </xsl:call-template>
63
+ </xsl:template>
64
+ <xsl:template match="RepAux:ComprNalOtr">
65
+ <xsl:call-template name="Opcional">
66
+ <xsl:with-param name="valor" select="./@CFD_CBB_Serie"/>
67
+ </xsl:call-template>
68
+ <xsl:call-template name="Requerido">
69
+ <xsl:with-param name="valor" select="./@CFD_CBB_NumFol"/>
70
+ </xsl:call-template>
71
+ <xsl:call-template name="Requerido">
72
+ <xsl:with-param name="valor" select="./@RFC"/>
73
+ </xsl:call-template>
74
+ <xsl:call-template name="Opcional">
75
+ <xsl:with-param name="valor" select="./@MetPagoAux"/>
76
+ </xsl:call-template>
77
+ <xsl:call-template name="Requerido">
78
+ <xsl:with-param name="valor" select="./@MontoTotal"/>
79
+ </xsl:call-template>
80
+ <xsl:call-template name="Opcional">
81
+ <xsl:with-param name="valor" select="./@Moneda"/>
82
+ </xsl:call-template>
83
+ <xsl:call-template name="Opcional">
84
+ <xsl:with-param name="valor" select="./@TipCamb"/>
85
+ </xsl:call-template>
86
+ </xsl:template>
87
+ <xsl:template match="RepAux:ComprExt">
88
+ <xsl:call-template name="Requerido">
89
+ <xsl:with-param name="valor" select="./@NumFactExt"/>
90
+ </xsl:call-template>
91
+ <xsl:call-template name="Opcional">
92
+ <xsl:with-param name="valor" select="./@MetPagoAux"/>
93
+ </xsl:call-template>
94
+ <xsl:call-template name="Requerido">
95
+ <xsl:with-param name="valor" select="./@MontoTotal"/>
96
+ </xsl:call-template>
97
+ <xsl:call-template name="Opcional">
98
+ <xsl:with-param name="valor" select="./@Moneda"/>
99
+ </xsl:call-template>
100
+ <xsl:call-template name="Opcional">
101
+ <xsl:with-param name="valor" select="./@TipCamb"/>
102
+ </xsl:call-template>
103
+ </xsl:template>
104
+ </xsl:stylesheet>
@@ -0,0 +1,53 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:BCE="www.sat.gob.mx/esquemas/ContabilidadE/1_1/BalanzaComprobacion">
3
+ <!--En esta sección se define la inclusión de las plantillas de utilerías para colapsar espacios -->
4
+ <xsl:include href="utilerias.xslt"/>
5
+ <!-- Con el siguiente método se establece que la salida deberá ser en texto -->
6
+ <xsl:output method="text" version="1.0" encoding="UTF-8" indent="no"/>
7
+
8
+ <!-- Aquí iniciamos el procesamiento de la cadena original con su | inicial y el terminador || -->
9
+ <xsl:template match="/">|<xsl:apply-templates select="/BCE:Balanza"/>||</xsl:template>
10
+
11
+
12
+ <xsl:template match="BCE:Balanza">
13
+ <xsl:call-template name="Requerido">
14
+ <xsl:with-param name="valor" select="./@Version"/>
15
+ </xsl:call-template>
16
+ <xsl:call-template name="Requerido">
17
+ <xsl:with-param name="valor" select="./@RFC"/>
18
+ </xsl:call-template>
19
+ <xsl:call-template name="Requerido">
20
+ <xsl:with-param name="valor" select="./@Mes"/>
21
+ </xsl:call-template>
22
+ <xsl:call-template name="Requerido">
23
+ <xsl:with-param name="valor" select="./@Anio"/>
24
+ </xsl:call-template>
25
+ <xsl:call-template name="Requerido">
26
+ <xsl:with-param name="valor" select="./@TipoEnvio"/>
27
+ </xsl:call-template>
28
+ <xsl:call-template name="Opcional">
29
+ <xsl:with-param name="valor" select="./@FechaModBal"/>
30
+ </xsl:call-template>
31
+
32
+ <xsl:apply-templates select="./BCE:Ctas"/>
33
+ </xsl:template>
34
+ <xsl:template match="BCE:Ctas">
35
+
36
+ <xsl:call-template name="Requerido">
37
+ <xsl:with-param name="valor" select="./@NumCta"/>
38
+ </xsl:call-template>
39
+ <xsl:call-template name="Requerido">
40
+ <xsl:with-param name="valor" select="./@SaldoIni"/>
41
+ </xsl:call-template>
42
+ <xsl:call-template name="Requerido">
43
+ <xsl:with-param name="valor" select="./@Debe"/>
44
+ </xsl:call-template>
45
+ <xsl:call-template name="Requerido">
46
+ <xsl:with-param name="valor" select="./@Haber"/>
47
+ </xsl:call-template>
48
+ <xsl:call-template name="Requerido">
49
+ <xsl:with-param name="valor" select="./@SaldoFin"/>
50
+ </xsl:call-template>
51
+
52
+ </xsl:template>
53
+ </xsl:stylesheet>
@@ -0,0 +1,47 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:catalogocuentas="www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogoCuentas">
3
+ <!--En esta sección se define la inclusión de las plantillas de utilerías para colapsar espacios -->
4
+ <xsl:include href="utilerias.xslt"/>
5
+ <!-- Con el siguiente método se establece que la salida deberá ser en texto -->
6
+ <xsl:output method="text" version="1.0" encoding="UTF-8" indent="no"/>
7
+ <!-- Aquí iniciamos el procesamiento de la cadena original con su | inicial y el terminador || -->
8
+ <xsl:template match="/">|<xsl:apply-templates select="/catalogocuentas:Catalogo"/>||</xsl:template>
9
+
10
+
11
+
12
+ <xsl:template match="catalogocuentas:Catalogo">
13
+ <xsl:call-template name="Requerido">
14
+ <xsl:with-param name="valor" select="./@Version"/>
15
+ </xsl:call-template>
16
+ <xsl:call-template name="Requerido">
17
+ <xsl:with-param name="valor" select="./@RFC"/>
18
+ </xsl:call-template>
19
+ <xsl:call-template name="Requerido">
20
+ <xsl:with-param name="valor" select="./@Mes"/>
21
+ </xsl:call-template>
22
+ <xsl:call-template name="Requerido">
23
+ <xsl:with-param name="valor" select="./@Anio"/>
24
+ </xsl:call-template>
25
+ <xsl:apply-templates select="./catalogocuentas:Ctas"/>
26
+ </xsl:template>
27
+ <xsl:template match="catalogocuentas:Ctas">
28
+ <xsl:call-template name="Requerido">
29
+ <xsl:with-param name="valor" select="./@CodAgrup"/>
30
+ </xsl:call-template>
31
+ <xsl:call-template name="Requerido">
32
+ <xsl:with-param name="valor" select="./@NumCta"/>
33
+ </xsl:call-template>
34
+ <xsl:call-template name="Requerido">
35
+ <xsl:with-param name="valor" select="./@Desc"/>
36
+ </xsl:call-template>
37
+ <xsl:call-template name="Opcional">
38
+ <xsl:with-param name="valor" select="./@SubCtaDe"/>
39
+ </xsl:call-template>
40
+ <xsl:call-template name="Requerido">
41
+ <xsl:with-param name="valor" select="./@Nivel"/>
42
+ </xsl:call-template>
43
+ <xsl:call-template name="Requerido">
44
+ <xsl:with-param name="valor" select="./@Natur"/>
45
+ </xsl:call-template>
46
+ </xsl:template>
47
+ </xsl:stylesheet>
@@ -0,0 +1,176 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:PLZ="www.sat.gob.mx/esquemas/ContabilidadE/1_1/PolizasPeriodo">
3
+ <!--En esta sección se define la inclusión de las plantillas de utilerías para colapsar espacios -->
4
+ <xsl:include href="utilerias.xslt"/>
5
+ <!-- Con el siguiente método se establece que la salida deberá ser en texto -->
6
+ <xsl:output method="text" version="1.0" encoding="UTF-8" indent="no"/>
7
+ <!-- Aquí iniciamos el procesamiento de la cadena original con su | inicial y el terminador || -->
8
+ <xsl:template match="/">|<xsl:apply-templates select="/PLZ:Polizas"/>||</xsl:template>
9
+ <xsl:template match="PLZ:Polizas">
10
+ <xsl:call-template name="Requerido">
11
+ <xsl:with-param name="valor" select="./@Version"/>
12
+ </xsl:call-template>
13
+ <xsl:call-template name="Requerido">
14
+ <xsl:with-param name="valor" select="./@RFC"/>
15
+ </xsl:call-template>
16
+ <xsl:call-template name="Requerido">
17
+ <xsl:with-param name="valor" select="./@Mes"/>
18
+ </xsl:call-template>
19
+ <xsl:call-template name="Requerido">
20
+ <xsl:with-param name="valor" select="./@Anio"/>
21
+ </xsl:call-template>
22
+ <xsl:call-template name="Requerido">
23
+ <xsl:with-param name="valor" select="./@TipoSolicitud"/>
24
+ </xsl:call-template>
25
+ <xsl:call-template name="Opcional">
26
+ <xsl:with-param name="valor" select="./@NumOrden"/>
27
+ </xsl:call-template>
28
+ <xsl:call-template name="Opcional">
29
+ <xsl:with-param name="valor" select="./@NumTramite"/>
30
+ </xsl:call-template>
31
+ <xsl:apply-templates select="./PLZ:Poliza"/>
32
+ </xsl:template>
33
+ <xsl:template match="PLZ:Poliza">
34
+ <xsl:call-template name="Requerido">
35
+ <xsl:with-param name="valor" select="./@NumUnIdenPol"/>
36
+ </xsl:call-template>
37
+ <xsl:call-template name="Requerido">
38
+ <xsl:with-param name="valor" select="./@Fecha"/>
39
+ </xsl:call-template>
40
+ <xsl:call-template name="Requerido">
41
+ <xsl:with-param name="valor" select="./@Concepto"/>
42
+ </xsl:call-template>
43
+ <xsl:apply-templates select="./PLZ:Transaccion"/>
44
+ </xsl:template>
45
+ <xsl:template match="PLZ:Transaccion">
46
+ <xsl:call-template name="Requerido">
47
+ <xsl:with-param name="valor" select="./@NumCta"/>
48
+ </xsl:call-template>
49
+ <xsl:call-template name="Requerido">
50
+ <xsl:with-param name="valor" select="./@Concepto"/>
51
+ </xsl:call-template>
52
+ <xsl:call-template name="Requerido">
53
+ <xsl:with-param name="valor" select="./@Debe"/>
54
+ </xsl:call-template>
55
+ <xsl:call-template name="Requerido">
56
+ <xsl:with-param name="valor" select="./@Haber"/>
57
+ </xsl:call-template>
58
+ <xsl:apply-templates select="./PLZ:CompNal"/>
59
+ <xsl:apply-templates select="./PLZ:CompNalOtr"/>
60
+ <xsl:apply-templates select="./PLZ:CompExt"/>
61
+ <xsl:apply-templates select="./PLZ:Cheque"/>
62
+ <xsl:apply-templates select="./PLZ:Transferencia"/>
63
+ <xsl:apply-templates select="./PLZ:OtrMetodoPago"/>
64
+ </xsl:template>
65
+ <xsl:template match="PLZ:CompNal">
66
+ <xsl:call-template name="Requerido">
67
+ <xsl:with-param name="valor" select="./@UUID_CFDI"/>
68
+ </xsl:call-template>
69
+ </xsl:template>
70
+ <xsl:template match="PLZ:CompNalOtr">
71
+ <xsl:call-template name="Opcional">
72
+ <xsl:with-param name="valor" select="./@CFD_CBB_Serie"/>
73
+ </xsl:call-template>
74
+ <xsl:call-template name="Requerido">
75
+ <xsl:with-param name="valor" select="./@CFD_CBB_NumFol"/>
76
+ </xsl:call-template>
77
+ </xsl:template>
78
+ <xsl:template match="PLZ:CompExt">
79
+ <xsl:call-template name="Requerido">
80
+ <xsl:with-param name="valor" select="./@NumFactExt"/>
81
+ </xsl:call-template>
82
+ </xsl:template>
83
+ <xsl:template match="PLZ:Cheque">
84
+ <xsl:call-template name="Requerido">
85
+ <xsl:with-param name="valor" select="./@Num"/>
86
+ </xsl:call-template>
87
+ <xsl:call-template name="Requerido">
88
+ <xsl:with-param name="valor" select="./@BanEmisNal"/>
89
+ </xsl:call-template>
90
+ <xsl:call-template name="Opcional">
91
+ <xsl:with-param name="valor" select="./@BanEmisExt"/>
92
+ </xsl:call-template>
93
+ <xsl:call-template name="Requerido">
94
+ <xsl:with-param name="valor" select="./@CtaOri"/>
95
+ </xsl:call-template>
96
+ <xsl:call-template name="Requerido">
97
+ <xsl:with-param name="valor" select="./@Fecha"/>
98
+ </xsl:call-template>
99
+ <xsl:call-template name="Requerido">
100
+ <xsl:with-param name="valor" select="./@Benef"/>
101
+ </xsl:call-template>
102
+ <xsl:call-template name="Requerido">
103
+ <xsl:with-param name="valor" select="./@RFC"/>
104
+ </xsl:call-template>
105
+ <xsl:call-template name="Requerido">
106
+ <xsl:with-param name="valor" select="./@Monto"/>
107
+ </xsl:call-template>
108
+ <xsl:call-template name="Opcional">
109
+ <xsl:with-param name="valor" select="./@Moneda"/>
110
+ </xsl:call-template>
111
+ <xsl:call-template name="Opcional">
112
+ <xsl:with-param name="valor" select="./@TipCamb"/>
113
+ </xsl:call-template>
114
+ </xsl:template>
115
+ <xsl:template match="PLZ:Transferencia">
116
+ <xsl:call-template name="Opcional">
117
+ <xsl:with-param name="valor" select="./@CtaOri"/>
118
+ </xsl:call-template>
119
+ <xsl:call-template name="Requerido">
120
+ <xsl:with-param name="valor" select="./@BancoOriNal"/>
121
+ </xsl:call-template>
122
+ <xsl:call-template name="Opcional">
123
+ <xsl:with-param name="valor" select="./@BancoOriExt"/>
124
+ </xsl:call-template>
125
+ <xsl:call-template name="Requerido">
126
+ <xsl:with-param name="valor" select="./@CtaDest"/>
127
+ </xsl:call-template>
128
+ <xsl:call-template name="Requerido">
129
+ <xsl:with-param name="valor" select="./@BancoDestNal"/>
130
+ </xsl:call-template>
131
+ <xsl:call-template name="Opcional">
132
+ <xsl:with-param name="valor" select="./@BancoDestExt"/>
133
+ </xsl:call-template>
134
+ <xsl:call-template name="Requerido">
135
+ <xsl:with-param name="valor" select="./@Fecha"/>
136
+ </xsl:call-template>
137
+ <xsl:call-template name="Requerido">
138
+ <xsl:with-param name="valor" select="./@Benef"/>
139
+ </xsl:call-template>
140
+ <xsl:call-template name="Requerido">
141
+ <xsl:with-param name="valor" select="./@RFC"/>
142
+ </xsl:call-template>
143
+ <xsl:call-template name="Requerido">
144
+ <xsl:with-param name="valor" select="./@Monto"/>
145
+ </xsl:call-template>
146
+ <xsl:call-template name="Opcional">
147
+ <xsl:with-param name="valor" select="./@Moneda"/>
148
+ </xsl:call-template>
149
+ <xsl:call-template name="Opcional">
150
+ <xsl:with-param name="valor" select="./@TipCamb"/>
151
+ </xsl:call-template>
152
+ </xsl:template>
153
+ <xsl:template match="PLZ:OtrMetodoPago">
154
+ <xsl:call-template name="Requerido">
155
+ <xsl:with-param name="valor" select="./@MetPagoPol"/>
156
+ </xsl:call-template>
157
+ <xsl:call-template name="Requerido">
158
+ <xsl:with-param name="valor" select="./@Fecha"/>
159
+ </xsl:call-template>
160
+ <xsl:call-template name="Requerido">
161
+ <xsl:with-param name="valor" select="./@Benef"/>
162
+ </xsl:call-template>
163
+ <xsl:call-template name="Requerido">
164
+ <xsl:with-param name="valor" select="./@RFC"/>
165
+ </xsl:call-template>
166
+ <xsl:call-template name="Requerido">
167
+ <xsl:with-param name="valor" select="./@Monto"/>
168
+ </xsl:call-template>
169
+ <xsl:call-template name="Opcional">
170
+ <xsl:with-param name="valor" select="./@Moneda"/>
171
+ </xsl:call-template>
172
+ <xsl:call-template name="Opcional">
173
+ <xsl:with-param name="valor" select="./@TipCamb"/>
174
+ </xsl:call-template>
175
+ </xsl:template>
176
+ </xsl:stylesheet>