Cfdi.Transform.XsltParser
(cfdi_transform v4.0.1)
Copy Markdown
Parser de hojas XSLT del SAT (cadenaoriginal.xslt 4.0 / 3.3) basado en
xslt-parser.ts
del paquete @cfdi/transform.
No implementa XSLT general — sólo el subconjunto que el SAT usa para generar la cadena original:
xsl:includeconhrefrelativo (sigue el grafo desde el archivo raíz).xsl:template match="..."(descartaname="Requerido|Opcional|ManejaEspacios").xsl:call-template name="Requerido|Opcional"conxsl:with-param select="@Attr"o ruta.xsl:apply-templates select="..."xsl:for-each select="..."(incluye wildcard./*y descendant.//foo).xsl:if test="..."envolviendo reglas hijas.
Lectura recursiva de xsl:include con detección de ciclos via MapSet.
Summary
Functions
Variante que recibe el contenido del XSLT como string. No sigue
xsl:include (no hay path base contra el cual resolverlo).
Parsea un archivo XSLT desde disco, siguiendo xsl:includes relativos.
Functions
@spec parse(String.t()) :: {:ok, Cfdi.Transform.Types.template_registry()} | {:error, term()}
Variante que recibe el contenido del XSLT como string. No sigue
xsl:include (no hay path base contra el cual resolverlo).
@spec parse_file(String.t()) :: {:ok, Cfdi.Transform.Types.template_registry()} | {:error, term()}
Parsea un archivo XSLT desde disco, siguiendo xsl:includes relativos.
Devuelve {:ok, registry} con templates y namespaces.