sw_fac 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/.travis.yml +5 -0
  4. data/Gemfile +6 -0
  5. data/Gemfile.lock +26 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +39 -0
  8. data/Rakefile +10 -0
  9. data/bin/console +14 -0
  10. data/bin/setup +8 -0
  11. data/lib/cadena/ComercioExterior11.xslt +181 -0
  12. data/lib/cadena/Pagos10.xslt +165 -0
  13. data/lib/cadena/TuristaPasajeroExtranjero.xslt +40 -0
  14. data/lib/cadena/aerolineas.xslt +50 -0
  15. data/lib/cadena/cadena33.xslt +349 -0
  16. data/lib/cadena/certificadodedestruccion.xslt +60 -0
  17. data/lib/cadena/cfdiregistrofiscal.xslt +19 -0
  18. data/lib/cadena/cfdv33.xsd +737 -0
  19. data/lib/cadena/consumodecombustibles.xslt +108 -0
  20. data/lib/cadena/detallista.xslt +42 -0
  21. data/lib/cadena/divisas.xslt +13 -0
  22. data/lib/cadena/donat11.xslt +13 -0
  23. data/lib/cadena/ecc11.xslt +102 -0
  24. data/lib/cadena/iedu.xslt +26 -0
  25. data/lib/cadena/implocal.xslt +39 -0
  26. data/lib/cadena/ine11.xslt +51 -0
  27. data/lib/cadena/leyendasFisc.xslt +28 -0
  28. data/lib/cadena/nomina12.xslt +412 -0
  29. data/lib/cadena/notariospublicos.xslt +301 -0
  30. data/lib/cadena/obrasarteantiguedades.xslt +33 -0
  31. data/lib/cadena/pagoenespecie.xslt +39 -0
  32. data/lib/cadena/pfic.xslt +13 -0
  33. data/lib/cadena/renovacionysustitucionvehiculos.xslt +152 -0
  34. data/lib/cadena/servicioparcialconstruccion.xslt +44 -0
  35. data/lib/cadena/terceros11.xslt +108 -0
  36. data/lib/cadena/utilerias.xslt +22 -0
  37. data/lib/cadena/valesdedespensa.xslt +70 -0
  38. data/lib/cadena/vehiculousado.xslt +63 -0
  39. data/lib/cadena/ventavehiculos11.xslt +53 -0
  40. data/lib/sw_fac/config.rb +69 -0
  41. data/lib/sw_fac/facturacion.rb +616 -0
  42. data/lib/sw_fac/tools.rb +105 -0
  43. data/lib/sw_fac/version.rb +3 -0
  44. data/lib/sw_fac.rb +18 -0
  45. data/sw_fac.gemspec +38 -0
  46. data/test/sw_fac_test.rb +11 -0
  47. data/test/test_helper.rb +4 -0
  48. metadata +146 -0
