Skip to content

Instantly share code, notes, and snippets.

@hpcorona
Created August 13, 2014 19:02
Show Gist options
  • Select an option

  • Save hpcorona/33536e2ff448f69a7b47 to your computer and use it in GitHub Desktop.

Select an option

Save hpcorona/33536e2ff448f69a7b47 to your computer and use it in GitHub Desktop.

Revisions

  1. hpcorona created this gist Aug 13, 2014.
    117 changes: 117 additions & 0 deletions cove_cadena_original.xslt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,117 @@
    <?xml version="1.0" encoding="UTF-8"?>
    <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:oxml="http://www.ventanillaunica.gob.mx/cove/ws/oxml/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <xsl:output method="text" version="1.0" encoding="UTF-8" indent="no"/>

    <xsl:template match="/">
    <xsl:apply-templates />
    </xsl:template>

    <xsl:template match="wsse:Security"></xsl:template>

    <xsl:template match="oxml:solicitarRecibirCoveServicio" >
    <xsl:apply-templates select="oxml:comprobantes" />
    </xsl:template>
    <xsl:template match="oxml:solicitarRecibirRelacionFacturasIAServicio" >
    <xsl:apply-templates select="oxml:comprobantes" />
    </xsl:template>
    <xsl:template match="oxml:solicitarRecibirRelacionFacturasNoIAServicio" >
    <xsl:apply-templates select="oxml:comprobantes" />
    </xsl:template>

    <xsl:template match="oxml:comprobantes" ><xsl:for-each select="current() "><xsl:if test="oxml:tipoOperacion and oxml:tipoOperacion != '' ">|<xsl:value-of select="oxml:tipoOperacion" /></xsl:if>
    <xsl:if test="oxml:numeroFacturaOriginal and oxml:numeroFacturaOriginal != '' ">|<xsl:value-of select="oxml:numeroFacturaOriginal" /></xsl:if>
    <xsl:if test="oxml:numeroRelacionFacturas and oxml:numeroRelacionFacturas != '' ">|<xsl:value-of select="oxml:numeroRelacionFacturas" />
    </xsl:if><xsl:choose><xsl:when test="parent::oxml:solicitarRecibirCoveServicio">|0</xsl:when><xsl:otherwise>|1</xsl:otherwise></xsl:choose>
    <xsl:if test="oxml:fechaExpedicion and oxml:fechaExpedicion!= '' ">|<xsl:value-of select="substring(oxml:fechaExpedicion, 1, 10)" /></xsl:if>
    <xsl:if test="oxml:tipoFigura and oxml:tipoFigura != '' ">|<xsl:value-of select="oxml:tipoFigura" /></xsl:if>
    <xsl:if test="oxml:observaciones and oxml:observaciones != '' ">|<xsl:value-of select="oxml:observaciones" /></xsl:if>
    <xsl:for-each select="oxml:rfcConsulta">|<xsl:value-of select="current()" /></xsl:for-each>
    <xsl:for-each select="oxml:patenteAduanal">|<xsl:value-of select="current()" /></xsl:for-each>
    <xsl:choose><xsl:when test="parent::oxml:solicitarRecibirCoveServicio">
    <xsl:apply-templates select="oxml:factura"/>
    <xsl:apply-templates select="oxml:emisor"/>
    <xsl:apply-templates select="oxml:destinatario"/>
    <xsl:apply-templates select="oxml:mercancias"/>
    </xsl:when>
    <xsl:when test="parent::oxml:solicitarRecibirRelacionFacturasIAServicio">
    <xsl:apply-templates select="oxml:emisor"/>
    <xsl:apply-templates select="oxml:destinatario"/>
    <xsl:for-each select="oxml:facturas">
    <xsl:apply-templates select="current() "/>
    <xsl:apply-templates select="oxml:mercancias"/>
    </xsl:for-each>
    </xsl:when>
    <xsl:when test="parent::oxml:solicitarRecibirRelacionFacturasNoIAServicio">
    <xsl:for-each select="oxml:facturas">
    <xsl:apply-templates select="current() "/>
    <xsl:apply-templates select="oxml:emisor"/>
    <xsl:apply-templates select="oxml:destinatario"/>
    <xsl:apply-templates select="oxml:mercancias"/>
    </xsl:for-each>
    </xsl:when>
    </xsl:choose>|
    </xsl:for-each></xsl:template>

    <xsl:template match="oxml:factura">
    <xsl:if test="oxml:subdivision and oxml:subdivision != '' ">|<xsl:value-of select="oxml:subdivision" /></xsl:if>
    <xsl:if test="oxml:certificadoOrigen and oxml:certificadoOrigen != '' ">|<xsl:value-of select="oxml:certificadoOrigen" /></xsl:if>
    <xsl:if test="oxml:numeroExportadorAutorizado and oxml:numeroExportadorAutorizado != '' ">|<xsl:value-of select="oxml:numeroExportadorAutorizado" /></xsl:if>
    </xsl:template>

    <xsl:template match="oxml:facturas">
    <xsl:if test="oxml:numeroFactura and oxml:numeroFactura != '' ">|<xsl:value-of select="oxml:numeroFactura" /></xsl:if>
    <xsl:if test="oxml:subdivision and oxml:subdivision != '' ">|<xsl:value-of select="oxml:subdivision" /></xsl:if>
    <xsl:if test="oxml:certificadoOrigen and oxml:certificadoOrigen != '' ">|<xsl:value-of select="oxml:certificadoOrigen" /></xsl:if>
    <xsl:if test="oxml:numeroExportadorAutorizado and oxml:numeroExportadorAutorizado != '' ">|<xsl:value-of select="oxml:numeroExportadorAutorizado" /></xsl:if>
    </xsl:template>


    <xsl:template match="oxml:emisor">
    <xsl:if test="oxml:tipoIdentificador and oxml:tipoIdentificador != '' ">|<xsl:value-of select="oxml:tipoIdentificador" /></xsl:if>
    <xsl:if test="oxml:identificacion and oxml:identificacion != '' ">|<xsl:value-of select="oxml:identificacion" /></xsl:if>
    <xsl:if test="oxml:apellidoPaterno and oxml:apellidoPaterno != '' ">|<xsl:value-of select="oxml:apellidoPaterno" /></xsl:if>
    <xsl:if test="oxml:apellidoMaterno and oxml:apellidoMaterno != '' ">|<xsl:value-of select="oxml:apellidoMaterno" /></xsl:if>
    <xsl:if test="oxml:nombre and oxml:nombre != '' ">|<xsl:value-of select="oxml:nombre" /></xsl:if>
    <xsl:apply-templates select="oxml:domicilio"/>
    </xsl:template>
    <xsl:template match="oxml:destinatario">
    <xsl:if test="oxml:tipoIdentificador and oxml:tipoIdentificador != '' ">|<xsl:value-of select="oxml:tipoIdentificador" /></xsl:if>
    <xsl:if test="oxml:identificacion and oxml:identificacion != '' ">|<xsl:value-of select="oxml:identificacion" /></xsl:if>
    <xsl:if test="oxml:apellidoPaterno and oxml:apellidoPaterno != '' ">|<xsl:value-of select="oxml:apellidoPaterno" /></xsl:if>
    <xsl:if test="oxml:apellidoMaterno and oxml:apellidoMaterno != '' ">|<xsl:value-of select="oxml:apellidoMaterno" /></xsl:if>
    <xsl:if test="oxml:nombre and oxml:nombre != '' ">|<xsl:value-of select="oxml:nombre" /></xsl:if>
    <xsl:apply-templates select="oxml:domicilio"/>
    </xsl:template>
    <xsl:template match="oxml:domicilio">
    <xsl:if test="oxml:calle and oxml:calle != '' ">|<xsl:value-of select="oxml:calle" /></xsl:if>
    <xsl:if test="oxml:numeroExterior and oxml:numeroExterior != '' ">|<xsl:value-of select="oxml:numeroExterior" /></xsl:if>
    <xsl:if test="oxml:numeroInterior and oxml:numeroInterior != '' ">|<xsl:value-of select="oxml:numeroInterior" /></xsl:if>
    <xsl:if test="oxml:colonia and oxml:colonia != '' ">|<xsl:value-of select="oxml:colonia" /></xsl:if>
    <xsl:if test="oxml:localidad and oxml:localidad != '' ">|<xsl:value-of select="oxml:localidad" /></xsl:if>
    <xsl:if test="oxml:municipio and oxml:municipio != '' ">|<xsl:value-of select="oxml:municipio" /></xsl:if>
    <xsl:if test="oxml:entidadFederativa and oxml:entidadFederativa != '' ">|<xsl:value-of select="oxml:entidadFederativa" /></xsl:if>
    <xsl:if test="oxml:pais and oxml:pais != '' ">|<xsl:value-of select="oxml:pais" /></xsl:if>
    <xsl:if test="oxml:codigoPostal and oxml:codigoPostal != '' ">|<xsl:value-of select="oxml:codigoPostal" /></xsl:if>
    </xsl:template>
    <xsl:template match="oxml:mercancias">
    <xsl:for-each select="current()">
    <xsl:if test="oxml:descripcionGenerica and oxml:descripcionGenerica != '' ">|<xsl:value-of select="oxml:descripcionGenerica" /></xsl:if>
    <xsl:if test="oxml:claveUnidadMedida and oxml:claveUnidadMedida != '' ">|<xsl:value-of select="oxml:claveUnidadMedida" /></xsl:if>
    <xsl:if test="oxml:cantidad and oxml:cantidad != '' ">|<xsl:value-of select="oxml:cantidad" /></xsl:if>
    <xsl:if test="oxml:tipoMoneda and oxml:tipoMoneda != '' ">|<xsl:value-of select="oxml:tipoMoneda" /></xsl:if>
    <xsl:if test="oxml:valorUnitario and oxml:valorUnitario != '' ">|<xsl:value-of select="oxml:valorUnitario" /></xsl:if>
    <xsl:if test="oxml:valorTotal and oxml:valorTotal != '' ">|<xsl:value-of select="oxml:valorTotal" /></xsl:if>
    <xsl:if test="oxml:valorDolares and oxml:valorDolares != '' ">|<xsl:value-of select="oxml:valorDolares" /></xsl:if>
    <xsl:apply-templates select="oxml:descripcionesEspecificas"/>
    </xsl:for-each>
    </xsl:template>
    <xsl:template match="oxml:descripcionesEspecificas">
    <xsl:for-each select="current()">
    <xsl:if test="oxml:marca and oxml:marca != '' ">|<xsl:value-of select="oxml:marca" /></xsl:if>
    <xsl:if test="oxml:modelo and oxml:modelo != '' ">|<xsl:value-of select="oxml:modelo" /></xsl:if>
    <xsl:if test="oxml:subModelo and oxml:subModelo != '' ">|<xsl:value-of select="oxml:subModelo" /></xsl:if>
    <xsl:if test="oxml:numeroSerie and oxml:numeroSerie != '' ">|<xsl:value-of select="oxml:numeroSerie" /></xsl:if>
    </xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>