<?xml version=“1.0” encoding=“UTF-8”?> <xsl:stylesheet version=“1.0” xmlns:xsl=“www.w3.org/1999/XSL/Transform” xmlns:xs=“www.w3.org/2001/XMLSchema” xmlns:fn=“www.w3.org/2005/xpath-functions” xmlns:notariospublicos=“www.sat.gob.mx/notariospublicos”>
<!-- Manejador de nodos tipo notariospublicos:NotariosPublicos --> <xsl:template match="notariospublicos:NotariosPublicos"> <!-- Iniciamos el tratamiento de los atributos --> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@Version"/> </xsl:call-template> <!-- Iniciamos el manejo de los nodos dependientes --> <xsl:apply-templates select="./notariospublicos:DescInmuebles"/> <xsl:apply-templates select="./notariospublicos:DatosOperacion"/> <xsl:apply-templates select="./notariospublicos:DatosNotario"/> <xsl:apply-templates select="./notariospublicos:DatosEnajenante"/> <xsl:apply-templates select="./notariospublicos:DatosAdquiriente"/> </xsl:template> <!-- Manejador de nodos tipo notariospublicos:DescInmuebles --> <xsl:template match="notariospublicos:DescInmuebles"> <!-- Iniciamos el manejo de los nodos dependientes --> <xsl:for-each select="./notariospublicos:DescInmueble"> <xsl:apply-templates select="."/> </xsl:for-each> </xsl:template> <!-- Manejador de nodos tipo notariospublicos:DescInmueble --> <xsl:template match="notariospublicos:DescInmueble"> <!-- Iniciamos el tratamiento de los atributos --> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@TipoInmueble"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@Calle"/> </xsl:call-template> <xsl:call-template name="Opcional"> <xsl:with-param name="valor" select="./@NoExterior"/> </xsl:call-template> <xsl:call-template name="Opcional"> <xsl:with-param name="valor" select="./@NoInterior"/> </xsl:call-template> <xsl:call-template name="Opcional"> <xsl:with-param name="valor" select="./@Colonia"/> </xsl:call-template> <xsl:call-template name="Opcional"> <xsl:with-param name="valor" select="./@Localidad"/> </xsl:call-template> <xsl:call-template name="Opcional"> <xsl:with-param name="valor" select="./@Referencia"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@Municipio"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@Estado"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@Pais"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@CodigoPostal"/> </xsl:call-template> </xsl:template> <!-- Manejador de nodos tipo notariospublicos:DatosOperacion --> <xsl:template match="notariospublicos:DatosOperacion"> <!-- Iniciamos el tratamiento de los atributos --> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@NumInstrumentoNotarial"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@FechaInstNotarial"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@MontoOperacion"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@Subtotal"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@IVA"/> </xsl:call-template> </xsl:template> <!-- Manejador de nodos tipo notariospublicos:DatosNotario --> <xsl:template match="notariospublicos:DatosNotario"> <!-- Iniciamos el tratamiento de los atributos --> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@CURP"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@NumNotaria"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@EntidadFederativa"/> </xsl:call-template> <xsl:call-template name="Opcional"> <xsl:with-param name="valor" select="./@Adscripcion"/> </xsl:call-template> </xsl:template> <!-- Manejador de nodos tipo notariospublicos:DatosEnajenante --> <xsl:template match="notariospublicos:DatosEnajenante"> <!-- Iniciamos el tratamiento de los atributos --> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@CoproSocConyugalE"/> </xsl:call-template> <!-- Iniciamos el manejo de los nodos dependientes --> <xsl:if test="./notariospublicos:DatosUnEnajenante"> <xsl:apply-templates select="./notariospublicos:DatosUnEnajenante"/> </xsl:if> <xsl:if test="./notariospublicos:DatosEnajenantesCopSC"> <xsl:apply-templates select="./notariospublicos:DatosEnajenantesCopSC"/> </xsl:if> </xsl:template> <!-- Manejador de nodos tipo notariospublicos:DatosUnEnajenante --> <xsl:template match="notariospublicos:DatosUnEnajenante"> <!-- Iniciamos el tratamiento de los atributos --> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@Nombre"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@ApellidoPaterno"/> </xsl:call-template> <xsl:call-template name="Opcional"> <xsl:with-param name="valor" select="./@ApellidoMaterno"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@RFC"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@CURP"/> </xsl:call-template> </xsl:template> <!-- Manejador de nodos tipo notariospublicos:DatosEnajenantesCopSC --> <xsl:template match="notariospublicos:DatosEnajenantesCopSC"> <!-- Iniciamos el manejo de los nodos dependientes --> <xsl:for-each select="./notariospublicos:DatosEnajenanteCopSC"> <xsl:apply-templates select="."/> </xsl:for-each> </xsl:template> <!-- Manejador de nodos tipo notariospublicos:DatosEnajenanteCopSC --> <xsl:template match="notariospublicos:DatosEnajenanteCopSC"> <!-- Iniciamos el tratamiento de los atributos --> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@Nombre"/> </xsl:call-template> <xsl:call-template name="Opcional"> <xsl:with-param name="valor" select="./@ApellidoPaterno"/> </xsl:call-template> <xsl:call-template name="Opcional"> <xsl:with-param name="valor" select="./@ApellidoMaterno"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@RFC"/> </xsl:call-template> <xsl:call-template name="Opcional"> <xsl:with-param name="valor" select="./@CURP"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@Porcentaje"/> </xsl:call-template> </xsl:template> <!-- Manejador de nodos tipo notariospublicos:DatosAdquiriente --> <xsl:template match="notariospublicos:DatosAdquiriente"> <!-- Iniciamos el tratamiento de los atributos --> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@CoproSocConyugalE"/> </xsl:call-template> <!-- Iniciamos el manejo de los nodos dependientes --> <xsl:if test="./notariospublicos:DatosUnAdquiriente"> <xsl:apply-templates select="./notariospublicos:DatosUnAdquiriente"/> </xsl:if> <xsl:if test="./notariospublicos:DatosAdquirientesCopSC"> <xsl:apply-templates select="./notariospublicos:DatosAdquirientesCopSC"/> </xsl:if> </xsl:template> <!-- Manejador de nodos tipo notariospublicos:DatosUnAdquiriente --> <xsl:template match="notariospublicos:DatosUnAdquiriente"> <!-- Iniciamos el tratamiento de los atributos --> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@Nombre"/> </xsl:call-template> <xsl:call-template name="Opcional"> <xsl:with-param name="valor" select="./@ApellidoPaterno"/> </xsl:call-template> <xsl:call-template name="Opcional"> <xsl:with-param name="valor" select="./@ApellidoMaterno"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@RFC"/> </xsl:call-template> <xsl:call-template name="Opcional"> <xsl:with-param name="valor" select="./@CURP"/> </xsl:call-template> </xsl:template> <!-- Manejador de nodos tipo notariospublicos:DatosAdquirientesCopSC --> <xsl:template match="notariospublicos:DatosAdquirientesCopSC"> <!-- Iniciamos el manejo de los nodos dependientes --> <xsl:for-each select="./notariospublicos:DatosAdquirienteCopSC"> <xsl:apply-templates select="."/> </xsl:for-each> </xsl:template> <!-- Manejador de nodos tipo notariospublicos:DatosAdquirienteCopSC --> <xsl:template match="notariospublicos:DatosAdquirienteCopSC"> <!-- Iniciamos el tratamiento de los atributos --> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@Nombre"/> </xsl:call-template> <xsl:call-template name="Opcional"> <xsl:with-param name="valor" select="./@ApellidoPaterno"/> </xsl:call-template> <xsl:call-template name="Opcional"> <xsl:with-param name="valor" select="./@ApellidoMaterno"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@RFC"/> </xsl:call-template> <xsl:call-template name="Opcional"> <xsl:with-param name="valor" select="./@CURP"/> </xsl:call-template> <xsl:call-template name="Requerido"> <xsl:with-param name="valor" select="./@Porcentaje"/> </xsl:call-template> </xsl:template>
</xsl:stylesheet>