@@ -0,0 +1,301 @@
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:notariospublicos="http://www.sat.gob.mx/notariospublicos">
3
+
4
+ <!-- Manejador de nodos tipo notariospublicos:NotariosPublicos -->
5
+ <xsl:template match="notariospublicos:NotariosPublicos">
6
+
7
+ <!-- Iniciamos el tratamiento de los atributos -->
8
+ <xsl:call-template name="Requerido">
9
+ <xsl:with-param name="valor" select="./@Version"/>
10
+ </xsl:call-template>
11
+
12
+ <!-- Iniciamos el manejo de los nodos dependientes -->
13
+ <xsl:apply-templates select="./notariospublicos:DescInmuebles"/>
14
+ <xsl:apply-templates select="./notariospublicos:DatosOperacion"/>
15
+ <xsl:apply-templates select="./notariospublicos:DatosNotario"/>
16
+ <xsl:apply-templates select="./notariospublicos:DatosEnajenante"/>
17
+ <xsl:apply-templates select="./notariospublicos:DatosAdquiriente"/>
18
+
19
+ </xsl:template>
20
+
21
+ <!-- Manejador de nodos tipo notariospublicos:DescInmuebles -->
22
+ <xsl:template match="notariospublicos:DescInmuebles">
23
+
24
+ <!-- Iniciamos el manejo de los nodos dependientes -->
25
+ <xsl:for-each select="./notariospublicos:DescInmueble">
26
+ <xsl:apply-templates select="."/>
27
+ </xsl:for-each>
28
+
29
+ </xsl:template>
30
+
31
+ <!-- Manejador de nodos tipo notariospublicos:DescInmueble -->
32
+ <xsl:template match="notariospublicos:DescInmueble">
33
+
34
+ <!-- Iniciamos el tratamiento de los atributos -->
35
+ <xsl:call-template name="Requerido">
36
+ <xsl:with-param name="valor" select="./@TipoInmueble"/>
37
+ </xsl:call-template>
38
+
39
+ <xsl:call-template name="Requerido">
40
+ <xsl:with-param name="valor" select="./@Calle"/>
41
+ </xsl:call-template>
42
+
43
+ <xsl:call-template name="Opcional">
44
+ <xsl:with-param name="valor" select="./@NoExterior"/>
45
+ </xsl:call-template>
46
+
47
+ <xsl:call-template name="Opcional">
48
+ <xsl:with-param name="valor" select="./@NoInterior"/>
49
+ </xsl:call-template>
50
+
51
+ <xsl:call-template name="Opcional">
52
+ <xsl:with-param name="valor" select="./@Colonia"/>
53
+ </xsl:call-template>
54
+
55
+ <xsl:call-template name="Opcional">
56
+ <xsl:with-param name="valor" select="./@Localidad"/>
57
+ </xsl:call-template>
58
+
59
+ <xsl:call-template name="Opcional">
60
+ <xsl:with-param name="valor" select="./@Referencia"/>
61
+ </xsl:call-template>
62
+
63
+ <xsl:call-template name="Requerido">
64
+ <xsl:with-param name="valor" select="./@Municipio"/>
65
+ </xsl:call-template>
66
+
67
+ <xsl:call-template name="Requerido">
68
+ <xsl:with-param name="valor" select="./@Estado"/>
69
+ </xsl:call-template>
70
+
71
+ <xsl:call-template name="Requerido">
72
+ <xsl:with-param name="valor" select="./@Pais"/>
73
+ </xsl:call-template>
74
+
75
+ <xsl:call-template name="Requerido">
76
+ <xsl:with-param name="valor" select="./@CodigoPostal"/>
77
+ </xsl:call-template>
78
+
79
+ </xsl:template>
80
+
81
+ <!-- Manejador de nodos tipo notariospublicos:DatosOperacion -->
82
+ <xsl:template match="notariospublicos:DatosOperacion">
83
+
84
+ <!-- Iniciamos el tratamiento de los atributos -->
85
+ <xsl:call-template name="Requerido">
86
+ <xsl:with-param name="valor" select="./@NumInstrumentoNotarial"/>
87
+ </xsl:call-template>
88
+
89
+ <xsl:call-template name="Requerido">
90
+ <xsl:with-param name="valor" select="./@FechaInstNotarial"/>
91
+ </xsl:call-template>
92
+
93
+ <xsl:call-template name="Requerido">
94
+ <xsl:with-param name="valor" select="./@MontoOperacion"/>
95
+ </xsl:call-template>
96
+
97
+ <xsl:call-template name="Requerido">
98
+ <xsl:with-param name="valor" select="./@Subtotal"/>
99
+ </xsl:call-template>
100
+
101
+ <xsl:call-template name="Requerido">
102
+ <xsl:with-param name="valor" select="./@IVA"/>
103
+ </xsl:call-template>
104
+
105
+ </xsl:template>
106
+
107
+ <!-- Manejador de nodos tipo notariospublicos:DatosNotario -->
108
+ <xsl:template match="notariospublicos:DatosNotario">
109
+
110
+ <!-- Iniciamos el tratamiento de los atributos -->
111
+ <xsl:call-template name="Requerido">
112
+ <xsl:with-param name="valor" select="./@CURP"/>
113
+ </xsl:call-template>
114
+
115
+ <xsl:call-template name="Requerido">
116
+ <xsl:with-param name="valor" select="./@NumNotaria"/>
117
+ </xsl:call-template>
118
+
119
+ <xsl:call-template name="Requerido">
120
+ <xsl:with-param name="valor" select="./@EntidadFederativa"/>
121
+ </xsl:call-template>
122
+
123
+ <xsl:call-template name="Opcional">
124
+ <xsl:with-param name="valor" select="./@Adscripcion"/>
125
+ </xsl:call-template>
126
+
127
+
128
+ </xsl:template>
129
+
130
+ <!-- Manejador de nodos tipo notariospublicos:DatosEnajenante -->
131
+ <xsl:template match="notariospublicos:DatosEnajenante">
132
+
133
+ <!-- Iniciamos el tratamiento de los atributos -->
134
+ <xsl:call-template name="Requerido">
135
+ <xsl:with-param name="valor" select="./@CoproSocConyugalE"/>
136
+ </xsl:call-template>
137
+
138
+ <!-- Iniciamos el manejo de los nodos dependientes -->
139
+ <xsl:if test="./notariospublicos:DatosUnEnajenante">
140
+ <xsl:apply-templates select="./notariospublicos:DatosUnEnajenante"/>
141
+ </xsl:if>
142
+
143
+ <xsl:if test="./notariospublicos:DatosEnajenantesCopSC">
144
+ <xsl:apply-templates select="./notariospublicos:DatosEnajenantesCopSC"/>
145
+ </xsl:if>
146
+
147
+ </xsl:template>
148
+
149
+ <!-- Manejador de nodos tipo notariospublicos:DatosUnEnajenante -->
150
+ <xsl:template match="notariospublicos:DatosUnEnajenante">
151
+
152
+ <!-- Iniciamos el tratamiento de los atributos -->
153
+ <xsl:call-template name="Requerido">
154
+ <xsl:with-param name="valor" select="./@Nombre"/>
155
+ </xsl:call-template>
156
+
157
+ <xsl:call-template name="Requerido">
158
+ <xsl:with-param name="valor" select="./@ApellidoPaterno"/>
159
+ </xsl:call-template>
160
+
161
+ <xsl:call-template name="Opcional">
162
+ <xsl:with-param name="valor" select="./@ApellidoMaterno"/>
163
+ </xsl:call-template>
164
+
165
+ <xsl:call-template name="Requerido">
166
+ <xsl:with-param name="valor" select="./@RFC"/>
167
+ </xsl:call-template>
168
+
169
+ <xsl:call-template name="Requerido">
170
+ <xsl:with-param name="valor" select="./@CURP"/>
171
+ </xsl:call-template>
172
+
173
+ </xsl:template>
174
+
175
+ <!-- Manejador de nodos tipo notariospublicos:DatosEnajenantesCopSC -->
176
+ <xsl:template match="notariospublicos:DatosEnajenantesCopSC">
177
+
178
+ <!-- Iniciamos el manejo de los nodos dependientes -->
179
+ <xsl:for-each select="./notariospublicos:DatosEnajenanteCopSC">
180
+ <xsl:apply-templates select="."/>
181
+ </xsl:for-each>
182
+
183
+ </xsl:template>
184
+
185
+ <!-- Manejador de nodos tipo notariospublicos:DatosEnajenanteCopSC -->
186
+ <xsl:template match="notariospublicos:DatosEnajenanteCopSC">
187
+
188
+ <!-- Iniciamos el tratamiento de los atributos -->
189
+ <xsl:call-template name="Requerido">
190
+ <xsl:with-param name="valor" select="./@Nombre"/>
191
+ </xsl:call-template>
192
+
193
+ <xsl:call-template name="Opcional">
194
+ <xsl:with-param name="valor" select="./@ApellidoPaterno"/>
195
+ </xsl:call-template>
196
+
197
+ <xsl:call-template name="Opcional">
198
+ <xsl:with-param name="valor" select="./@ApellidoMaterno"/>
199
+ </xsl:call-template>
200
+
201
+ <xsl:call-template name="Requerido">
202
+ <xsl:with-param name="valor" select="./@RFC"/>
203
+ </xsl:call-template>
204
+
205
+ <xsl:call-template name="Opcional">
206
+ <xsl:with-param name="valor" select="./@CURP"/>
207
+ </xsl:call-template>
208
+
209
+ <xsl:call-template name="Requerido">
210
+ <xsl:with-param name="valor" select="./@Porcentaje"/>
211
+ </xsl:call-template>
212
+
213
+ </xsl:template>
214
+
215
+ <!-- Manejador de nodos tipo notariospublicos:DatosAdquiriente -->
216
+ <xsl:template match="notariospublicos:DatosAdquiriente">
217
+
218
+ <!-- Iniciamos el tratamiento de los atributos -->
219
+ <xsl:call-template name="Requerido">
220
+ <xsl:with-param name="valor" select="./@CoproSocConyugalE"/>
221
+ </xsl:call-template>
222
+
223
+ <!-- Iniciamos el manejo de los nodos dependientes -->
224
+ <xsl:if test="./notariospublicos:DatosUnAdquiriente">
225
+ <xsl:apply-templates select="./notariospublicos:DatosUnAdquiriente"/>
226
+ </xsl:if>
227
+
228
+ <xsl:if test="./notariospublicos:DatosAdquirientesCopSC">
229
+ <xsl:apply-templates select="./notariospublicos:DatosAdquirientesCopSC"/>
230
+ </xsl:if>
231
+
232
+ </xsl:template>
233
+
234
+ <!-- Manejador de nodos tipo notariospublicos:DatosUnAdquiriente -->
235
+ <xsl:template match="notariospublicos:DatosUnAdquiriente">
236
+
237
+ <!-- Iniciamos el tratamiento de los atributos -->
238
+ <xsl:call-template name="Requerido">
239
+ <xsl:with-param name="valor" select="./@Nombre"/>
240
+ </xsl:call-template>
241
+
242
+ <xsl:call-template name="Opcional">
243
+ <xsl:with-param name="valor" select="./@ApellidoPaterno"/>
244
+ </xsl:call-template>
245
+
246
+ <xsl:call-template name="Opcional">
247
+ <xsl:with-param name="valor" select="./@ApellidoMaterno"/>
248
+ </xsl:call-template>
249
+
250
+ <xsl:call-template name="Requerido">
251
+ <xsl:with-param name="valor" select="./@RFC"/>
252
+ </xsl:call-template>
253
+
254
+ <xsl:call-template name="Opcional">
255
+ <xsl:with-param name="valor" select="./@CURP"/>
256
+ </xsl:call-template>
257
+
258
+ </xsl:template>
259
+
260
+ <!-- Manejador de nodos tipo notariospublicos:DatosAdquirientesCopSC -->
261
+ <xsl:template match="notariospublicos:DatosAdquirientesCopSC">
262
+
263
+ <!-- Iniciamos el manejo de los nodos dependientes -->
264
+ <xsl:for-each select="./notariospublicos:DatosAdquirienteCopSC">
265
+ <xsl:apply-templates select="."/>
266
+ </xsl:for-each>
267
+
268
+ </xsl:template>
269
+
270
+ <!-- Manejador de nodos tipo notariospublicos:DatosAdquirienteCopSC -->
271
+ <xsl:template match="notariospublicos:DatosAdquirienteCopSC">
272
+
273
+ <!-- Iniciamos el tratamiento de los atributos -->
274
+ <xsl:call-template name="Requerido">
275
+ <xsl:with-param name="valor" select="./@Nombre"/>
276
+ </xsl:call-template>
277
+
278
+ <xsl:call-template name="Opcional">
279
+ <xsl:with-param name="valor" select="./@ApellidoPaterno"/>
280
+ </xsl:call-template>
281
+
282
+ <xsl:call-template name="Opcional">
283
+ <xsl:with-param name="valor" select="./@ApellidoMaterno"/>
284
+ </xsl:call-template>
285
+
286
+ <xsl:call-template name="Requerido">
287
+ <xsl:with-param name="valor" select="./@RFC"/>
288
+ </xsl:call-template>
289
+
290
+ <xsl:call-template name="Opcional">
291
+ <xsl:with-param name="valor" select="./@CURP"/>
292
+ </xsl:call-template>
293
+
294
+ <xsl:call-template name="Requerido">
295
+ <xsl:with-param name="valor" select="./@Porcentaje"/>
296
+ </xsl:call-template>
297
+
298
+ </xsl:template>
299
+
300
+
301
+ </xsl:stylesheet>
@@ -0,0 +1,33 @@
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:obrasarte="http://www.sat.gob.mx/arteantiguedades">
3
+ <xsl:template match="obrasarte:obrasarteantiguedades">
4
+ <!--Manejador de nodos tipo obrasarteantiguedades-->
5
+ <xsl:call-template name="Requerido">
6
+ <xsl:with-param name="valor" select="./@Version" />
7
+ </xsl:call-template>
8
+ <xsl:call-template name="Requerido">
9
+ <xsl:with-param name="valor" select="./@TipoBien" />
10
+ </xsl:call-template>
11
+ <xsl:call-template name="Opcional">
12
+ <xsl:with-param name="valor" select="./@OtrosTipoBien" />
13
+ </xsl:call-template>
14
+ <xsl:call-template name="Requerido">
15
+ <xsl:with-param name="valor" select="./@TituloAdquirido" />
16
+ </xsl:call-template>
17
+ <xsl:call-template name="Opcional">
18
+ <xsl:with-param name="valor" select="./@OtrosTituloAdquirido" />
19
+ </xsl:call-template>
20
+ <xsl:call-template name="Opcional">
21
+ <xsl:with-param name="valor" select="./@Subtotal" />
22
+ </xsl:call-template>
23
+ <xsl:call-template name="Opcional">
24
+ <xsl:with-param name="valor" select="./@IVA" />
25
+ </xsl:call-template>
26
+ <xsl:call-template name="Requerido">
27
+ <xsl:with-param name="valor" select="./@FechaAdquisicion" />
28
+ </xsl:call-template>
29
+ <xsl:call-template name="Requerido">
30
+ <xsl:with-param name="valor" select="./@CaracterísticasDeObraoPieza" />
31
+ </xsl:call-template>
32
+ </xsl:template>
33
+ </xsl:stylesheet>
@@ -0,0 +1,39 @@
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:pagoenespecie="http://www.sat.gob.mx/pagoenespecie">
3
+ <xsl:output method="text" version="1.0" encoding="UTF-8" indent="no"/>
4
+
5
+ <!-- Manejador de nodos tipo pago en especie-->
6
+ <xsl:template match="pagoenespecie:PagoEnEspecie">
7
+
8
+ <!--Iniciamos el tratamiento de los atributos de PagoEnEspecie -->
9
+ <xsl:call-template name="Requerido">
10
+ <xsl:with-param name="valor" select="./@Version"/>
11
+ </xsl:call-template>
12
+
13
+ <xsl:call-template name="Requerido">
14
+ <xsl:with-param name="valor" select="./@CvePIC"/>
15
+ </xsl:call-template>
16
+
17
+ <xsl:call-template name="Requerido">
18
+ <xsl:with-param name="valor" select="./@FolioSolDon"/>
19
+ </xsl:call-template>
20
+
21
+ <xsl:call-template name="Requerido">
22
+ <xsl:with-param name="valor" select="./@PzaArtNombre"/>
23
+ </xsl:call-template>
24
+
25
+ <xsl:call-template name="Requerido">
26
+ <xsl:with-param name="valor" select="./@PzaArtTecn"/>
27
+ </xsl:call-template>
28
+
29
+ <xsl:call-template name="Requerido">
30
+ <xsl:with-param name="valor" select="./@PzaArtAProd"/>
31
+ </xsl:call-template>
32
+
33
+ <xsl:call-template name="Requerido">
34
+ <xsl:with-param name="valor" select="./@PzaArtDim"/>
35
+ </xsl:call-template>
36
+
37
+ </xsl:template>
38
+
39
+ </xsl:stylesheet>
@@ -0,0 +1,13 @@
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:pfic="http://www.sat.gob.mx/pfic">
3
+ <xsl:output method="text" version="1.0" encoding="UTF-8" indent="no"/>
4
+ <!-- Manejador de nodos tipo pfic:PFintegranteCoordinado -->
5
+ <xsl:template match="pfic:PFintegranteCoordinado">
6
+ <!-- Iniciamos el tratamiento de los atributos de pfic:PFintegranteCoordinado -->
7
+ <xsl:call-template name="Requerido"><xsl:with-param name="valor" select="./@version"/></xsl:call-template>
8
+ <xsl:call-template name="Requerido"><xsl:with-param name="valor" select="./@ClaveVehicular"/></xsl:call-template>
9
+ <xsl:call-template name="Requerido"><xsl:with-param name="valor" select="./@Placa"/></xsl:call-template>
10
+ <xsl:call-template name="Opcional"><xsl:with-param name="valor" select="./@RFCPF"/></xsl:call-template>
11
+ </xsl:template>
12
+
13
+ </xsl:stylesheet>
@@ -0,0 +1,152 @@
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:decreto="http://www.sat.gob.mx/renovacionysustitucionvehiculos">
3
+
4
+ <xsl:template match="decreto:renovacionysustitucionvehiculos">
5
+ <!--Manejador de nodos tipo renovacionysustitucionvehiculos-->
6
+ <xsl:call-template name="Requerido">
7
+ <xsl:with-param name="valor" select="./@Version" />
8
+ </xsl:call-template>
9
+ <xsl:call-template name="Requerido">
10
+ <xsl:with-param name="valor" select="./@TipoDeDecreto" />
11
+ </xsl:call-template>
12
+ <!-- Iniciamos el manejo de los nodos dependientes -->
13
+ <xsl:apply-templates select="./decreto:DecretoRenovVehicular" />
14
+ <xsl:apply-templates select="./decreto:DecretoSustitVehicular" />
15
+ </xsl:template>
16
+
17
+ <xsl:template match="decreto:DecretoRenovVehicular">
18
+ <!-- Iniciamos el tratamiento de los atributos de sustitucionvehiculos:DecretoRenovVehicular-->
19
+ <xsl:call-template name="Requerido">
20
+ <xsl:with-param name="valor" select="./@VehEnaj" />
21
+ </xsl:call-template>
22
+ <!-- Iniciamos el manejo de los nodos dependientes -->
23
+ <xsl:for-each select="./decreto:VehiculosUsadosEnajenadoPermAlFab">
24
+ <xsl:apply-templates select="."/>
25
+ </xsl:for-each>
26
+ <xsl:apply-templates select="./decreto:VehiculoNuvoSemEnajenadoFabAlPerm" />
27
+ </xsl:template>
28
+
29
+ <xsl:template match="decreto:DecretoSustitVehicular">
30
+ <!-- Iniciamos el tratamiento de los atributos de sustitucionvehiculos:DecretoSustitVehicular-->
31
+ <xsl:call-template name="Requerido">
32
+ <xsl:with-param name="valor" select="./@VehEnaj" />
33
+ </xsl:call-template>
34
+ <!-- Iniciamos el manejo de los nodos dependientes -->
35
+ <xsl:apply-templates select="./decreto:VehiculoUsadoEnajenadoPermAlFab" />
36
+ <xsl:apply-templates select="./decreto:VehiculoNuvoSemEnajenadoFabAlPerm" />
37
+ </xsl:template>
38
+
39
+ <xsl:template match="decreto:VehiculosUsadosEnajenadoPermAlFab">
40
+ <xsl:call-template name="Requerido">
41
+ <xsl:with-param name="valor" select="./@PrecioVehUsado" />
42
+ </xsl:call-template>
43
+ <xsl:call-template name="Requerido">
44
+ <xsl:with-param name="valor" select="./@TipoVeh" />
45
+ </xsl:call-template>
46
+ <xsl:call-template name="Requerido">
47
+ <xsl:with-param name="valor" select="./@Marca" />
48
+ </xsl:call-template>
49
+ <xsl:call-template name="Requerido">
50
+ <xsl:with-param name="valor" select="./@TipooClase" />
51
+ </xsl:call-template>
52
+ <xsl:call-template name="Requerido">
53
+ <xsl:with-param name="valor" select="./@Año" />
54
+ </xsl:call-template>
55
+ <xsl:call-template name="Opcional">
56
+ <xsl:with-param name="valor" select="./@Modelo" />
57
+ </xsl:call-template>
58
+ <xsl:call-template name="Opcional">
59
+ <xsl:with-param name="valor" select="./@NIV" />
60
+ </xsl:call-template>
61
+ <xsl:call-template name="Opcional">
62
+ <xsl:with-param name="valor" select="./@NumSerie" />
63
+ </xsl:call-template>
64
+ <xsl:call-template name="Requerido">
65
+ <xsl:with-param name="valor" select="./@NumPlacas" />
66
+ </xsl:call-template>
67
+ <xsl:call-template name="Opcional">
68
+ <xsl:with-param name="valor" select="./@NumMotor" />
69
+ </xsl:call-template>
70
+ <xsl:call-template name="Requerido">
71
+ <xsl:with-param name="valor" select="./@NumFolTarjCir" />
72
+ </xsl:call-template>
73
+ <xsl:call-template name="Opcional">
74
+ <xsl:with-param name="valor" select="./@NumPedIm" />
75
+ </xsl:call-template>
76
+ <xsl:call-template name="Opcional">
77
+ <xsl:with-param name="valor" select="./@Aduana" />
78
+ </xsl:call-template>
79
+ <xsl:call-template name="Opcional">
80
+ <xsl:with-param name="valor" select="./@FechaRegulVeh" />
81
+ </xsl:call-template>
82
+ <xsl:call-template name="Requerido">
83
+ <xsl:with-param name="valor" select="./@Foliofiscal" />
84
+ </xsl:call-template>
85
+ </xsl:template>
86
+
87
+ <xsl:template match="decreto:VehiculoNuvoSemEnajenadoFabAlPerm">
88
+ <xsl:call-template name="Requerido">
89
+ <xsl:with-param name="valor" select="./@Año" />
90
+ </xsl:call-template>
91
+ <xsl:call-template name="Opcional">
92
+ <xsl:with-param name="valor" select="./@Modelo" />
93
+ </xsl:call-template>
94
+ <xsl:call-template name="Requerido">
95
+ <xsl:with-param name="valor" select="./@NumPlacas" />
96
+ </xsl:call-template>
97
+ <xsl:call-template name="Opcional">
98
+ <xsl:with-param name="valor" select="./@RFC" />
99
+ </xsl:call-template>
100
+ </xsl:template>
101
+
102
+ <xsl:template match="decreto:VehiculoUsadoEnajenadoPermAlFab">
103
+ <xsl:call-template name="Requerido">
104
+ <xsl:with-param name="valor" select="./@PrecioVehUsado" />
105
+ </xsl:call-template>
106
+ <xsl:call-template name="Requerido">
107
+ <xsl:with-param name="valor" select="./@TipoVeh" />
108
+ </xsl:call-template>
109
+ <xsl:call-template name="Requerido">
110
+ <xsl:with-param name="valor" select="./@Marca" />
111
+ </xsl:call-template>
112
+ <xsl:call-template name="Requerido">
113
+ <xsl:with-param name="valor" select="./@TipooClase" />
114
+ </xsl:call-template>
115
+ <xsl:call-template name="Requerido">
116
+ <xsl:with-param name="valor" select="./@Año" />
117
+ </xsl:call-template>
118
+ <xsl:call-template name="Opcional">
119
+ <xsl:with-param name="valor" select="./@Modelo" />
120
+ </xsl:call-template>
121
+ <xsl:call-template name="Opcional">
122
+ <xsl:with-param name="valor" select="./@NIV" />
123
+ </xsl:call-template>
124
+ <xsl:call-template name="Opcional">
125
+ <xsl:with-param name="valor" select="./@NumSerie" />
126
+ </xsl:call-template>
127
+ <xsl:call-template name="Requerido">
128
+ <xsl:with-param name="valor" select="./@NumPlacas" />
129
+ </xsl:call-template>
130
+ <xsl:call-template name="Opcional">
131
+ <xsl:with-param name="valor" select="./@NumMotor" />
132
+ </xsl:call-template>
133
+ <xsl:call-template name="Requerido">
134
+ <xsl:with-param name="valor" select="./@NumFolTarjCir" />
135
+ </xsl:call-template>
136
+ <xsl:call-template name="Requerido">
137
+ <xsl:with-param name="valor" select="./@NumFolAvisoint" />
138
+ </xsl:call-template>
139
+ <xsl:call-template name="Requerido">
140
+ <xsl:with-param name="valor" select="./@NumPedIm" />
141
+ </xsl:call-template>
142
+ <xsl:call-template name="Requerido">
143
+ <xsl:with-param name="valor" select="./@Aduana" />
144
+ </xsl:call-template>
145
+ <xsl:call-template name="Requerido">
146
+ <xsl:with-param name="valor" select="./@FechaRegulVeh" />
147
+ </xsl:call-template>
148
+ <xsl:call-template name="Requerido">
149
+ <xsl:with-param name="valor" select="./@Foliofiscal" />
150
+ </xsl:call-template>
151
+ </xsl:template>
152
+ </xsl:stylesheet>
@@ -0,0 +1,44 @@
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:servicioparcial="http://www.sat.gob.mx/servicioparcialconstruccion">
3
+ <xsl:template match="servicioparcial:parcialesconstruccion">
4
+ <!--Manejador de nodos tipo parcialesconstruccion-->
5
+ <xsl:call-template name="Requerido">
6
+ <xsl:with-param name="valor" select="./@Version" />
7
+ </xsl:call-template>
8
+ <xsl:call-template name="Requerido">
9
+ <xsl:with-param name="valor" select="./@NumPerLicoAut" />
10
+ </xsl:call-template>
11
+ <!-- Iniciamos el manejo de los nodos dependientes -->
12
+ <xsl:apply-templates select="./servicioparcial:Inmueble" />
13
+ </xsl:template>
14
+ <xsl:template match="servicioparcial:Inmueble">
15
+ <!-- Iniciamos el tratamiento de los atributos de servicioparcial:Inmueble-->
16
+ <xsl:call-template name="Requerido">
17
+ <xsl:with-param name="valor" select="./@Calle" />
18
+ </xsl:call-template>
19
+ <xsl:call-template name="Opcional">
20
+ <xsl:with-param name="valor" select="./@NoExterior" />
21
+ </xsl:call-template>
22
+ <xsl:call-template name="Opcional">
23
+ <xsl:with-param name="valor" select="./@NoInterior" />
24
+ </xsl:call-template>
25
+ <xsl:call-template name="Opcional">
26
+ <xsl:with-param name="valor" select="./@Colonia" />
27
+ </xsl:call-template>
28
+ <xsl:call-template name="Opcional">
29
+ <xsl:with-param name="valor" select="./@Localidad" />
30
+ </xsl:call-template>
31
+ <xsl:call-template name="Opcional">
32
+ <xsl:with-param name="valor" select="./@Referencia" />
33
+ </xsl:call-template>
34
+ <xsl:call-template name="Requerido">
35
+ <xsl:with-param name="valor" select="./@Municipio" />
36
+ </xsl:call-template>
37
+ <xsl:call-template name="Requerido">
38
+ <xsl:with-param name="valor" select="./@Estado" />
39
+ </xsl:call-template>
40
+ <xsl:call-template name="Requerido">
41
+ <xsl:with-param name="valor" select="./@CodigoPostal" />
42
+ </xsl:call-template>
43
+ </xsl:template>
44
+ </xsl:stylesheet>