fdis2 0.1.34

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +51 -0
  3. data/lib/cadena/CartaPorte20.xslt +615 -0
  4. data/lib/cadena/ComercioExterior11.xslt +181 -0
  5. data/lib/cadena/GastosHidrocarburos10.xslt +171 -0
  6. data/lib/cadena/IngresosHidrocarburos.xslt +39 -0
  7. data/lib/cadena/Pagos10.xslt +165 -0
  8. data/lib/cadena/Pagos20.xsd +532 -0
  9. data/lib/cadena/Pagos20.xslt +233 -0
  10. data/lib/cadena/TuristaPasajeroExtranjero.xslt +40 -0
  11. data/lib/cadena/aerolineas.xslt +50 -0
  12. data/lib/cadena/cadena33.xslt +349 -0
  13. data/lib/cadena/cadenaoriginal_4_0.xslt +405 -0
  14. data/lib/cadena/catCFDI.xsd +162331 -0
  15. data/lib/cadena/certificadodedestruccion.xslt +60 -0
  16. data/lib/cadena/cfdiregistrofiscal.xslt +19 -0
  17. data/lib/cadena/cfdv33.xsd +737 -0
  18. data/lib/cadena/cfdv40.xsd +850 -0
  19. data/lib/cadena/consumodeCombustibles11.xslt +94 -0
  20. data/lib/cadena/consumodecombustibles.xslt +108 -0
  21. data/lib/cadena/detallista.xslt +42 -0
  22. data/lib/cadena/divisas.xslt +13 -0
  23. data/lib/cadena/donat11.xslt +13 -0
  24. data/lib/cadena/ecc11.xslt +102 -0
  25. data/lib/cadena/ecc12.xslt +99 -0
  26. data/lib/cadena/iedu.xslt +26 -0
  27. data/lib/cadena/implocal.xslt +39 -0
  28. data/lib/cadena/ine11.xslt +51 -0
  29. data/lib/cadena/leyendasFisc.xslt +28 -0
  30. data/lib/cadena/nomina12.xslt +412 -0
  31. data/lib/cadena/notariospublicos.xslt +301 -0
  32. data/lib/cadena/obrasarteantiguedades.xslt +33 -0
  33. data/lib/cadena/pagoenespecie.xslt +39 -0
  34. data/lib/cadena/pfic.xslt +13 -0
  35. data/lib/cadena/renovacionysustitucionvehiculos.xslt +152 -0
  36. data/lib/cadena/servicioparcialconstruccion.xslt +44 -0
  37. data/lib/cadena/terceros11.xslt +108 -0
  38. data/lib/cadena/utilerias.xslt +22 -0
  39. data/lib/cadena/valesdedespensa.xslt +70 -0
  40. data/lib/cadena/vehiculousado.xslt +63 -0
  41. data/lib/cadena/ventavehiculos11.xslt +53 -0
  42. data/lib/fdis/config.rb +101 -0
  43. data/lib/fdis/facturacion.rb +785 -0
  44. data/lib/fdis/version.rb +3 -0
  45. data/lib/fdis.rb +17 -0
  46. metadata +144 -0
