1+ <?xml version =" 1.0" encoding =" utf-8" ?>
2+ <xsl : stylesheet version =" 2.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 : cce20 =" http://www.sat.gob.mx/ComercioExterior20" >
3+
4+ <xsl : template match =" cce20:ComercioExterior" >
5+ <!-- Manejador de nodos tipo ComercioExterior-->
6+ <xsl : call-template name =" Requerido" >
7+ <xsl : with-param name =" valor" select =" ./@Version" />
8+ </xsl : call-template >
9+ <xsl : call-template name =" Opcional" >
10+ <xsl : with-param name =" valor" select =" ./@MotivoTraslado" />
11+ </xsl : call-template >
12+ <xsl : call-template name =" Requerido" >
13+ <xsl : with-param name =" valor" select =" ./@ClaveDePedimento" />
14+ </xsl : call-template >
15+ <xsl : call-template name =" Requerido" >
16+ <xsl : with-param name =" valor" select =" ./@CertificadoOrigen" />
17+ </xsl : call-template >
18+ <xsl : call-template name =" Opcional" >
19+ <xsl : with-param name =" valor" select =" ./@NumCertificadoOrigen" />
20+ </xsl : call-template >
21+ <xsl : call-template name =" Opcional" >
22+ <xsl : with-param name =" valor" select =" ./@NumeroExportadorConfiable" />
23+ </xsl : call-template >
24+ <xsl : call-template name =" Opcional" >
25+ <xsl : with-param name =" valor" select =" ./@Incoterm" />
26+ </xsl : call-template >
27+ <xsl : call-template name =" Opcional" >
28+ <xsl : with-param name =" valor" select =" ./@Observaciones" />
29+ </xsl : call-template >
30+ <xsl : call-template name =" Requerido" >
31+ <xsl : with-param name =" valor" select =" ./@TipoCambioUSD" />
32+ </xsl : call-template >
33+ <xsl : call-template name =" Requerido" >
34+ <xsl : with-param name =" valor" select =" ./@TotalUSD" />
35+ </xsl : call-template >
36+
37+ <!-- Iniciamos el manejo de los elementos hijo en la secuencia -->
38+ <xsl : apply-templates select =" ./cce20:Emisor" />
39+ <xsl : for-each select =" ./cce20:Propietario" >
40+ <xsl : apply-templates select =" ." />
41+ </xsl : for-each >
42+ <xsl : apply-templates select =" ./cce20:Receptor" />
43+ <xsl : for-each select =" ./cce20:Destinatario" >
44+ <xsl : apply-templates select =" ." />
45+ </xsl : for-each >
46+ <xsl : apply-templates select =" ./cce20:Mercancias" />
47+ </xsl : template >
48+
49+ <xsl : template match =" cce20:Emisor" >
50+ <!-- Iniciamos el tratamiento de los atributos de cce20:Emisor-->
51+ <xsl : call-template name =" Opcional" >
52+ <xsl : with-param name =" valor" select =" ./@Curp" />
53+ </xsl : call-template >
54+
55+ <xsl : apply-templates select =" ./cce20:Domicilio" />
56+
57+ </xsl : template >
58+
59+ <xsl : template match =" cce20:Propietario" >
60+ <!-- Iniciamos el tratamiento de los atributos de cce20:Propietario-->
61+ <xsl : call-template name =" Requerido" >
62+ <xsl : with-param name =" valor" select =" ./@NumRegIdTrib" />
63+ </xsl : call-template >
64+ <xsl : call-template name =" Requerido" >
65+ <xsl : with-param name =" valor" select =" ./@ResidenciaFiscal" />
66+ </xsl : call-template >
67+
68+ </xsl : template >
69+
70+ <xsl : template match =" cce20:Receptor" >
71+ <!-- Tratamiento de los atributos de cce20:Receptor-->
72+
73+ <xsl : call-template name =" Opcional" >
74+ <xsl : with-param name =" valor" select =" ./@NumRegIdTrib" />
75+ </xsl : call-template >
76+ <xsl : apply-templates select =" ./cce20:Domicilio" />
77+
78+ </xsl : template >
79+
80+ <xsl : template match =" cce20:Destinatario" >
81+ <!-- Tratamiento de los atributos de cce20:Destinatario-->
82+ <xsl : call-template name =" Opcional" >
83+ <xsl : with-param name =" valor" select =" ./@NumRegIdTrib" />
84+ </xsl : call-template >
85+ <xsl : call-template name =" Opcional" >
86+ <xsl : with-param name =" valor" select =" ./@Nombre" />
87+ </xsl : call-template >
88+ <!-- Manejo de los nodos dependientes -->
89+ <xsl : for-each select =" ./cce20:Domicilio" >
90+ <xsl : apply-templates select =" ." />
91+ </xsl : for-each >
92+ </xsl : template >
93+
94+ <xsl : template match =" cce20:Mercancias" >
95+ <!-- Iniciamos el manejo de los nodos dependientes -->
96+ <xsl : for-each select =" ./cce20:Mercancia" >
97+ <xsl : apply-templates select =" ." />
98+ </xsl : for-each >
99+ </xsl : template >
100+
101+ <xsl : template match =" cce20:Domicilio" >
102+ <!-- Iniciamos el tratamiento de los atributos de cce20:Domicilio-->
103+ <xsl : call-template name =" Requerido" >
104+ <xsl : with-param name =" valor" select =" ./@Calle" />
105+ </xsl : call-template >
106+ <xsl : call-template name =" Opcional" >
107+ <xsl : with-param name =" valor" select =" ./@NumeroExterior" />
108+ </xsl : call-template >
109+ <xsl : call-template name =" Opcional" >
110+ <xsl : with-param name =" valor" select =" ./@NumeroInterior" />
111+ </xsl : call-template >
112+ <xsl : call-template name =" Opcional" >
113+ <xsl : with-param name =" valor" select =" ./@Colonia" />
114+ </xsl : call-template >
115+ <xsl : call-template name =" Opcional" >
116+ <xsl : with-param name =" valor" select =" ./@Localidad" />
117+ </xsl : call-template >
118+ <xsl : call-template name =" Opcional" >
119+ <xsl : with-param name =" valor" select =" ./@Referencia" />
120+ </xsl : call-template >
121+ <xsl : call-template name =" Opcional" >
122+ <xsl : with-param name =" valor" select =" ./@Municipio" />
123+ </xsl : call-template >
124+ <xsl : call-template name =" Requerido" >
125+ <xsl : with-param name =" valor" select =" ./@Estado" />
126+ </xsl : call-template >
127+ <xsl : call-template name =" Requerido" >
128+ <xsl : with-param name =" valor" select =" ./@Pais" />
129+ </xsl : call-template >
130+ <xsl : call-template name =" Requerido" >
131+ <xsl : with-param name =" valor" select =" ./@CodigoPostal" />
132+ </xsl : call-template >
133+ </xsl : template >
134+
135+ <xsl : template match =" cce20:Mercancia" >
136+ <xsl : call-template name =" Requerido" >
137+ <xsl : with-param name =" valor" select =" ./@NoIdentificacion" />
138+ </xsl : call-template >
139+ <xsl : call-template name =" Opcional" >
140+ <xsl : with-param name =" valor" select =" ./@FraccionArancelaria" />
141+ </xsl : call-template >
142+ <xsl : call-template name =" Opcional" >
143+ <xsl : with-param name =" valor" select =" ./@CantidadAduana" />
144+ </xsl : call-template >
145+ <xsl : call-template name =" Opcional" >
146+ <xsl : with-param name =" valor" select =" ./@UnidadAduana" />
147+ </xsl : call-template >
148+ <xsl : call-template name =" Opcional" >
149+ <xsl : with-param name =" valor" select =" ./@ValorUnitarioAduana" />
150+ </xsl : call-template >
151+ <xsl : call-template name =" Requerido" >
152+ <xsl : with-param name =" valor" select =" ./@ValorDolares" />
153+ </xsl : call-template >
154+ <xsl : for-each select =" ./cce20:DescripcionesEspecificas" >
155+ <xsl : apply-templates select =" ." />
156+ </xsl : for-each >
157+ </xsl : template >
158+
159+ <xsl : template match =" cce20:DescripcionesEspecificas" >
160+ <xsl : call-template name =" Requerido" >
161+ <xsl : with-param name =" valor" select =" ./@Marca" />
162+ </xsl : call-template >
163+ <xsl : call-template name =" Opcional" >
164+ <xsl : with-param name =" valor" select =" ./@Modelo" />
165+ </xsl : call-template >
166+ <xsl : call-template name =" Opcional" >
167+ <xsl : with-param name =" valor" select =" ./@SubModelo" />
168+ </xsl : call-template >
169+ <xsl : call-template name =" Opcional" >
170+ <xsl : with-param name =" valor" select =" ./@NumeroSerie" />
171+ </xsl : call-template >
172+ </xsl : template >
173+
174+ </xsl : stylesheet >
0 commit comments