Tengo el siguiente fragmento de una factura electronica:
<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" version="3.2">
<cfdi:Emisor rfc="DSA1202093X4" nombre="D&O&G SERVICIOS ADMINISTRATIVOS DEL HIPODROMO C.H.U. S.A. DE C.V.">
<cfdi
omicilioFiscal calle="AVENIDA BAJA CALIFORNIA" noExterior="218" noInterior="401" colonia="ROMA SUR" referencia="CUAUHTEMOC" municipio="CUAUHTEMOC" estado="DISTRITO FEDERAL" pais="MÉXICO" codigoPostal="06760"/>
<cfdi:RegimenFiscal Regimen="Régimen general personas morales"/>
</cfdi:Emisor>
</cfdi:Comprobante>
Y necesito leer el RFC del EMISOR, por lo que he creado la siguiente transformación en la tx STRANS:
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
<xsl:strip-space elements="*"/>
<xsl:template match="COMPROBANTE">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<XML_OUTPUT>
<xsl:for-each select="Comprobante">
<xsl:variable name="head" select="Emisor"/>
<a_rfc>
<xsl:value-of select="$head/@rfc"/>
</a_rfc>
</xsl:for-each>
</XML_OUTPUT>
</asx:values>
</asx:abap>
</xsl:template>
</xsl:transform>
El fragmento de mi código ABAP es el siguiente para el llamado de la transformación:
DATA: a_rfc TYPE string.
TRY.
CALL TRANSFORMATION ztest_alsg_trans
SOURCE XML ls_line_xml
RESULT xml_out = a_rfc.
CATCH cx_st_error.
CATCH cx_xslt_format_error INTO cx_format_error.
ENDTRY.
Sin embargo, me sale el siguiente error CX_FORMAT_ERROR (En espera de elemento ) y ya intente de mil modos y sigo sin poder leer mi variable . Ojala alguien me podria apoyar diciendome que me sobra o que me falta, de antemano muchas gracias por su ayuda