@@ -0,0 +1,615 @@
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:cartaporte20="http://www.sat.gob.mx/CartaPorte20">
3
+ <xsl:template match="cartaporte20:CartaPorte">
4
+ <!--Manejador de nodos tipo CartaPorte-->
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="./@TranspInternac"/>
10
+ </xsl:call-template>
11
+ <xsl:call-template name="Opcional">
12
+ <xsl:with-param name="valor" select="./@EntradaSalidaMerc"/>
13
+ </xsl:call-template>
14
+ <xsl:call-template name="Opcional">
15
+ <xsl:with-param name="valor" select="./@PaisOrigenDestino"/>
16
+ </xsl:call-template>
17
+ <xsl:call-template name="Opcional">
18
+ <xsl:with-param name="valor" select="./@ViaEntradaSalida"/>
19
+ </xsl:call-template>
20
+ <xsl:call-template name="Opcional">
21
+ <xsl:with-param name="valor" select="./@TotalDistRec"/>
22
+ </xsl:call-template>
23
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia -->
24
+ <xsl:for-each select="./cartaporte20:Ubicaciones">
25
+ <xsl:apply-templates select="."/>
26
+ </xsl:for-each>
27
+ <xsl:for-each select="./cartaporte20:Mercancias">
28
+ <xsl:apply-templates select="."/>
29
+ </xsl:for-each>
30
+ <xsl:for-each select="./cartaporte20:FiguraTransporte">
31
+ <xsl:apply-templates select="."/>
32
+ </xsl:for-each>
33
+ </xsl:template>
34
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia Ubicaciones-->
35
+ <xsl:template match="cartaporte20:Ubicaciones">
36
+ <!-- Iniciamos el tratamiento de los atributos de Ubicacion-->
37
+ <xsl:for-each select="./cartaporte20:Ubicacion">
38
+ <xsl:apply-templates select="."/>
39
+ </xsl:for-each>
40
+ </xsl:template>
41
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia Ubicacion-->
42
+ <xsl:template match="cartaporte20:Ubicacion">
43
+ <!--Manejador de nodos tipo Ubicacion-->
44
+ <xsl:call-template name="Requerido">
45
+ <xsl:with-param name="valor" select="./@TipoUbicacion"/>
46
+ </xsl:call-template>
47
+ <xsl:call-template name="Opcional">
48
+ <xsl:with-param name="valor" select="./@IDUbicacion"/>
49
+ </xsl:call-template>
50
+ <xsl:call-template name="Requerido">
51
+ <xsl:with-param name="valor" select="./@RFCRemitenteDestinatario"/>
52
+ </xsl:call-template>
53
+ <xsl:call-template name="Opcional">
54
+ <xsl:with-param name="valor" select="./@NombreRemitenteDestinatario"/>
55
+ </xsl:call-template>
56
+ <xsl:call-template name="Opcional">
57
+ <xsl:with-param name="valor" select="./@NumRegIdTrib"/>
58
+ </xsl:call-template>
59
+ <xsl:call-template name="Opcional">
60
+ <xsl:with-param name="valor" select="./@ResidenciaFiscal"/>
61
+ </xsl:call-template>
62
+ <xsl:call-template name="Opcional">
63
+ <xsl:with-param name="valor" select="./@NumEstacion"/>
64
+ </xsl:call-template>
65
+ <xsl:call-template name="Opcional">
66
+ <xsl:with-param name="valor" select="./@NombreEstacion"/>
67
+ </xsl:call-template>
68
+ <xsl:call-template name="Opcional">
69
+ <xsl:with-param name="valor" select="./@NavegacionTrafico"/>
70
+ </xsl:call-template>
71
+ <xsl:call-template name="Requerido">
72
+ <xsl:with-param name="valor" select="./@FechaHoraSalidaLlegada"/>
73
+ </xsl:call-template>
74
+ <xsl:call-template name="Opcional">
75
+ <xsl:with-param name="valor" select="./@TipoEstacion"/>
76
+ </xsl:call-template>
77
+ <xsl:call-template name="Opcional">
78
+ <xsl:with-param name="valor" select="./@DistanciaRecorrida"/>
79
+ </xsl:call-template>
80
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:Domicilio-->
81
+ <xsl:for-each select="./cartaporte20:Domicilio">
82
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia Domicilio-->
83
+ <!-- Iniciamos el manejo de los nodos dependientes -->
84
+ <xsl:call-template name="Opcional">
85
+ <xsl:with-param name="valor" select="./@Calle"/>
86
+ </xsl:call-template>
87
+ <xsl:call-template name="Opcional">
88
+ <xsl:with-param name="valor" select="./@NumeroExterior"/>
89
+ </xsl:call-template>
90
+ <xsl:call-template name="Opcional">
91
+ <xsl:with-param name="valor" select="./@NumeroInterior"/>
92
+ </xsl:call-template>
93
+ <xsl:call-template name="Opcional">
94
+ <xsl:with-param name="valor" select="./@Colonia"/>
95
+ </xsl:call-template>
96
+ <xsl:call-template name="Opcional">
97
+ <xsl:with-param name="valor" select="./@Localidad"/>
98
+ </xsl:call-template>
99
+ <xsl:call-template name="Opcional">
100
+ <xsl:with-param name="valor" select="./@Referencia"/>
101
+ </xsl:call-template>
102
+ <xsl:call-template name="Opcional">
103
+ <xsl:with-param name="valor" select="./@Municipio"/>
104
+ </xsl:call-template>
105
+ <xsl:call-template name="Requerido">
106
+ <xsl:with-param name="valor" select="./@Estado"/>
107
+ </xsl:call-template>
108
+ <xsl:call-template name="Requerido">
109
+ <xsl:with-param name="valor" select="./@Pais"/>
110
+ </xsl:call-template>
111
+ <xsl:call-template name="Requerido">
112
+ <xsl:with-param name="valor" select="./@CodigoPostal"/>
113
+ </xsl:call-template>
114
+ </xsl:for-each>
115
+ </xsl:template>
116
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia Origen-->
117
+ <xsl:template match="cartaporte20:Mercancias">
118
+ <!--Manejador de nodos tipo cartaporte20:Mercancias-->
119
+ <xsl:call-template name="Requerido">
120
+ <xsl:with-param name="valor" select="./@PesoBrutoTotal"/>
121
+ </xsl:call-template>
122
+ <xsl:call-template name="Requerido">
123
+ <xsl:with-param name="valor" select="./@UnidadPeso"/>
124
+ </xsl:call-template>
125
+ <xsl:call-template name="Opcional">
126
+ <xsl:with-param name="valor" select="./@PesoNetoTotal"/>
127
+ </xsl:call-template>
128
+ <xsl:call-template name="Requerido">
129
+ <xsl:with-param name="valor" select="./@NumTotalMercancias"/>
130
+ </xsl:call-template>
131
+ <xsl:call-template name="Opcional">
132
+ <xsl:with-param name="valor" select="./@CargoPorTasacion"/>
133
+ </xsl:call-template>
134
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:Mercancia-->
135
+ <xsl:for-each select="./cartaporte20:Mercancia">
136
+ <xsl:apply-templates select="."/>
137
+ </xsl:for-each>
138
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:Autotransporte-->
139
+ <xsl:for-each select="./cartaporte20:Autotransporte">
140
+ <xsl:apply-templates select="."/>
141
+ </xsl:for-each>
142
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:TransporteMaritimo-->
143
+ <xsl:for-each select="./cartaporte20:TransporteMaritimo">
144
+ <xsl:apply-templates select="."/>
145
+ </xsl:for-each>
146
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:TransporteAereo-->
147
+ <xsl:for-each select="./cartaporte20:TransporteAereo">
148
+ <xsl:apply-templates select="."/>
149
+ </xsl:for-each>
150
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:TransporteFerroviario-->
151
+ <xsl:for-each select="./cartaporte20:TransporteFerroviario">
152
+ <xsl:apply-templates select="."/>
153
+ </xsl:for-each>
154
+ </xsl:template>
155
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia Mercancia-->
156
+ <xsl:template match="cartaporte20:Mercancia">
157
+ <!--Manejador de nodos tipo cartaporte20:Mercancia-->
158
+ <xsl:call-template name="Requerido">
159
+ <xsl:with-param name="valor" select="./@BienesTransp"/>
160
+ </xsl:call-template>
161
+ <xsl:call-template name="Opcional">
162
+ <xsl:with-param name="valor" select="./@ClaveSTCC"/>
163
+ </xsl:call-template>
164
+ <xsl:call-template name="Requerido">
165
+ <xsl:with-param name="valor" select="./@Descripcion"/>
166
+ </xsl:call-template>
167
+ <xsl:call-template name="Requerido">
168
+ <xsl:with-param name="valor" select="./@Cantidad"/>
169
+ </xsl:call-template>
170
+ <xsl:call-template name="Requerido">
171
+ <xsl:with-param name="valor" select="./@ClaveUnidad"/>
172
+ </xsl:call-template>
173
+ <xsl:call-template name="Opcional">
174
+ <xsl:with-param name="valor" select="./@Unidad"/>
175
+ </xsl:call-template>
176
+ <xsl:call-template name="Opcional">
177
+ <xsl:with-param name="valor" select="./@Dimensiones"/>
178
+ </xsl:call-template>
179
+ <xsl:call-template name="Opcional">
180
+ <xsl:with-param name="valor" select="./@MaterialPeligroso"/>
181
+ </xsl:call-template>
182
+ <xsl:call-template name="Opcional">
183
+ <xsl:with-param name="valor" select="./@CveMaterialPeligroso"/>
184
+ </xsl:call-template>
185
+ <xsl:call-template name="Opcional">
186
+ <xsl:with-param name="valor" select="./@Embalaje"/>
187
+ </xsl:call-template>
188
+ <xsl:call-template name="Opcional">
189
+ <xsl:with-param name="valor" select="./@DescripEmbalaje"/>
190
+ </xsl:call-template>
191
+ <xsl:call-template name="Requerido">
192
+ <xsl:with-param name="valor" select="./@PesoEnKg"/>
193
+ </xsl:call-template>
194
+ <xsl:call-template name="Opcional">
195
+ <xsl:with-param name="valor" select="./@ValorMercancia"/>
196
+ </xsl:call-template>
197
+ <xsl:call-template name="Opcional">
198
+ <xsl:with-param name="valor" select="./@Moneda"/>
199
+ </xsl:call-template>
200
+ <xsl:call-template name="Opcional">
201
+ <xsl:with-param name="valor" select="./@FraccionArancelaria"/>
202
+ </xsl:call-template>
203
+ <xsl:call-template name="Opcional">
204
+ <xsl:with-param name="valor" select="./@UUIDComercioExt"/>
205
+ </xsl:call-template>
206
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:Pedimentos-->
207
+ <xsl:for-each select="./cartaporte20:Pedimentos">
208
+ <xsl:apply-templates select="."/>
209
+ </xsl:for-each>
210
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:GuiasIdentificacion-->
211
+ <xsl:for-each select="./cartaporte20:GuiasIdentificacion">
212
+ <xsl:apply-templates select="."/>
213
+ </xsl:for-each>
214
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:CantidadTransporta-->
215
+ <xsl:for-each select="./cartaporte20:CantidadTransporta">
216
+ <xsl:apply-templates select="."/>
217
+ </xsl:for-each>
218
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:DetalleMercancia-->
219
+ <xsl:for-each select="./cartaporte20:DetalleMercancia">
220
+ <xsl:apply-templates select="."/>
221
+ </xsl:for-each>
222
+ </xsl:template>
223
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia Pedimentos-->
224
+ <xsl:template match="cartaporte20:Pedimentos">
225
+ <!-- Iniciamos el manejo de los nodos dependientes -->
226
+ <xsl:call-template name="Requerido">
227
+ <xsl:with-param name="valor" select="./@Pedimento"/>
228
+ </xsl:call-template>
229
+ </xsl:template>
230
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia GuiasIdentificacion-->
231
+ <xsl:template match="cartaporte20:GuiasIdentificacion">
232
+ <!-- Iniciamos el manejo de los nodos dependientes -->
233
+ <xsl:call-template name="Requerido">
234
+ <xsl:with-param name="valor" select="./@NumeroGuiaIdentificacion"/>
235
+ </xsl:call-template>
236
+ <xsl:call-template name="Requerido">
237
+ <xsl:with-param name="valor" select="./@DescripGuiaIdentificacion"/>
238
+ </xsl:call-template>
239
+ <xsl:call-template name="Requerido">
240
+ <xsl:with-param name="valor" select="./@PesoGuiaIdentificacion"/>
241
+ </xsl:call-template>
242
+ </xsl:template>
243
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia CantidadTransporta-->
244
+ <xsl:template match="cartaporte20:CantidadTransporta">
245
+ <!-- Iniciamos el manejo de los nodos dependientes -->
246
+ <xsl:call-template name="Requerido">
247
+ <xsl:with-param name="valor" select="./@Cantidad"/>
248
+ </xsl:call-template>
249
+ <xsl:call-template name="Requerido">
250
+ <xsl:with-param name="valor" select="./@IDOrigen"/>
251
+ </xsl:call-template>
252
+ <xsl:call-template name="Requerido">
253
+ <xsl:with-param name="valor" select="./@IDDestino"/>
254
+ </xsl:call-template>
255
+ <xsl:call-template name="Opcional">
256
+ <xsl:with-param name="valor" select="./@CvesTransporte"/>
257
+ </xsl:call-template>
258
+ </xsl:template>
259
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia DetalleMercancia-->
260
+ <xsl:template match="cartaporte20:DetalleMercancia">
261
+ <!-- Iniciamos el manejo de los nodos dependientes -->
262
+ <xsl:call-template name="Requerido">
263
+ <xsl:with-param name="valor" select="./@UnidadPesoMerc"/>
264
+ </xsl:call-template>
265
+ <xsl:call-template name="Requerido">
266
+ <xsl:with-param name="valor" select="./@PesoBruto"/>
267
+ </xsl:call-template>
268
+ <xsl:call-template name="Requerido">
269
+ <xsl:with-param name="valor" select="./@PesoNeto"/>
270
+ </xsl:call-template>
271
+ <xsl:call-template name="Requerido">
272
+ <xsl:with-param name="valor" select="./@PesoTara"/>
273
+ </xsl:call-template>
274
+ <xsl:call-template name="Opcional">
275
+ <xsl:with-param name="valor" select="./@NumPiezas"/>
276
+ </xsl:call-template>
277
+ </xsl:template>
278
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia Autotransporte-->
279
+ <xsl:template match="cartaporte20:Autotransporte">
280
+ <!--Manejador de nodos tipo cartaporte20:Autotransporte-->
281
+ <xsl:call-template name="Requerido">
282
+ <xsl:with-param name="valor" select="./@PermSCT"/>
283
+ </xsl:call-template>
284
+ <xsl:call-template name="Requerido">
285
+ <xsl:with-param name="valor" select="./@NumPermisoSCT"/>
286
+ </xsl:call-template>
287
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:IdentificacionVehicular-->
288
+ <xsl:for-each select="./cartaporte20:IdentificacionVehicular">
289
+ <xsl:apply-templates select="."/>
290
+ </xsl:for-each>
291
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:Seguros-->
292
+ <xsl:for-each select="./cartaporte20:Seguros">
293
+ <xsl:apply-templates select="."/>
294
+ </xsl:for-each>
295
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:Remolques-->
296
+ <xsl:for-each select="./cartaporte20:Remolques">
297
+ <xsl:apply-templates select="."/>
298
+ </xsl:for-each>
299
+ </xsl:template>
300
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia IdentificacionVehicular-->
301
+ <xsl:template match="cartaporte20:IdentificacionVehicular">
302
+ <!-- Iniciamos el manejo de los nodos dependientes -->
303
+ <xsl:call-template name="Requerido">
304
+ <xsl:with-param name="valor" select="./@ConfigVehicular"/>
305
+ </xsl:call-template>
306
+ <xsl:call-template name="Requerido">
307
+ <xsl:with-param name="valor" select="./@PlacaVM"/>
308
+ </xsl:call-template>
309
+ <xsl:call-template name="Requerido">
310
+ <xsl:with-param name="valor" select="./@AnioModeloVM"/>
311
+ </xsl:call-template>
312
+ </xsl:template>
313
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia Seguros-->
314
+ <xsl:template match="cartaporte20:Seguros">
315
+ <!-- Iniciamos el manejo de los nodos dependientes -->
316
+ <xsl:call-template name="Requerido">
317
+ <xsl:with-param name="valor" select="./@AseguraRespCivil"/>
318
+ </xsl:call-template>
319
+ <xsl:call-template name="Requerido">
320
+ <xsl:with-param name="valor" select="./@PolizaRespCivil"/>
321
+ </xsl:call-template>
322
+ <xsl:call-template name="Opcional">
323
+ <xsl:with-param name="valor" select="./@AseguraMedAmbiente"/>
324
+ </xsl:call-template>
325
+ <xsl:call-template name="Opcional">
326
+ <xsl:with-param name="valor" select="./@PolizaMedAmbiente"/>
327
+ </xsl:call-template>
328
+ <xsl:call-template name="Opcional">
329
+ <xsl:with-param name="valor" select="./@AseguraCarga"/>
330
+ </xsl:call-template>
331
+ <xsl:call-template name="Opcional">
332
+ <xsl:with-param name="valor" select="./@PolizaCarga"/>
333
+ </xsl:call-template>
334
+ <xsl:call-template name="Opcional">
335
+ <xsl:with-param name="valor" select="./@PrimaSeguro"/>
336
+ </xsl:call-template>
337
+ </xsl:template>
338
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia Remolques-->
339
+ <xsl:template match="cartaporte20:Remolques">
340
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:Remolque-->
341
+ <xsl:for-each select="./cartaporte20:Remolque">
342
+ <xsl:apply-templates select="."/>
343
+ </xsl:for-each>
344
+ </xsl:template>
345
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia Remolque-->
346
+ <xsl:template match="cartaporte20:Remolque">
347
+ <!-- Iniciamos el manejo de los nodos dependientes -->
348
+ <xsl:call-template name="Requerido">
349
+ <xsl:with-param name="valor" select="./@SubTipoRem"/>
350
+ </xsl:call-template>
351
+ <xsl:call-template name="Requerido">
352
+ <xsl:with-param name="valor" select="./@Placa"/>
353
+ </xsl:call-template>
354
+ </xsl:template>
355
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia TransporteMaritimo-->
356
+ <xsl:template match="cartaporte20:TransporteMaritimo">
357
+ <!--Manejador de nodos tipo cartaporte20:TransporteMaritimo-->
358
+ <xsl:call-template name="Opcional">
359
+ <xsl:with-param name="valor" select="./@PermSCT"/>
360
+ </xsl:call-template>
361
+ <xsl:call-template name="Opcional">
362
+ <xsl:with-param name="valor" select="./@NumPermisoSCT"/>
363
+ </xsl:call-template>
364
+ <xsl:call-template name="Opcional">
365
+ <xsl:with-param name="valor" select="./@NombreAseg"/>
366
+ </xsl:call-template>
367
+ <xsl:call-template name="Opcional">
368
+ <xsl:with-param name="valor" select="./@NumPolizaSeguro"/>
369
+ </xsl:call-template>
370
+ <xsl:call-template name="Requerido">
371
+ <xsl:with-param name="valor" select="./@TipoEmbarcacion"/>
372
+ </xsl:call-template>
373
+ <xsl:call-template name="Requerido">
374
+ <xsl:with-param name="valor" select="./@Matricula"/>
375
+ </xsl:call-template>
376
+ <xsl:call-template name="Requerido">
377
+ <xsl:with-param name="valor" select="./@NumeroOMI"/>
378
+ </xsl:call-template>
379
+ <xsl:call-template name="Opcional">
380
+ <xsl:with-param name="valor" select="./@AnioEmbarcacion"/>
381
+ </xsl:call-template>
382
+ <xsl:call-template name="Opcional">
383
+ <xsl:with-param name="valor" select="./@NombreEmbarc"/>
384
+ </xsl:call-template>
385
+ <xsl:call-template name="Requerido">
386
+ <xsl:with-param name="valor" select="./@NacionalidadEmbarc"/>
387
+ </xsl:call-template>
388
+ <xsl:call-template name="Requerido">
389
+ <xsl:with-param name="valor" select="./@UnidadesDeArqBruto"/>
390
+ </xsl:call-template>
391
+ <xsl:call-template name="Requerido">
392
+ <xsl:with-param name="valor" select="./@TipoCarga"/>
393
+ </xsl:call-template>
394
+ <xsl:call-template name="Requerido">
395
+ <xsl:with-param name="valor" select="./@NumCertITC"/>
396
+ </xsl:call-template>
397
+ <xsl:call-template name="Opcional">
398
+ <xsl:with-param name="valor" select="./@Eslora"/>
399
+ </xsl:call-template>
400
+ <xsl:call-template name="Opcional">
401
+ <xsl:with-param name="valor" select="./@Manga"/>
402
+ </xsl:call-template>
403
+ <xsl:call-template name="Opcional">
404
+ <xsl:with-param name="valor" select="./@Calado"/>
405
+ </xsl:call-template>
406
+ <xsl:call-template name="Opcional">
407
+ <xsl:with-param name="valor" select="./@LineaNaviera"/>
408
+ </xsl:call-template>
409
+ <xsl:call-template name="Requerido">
410
+ <xsl:with-param name="valor" select="./@NombreAgenteNaviero"/>
411
+ </xsl:call-template>
412
+ <xsl:call-template name="Requerido">
413
+ <xsl:with-param name="valor" select="./@NumAutorizacionNaviero"/>
414
+ </xsl:call-template>
415
+ <xsl:call-template name="Opcional">
416
+ <xsl:with-param name="valor" select="./@NumViaje"/>
417
+ </xsl:call-template>
418
+ <xsl:call-template name="Opcional">
419
+ <xsl:with-param name="valor" select="./@NumConocEmbarc"/>
420
+ </xsl:call-template>
421
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:Contenedor-->
422
+ <xsl:for-each select="./cartaporte20:Contenedor">
423
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia Contenedor-->
424
+ <!-- Iniciamos el manejo de los nodos dependientes -->
425
+ <xsl:call-template name="Requerido">
426
+ <xsl:with-param name="valor" select="./@MatriculaContenedor"/>
427
+ </xsl:call-template>
428
+ <xsl:call-template name="Requerido">
429
+ <xsl:with-param name="valor" select="./@TipoContenedor"/>
430
+ </xsl:call-template>
431
+ <xsl:call-template name="Opcional">
432
+ <xsl:with-param name="valor" select="./@NumPrecinto"/>
433
+ </xsl:call-template>
434
+ </xsl:for-each>
435
+ </xsl:template>
436
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia TransporteAereo-->
437
+ <xsl:template match="cartaporte20:TransporteAereo">
438
+ <!--Manejador de nodos tipo cartaporte20:TransporteAereo-->
439
+ <xsl:call-template name="Requerido">
440
+ <xsl:with-param name="valor" select="./@PermSCT"/>
441
+ </xsl:call-template>
442
+ <xsl:call-template name="Requerido">
443
+ <xsl:with-param name="valor" select="./@NumPermisoSCT"/>
444
+ </xsl:call-template>
445
+ <xsl:call-template name="Opcional">
446
+ <xsl:with-param name="valor" select="./@MatriculaAeronave"/>
447
+ </xsl:call-template>
448
+ <xsl:call-template name="Opcional">
449
+ <xsl:with-param name="valor" select="./@NombreAseg"/>
450
+ </xsl:call-template>
451
+ <xsl:call-template name="Opcional">
452
+ <xsl:with-param name="valor" select="./@NumPolizaSeguro"/>
453
+ </xsl:call-template>
454
+ <xsl:call-template name="Requerido">
455
+ <xsl:with-param name="valor" select="./@NumeroGuia"/>
456
+ </xsl:call-template>
457
+ <xsl:call-template name="Opcional">
458
+ <xsl:with-param name="valor" select="./@LugarContrato"/>
459
+ </xsl:call-template>
460
+ <xsl:call-template name="Requerido">
461
+ <xsl:with-param name="valor" select="./@CodigoTransportista"/>
462
+ </xsl:call-template>
463
+ <xsl:call-template name="Opcional">
464
+ <xsl:with-param name="valor" select="./@RFCEmbarcador"/>
465
+ </xsl:call-template>
466
+ <xsl:call-template name="Opcional">
467
+ <xsl:with-param name="valor" select="./@NumRegIdTribEmbarc"/>
468
+ </xsl:call-template>
469
+ <xsl:call-template name="Opcional">
470
+ <xsl:with-param name="valor" select="./@ResidenciaFiscalEmbarc"/>
471
+ </xsl:call-template>
472
+ <xsl:call-template name="Opcional">
473
+ <xsl:with-param name="valor" select="./@NombreEmbarcador"/>
474
+ </xsl:call-template>
475
+ </xsl:template>
476
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia TransporteFerroviario-->
477
+ <xsl:template match="cartaporte20:TransporteFerroviario">
478
+ <!--Manejador de nodos tipo cartaporte20:TransporteFerroviario-->
479
+ <xsl:call-template name="Requerido">
480
+ <xsl:with-param name="valor" select="./@TipoDeServicio"/>
481
+ </xsl:call-template>
482
+ <xsl:call-template name="Requerido">
483
+ <xsl:with-param name="valor" select="./@TipoDeTrafico"/>
484
+ </xsl:call-template>
485
+ <xsl:call-template name="Opcional">
486
+ <xsl:with-param name="valor" select="./@NombreAseg"/>
487
+ </xsl:call-template>
488
+ <xsl:call-template name="Opcional">
489
+ <xsl:with-param name="valor" select="./@NumPolizaSeguro"/>
490
+ </xsl:call-template>
491
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:DerechosDePaso-->
492
+ <xsl:for-each select="./cartaporte20:DerechosDePaso">
493
+ <xsl:apply-templates select="."/>
494
+ </xsl:for-each>
495
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:Carro-->
496
+ <xsl:for-each select="./cartaporte20:Carro">
497
+ <xsl:apply-templates select="."/>
498
+ </xsl:for-each>
499
+ </xsl:template>
500
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia DerechosDePaso-->
501
+ <xsl:template match="cartaporte20:DerechosDePaso">
502
+ <!-- Iniciamos el manejo de los nodos dependientes -->
503
+ <xsl:call-template name="Requerido">
504
+ <xsl:with-param name="valor" select="./@TipoDerechoDePaso"/>
505
+ </xsl:call-template>
506
+ <xsl:call-template name="Requerido">
507
+ <xsl:with-param name="valor" select="./@KilometrajePagado"/>
508
+ </xsl:call-template>
509
+ </xsl:template>
510
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia Carro-->
511
+ <xsl:template match="cartaporte20:Carro">
512
+ <!--Manejador de nodos tipo cartaporte20:Carro-->
513
+ <xsl:call-template name="Requerido">
514
+ <xsl:with-param name="valor" select="./@TipoCarro"/>
515
+ </xsl:call-template>
516
+ <xsl:call-template name="Requerido">
517
+ <xsl:with-param name="valor" select="./@MatriculaCarro"/>
518
+ </xsl:call-template>
519
+ <xsl:call-template name="Requerido">
520
+ <xsl:with-param name="valor" select="./@GuiaCarro"/>
521
+ </xsl:call-template>
522
+ <xsl:call-template name="Requerido">
523
+ <xsl:with-param name="valor" select="./@ToneladasNetasCarro"/>
524
+ </xsl:call-template>
525
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:Contenedor -->
526
+ <xsl:for-each select="./cartaporte20:Contenedor ">
527
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia Contenedor-->
528
+ <!-- Iniciamos el manejo de los nodos dependientes -->
529
+ <xsl:call-template name="Requerido">
530
+ <xsl:with-param name="valor" select="./@TipoContenedor"/>
531
+ </xsl:call-template>
532
+ <xsl:call-template name="Requerido">
533
+ <xsl:with-param name="valor" select="./@PesoContenedorVacio"/>
534
+ </xsl:call-template>
535
+ <xsl:call-template name="Requerido">
536
+ <xsl:with-param name="valor" select="./@PesoNetoMercancia"/>
537
+ </xsl:call-template>
538
+ </xsl:for-each>
539
+ </xsl:template>
540
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia FiguraTransporte-->
541
+ <xsl:template match="cartaporte20:FiguraTransporte">
542
+ <!--Manejador de nodos tipo cartaporte20:FiguraTransporte-->
543
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:TiposFigura-->
544
+ <xsl:for-each select="./cartaporte20:TiposFigura ">
545
+ <xsl:apply-templates select="."/>
546
+ </xsl:for-each>
547
+ </xsl:template>
548
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia TiposFigura-->
549
+ <xsl:template match="cartaporte20:TiposFigura">
550
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:TiposFigura-->
551
+ <xsl:call-template name="Requerido">
552
+ <xsl:with-param name="valor" select="./@TipoFigura"/>
553
+ </xsl:call-template>
554
+ <xsl:call-template name="Opcional">
555
+ <xsl:with-param name="valor" select="./@RFCFigura"/>
556
+ </xsl:call-template>
557
+ <xsl:call-template name="Opcional">
558
+ <xsl:with-param name="valor" select="./@NumLicencia"/>
559
+ </xsl:call-template>
560
+ <xsl:call-template name="Opcional">
561
+ <xsl:with-param name="valor" select="./@NombreFigura"/>
562
+ </xsl:call-template>
563
+ <xsl:call-template name="Opcional">
564
+ <xsl:with-param name="valor" select="./@NumRegIdTribFigura"/>
565
+ </xsl:call-template>
566
+ <xsl:call-template name="Opcional">
567
+ <xsl:with-param name="valor" select="./@ResidenciaFiscalFigura"/>
568
+ </xsl:call-template>
569
+ <xsl:for-each select="./cartaporte20:PartesTransporte">
570
+ <xsl:apply-templates select="."/>
571
+ </xsl:for-each>
572
+ <!-- Iniciamos el tratamiento de los atributos de cartaporte20:Domicilio -->
573
+ <xsl:for-each select="./cartaporte20:Domicilio ">
574
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia Domicilio-->
575
+ <!-- Iniciamos el manejo de los nodos dependientes -->
576
+ <xsl:call-template name="Opcional">
577
+ <xsl:with-param name="valor" select="./@Calle"/>
578
+ </xsl:call-template>
579
+ <xsl:call-template name="Opcional">
580
+ <xsl:with-param name="valor" select="./@NumeroExterior"/>
581
+ </xsl:call-template>
582
+ <xsl:call-template name="Opcional">
583
+ <xsl:with-param name="valor" select="./@NumeroInterior"/>
584
+ </xsl:call-template>
585
+ <xsl:call-template name="Opcional">
586
+ <xsl:with-param name="valor" select="./@Colonia"/>
587
+ </xsl:call-template>
588
+ <xsl:call-template name="Opcional">
589
+ <xsl:with-param name="valor" select="./@Localidad"/>
590
+ </xsl:call-template>
591
+ <xsl:call-template name="Opcional">
592
+ <xsl:with-param name="valor" select="./@Referencia"/>
593
+ </xsl:call-template>
594
+ <xsl:call-template name="Opcional">
595
+ <xsl:with-param name="valor" select="./@Municipio"/>
596
+ </xsl:call-template>
597
+ <xsl:call-template name="Requerido">
598
+ <xsl:with-param name="valor" select="./@Estado"/>
599
+ </xsl:call-template>
600
+ <xsl:call-template name="Requerido">
601
+ <xsl:with-param name="valor" select="./@Pais"/>
602
+ </xsl:call-template>
603
+ <xsl:call-template name="Requerido">
604
+ <xsl:with-param name="valor" select="./@CodigoPostal"/>
605
+ </xsl:call-template>
606
+ </xsl:for-each>
607
+ </xsl:template>
608
+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia PartesTransporte-->
609
+ <xsl:template match="cartaporte20:PartesTransporte">
610
+ <!--Manejador de nodos tipo cartaporte20:PartesTransporte-->
611
+ <xsl:call-template name="Requerido">
612
+ <xsl:with-param name="valor" select="./@ParteTransporte"/>
613
+ </xsl:call-template>
614
+ </xsl:template>
615
+ </xsl:stylesheet>