Я пытаюсь изменить XML-документ, содержащий html внутри тега, который я могу преобразовать <p>
и перечислить, но у меня есть жирный шрифт и курсив внутри. Как я могу это сделать? Я использую шаблоны xslt для преобразования.
Это мой код:
<Memoria>
<titulo>Memoria EUITI 2010</titulo>
<Indice>
<titulo>Indice 2010</titulo>
<secciones>
<seccion>
<parent_id>1</parent_id>
<titulo>INFORMACIÓN GENERAL</titulo>
<contenido><p><strong>ESTO</strong> ES UNA <em>PRUEBA</em></p></contenido>
<ul>
<li> caso de poner</li>
</ul>
<p>Ver si funciiona esto que si funciona ya esta</p>
<p> </p></contenido
</seccion>
</secciones>
</Indice>
</Memoria>
Я использую это преобразование xslt:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<Memoria>
<xsl:apply-templates select="//Memoria"/>
</Memoria>
</xsl:template>
<xsl:template match="text()"/>
<xsl:template match="titulo">
<titulo>
<xsl:value-of select="."/>
</titulo>
</xsl:template>
<xsl:template match="Indice/titulo">
<Indice>
<xsl:value-of select="."/>
</Indice>
</xsl:template>
<xsl:template match="Indice/secciones/seccion">
<Seccion>
<xsl:apply-templates select="contenido|titulo"/>
</Seccion>
</xsl:template>
<xsl:template match="Indice/secciones/seccion/titulo">
<nombre_seccion>
<xsl:value-of select="."/>
</nombre_seccion>
</xsl:template>
<xsl:template match="contenido">
<Contenido>
<xsl:apply-templates select="p|ul"/>
</Contenido>
</xsl:template>
<xsl:template match="p">
<p>
<xsl:value-of select="."/>
</p>
</xsl:template>
<xsl:template match="ul">
<ul>
<xsl:for-each select="li">
<li>
<xsl:value-of select="."/>
</li>
</xsl:for-each>
</ul>
</xsl:template>
</xsl:stylesheet>
С помощью этого шаблона я получаю действительный документ XML, но этот документ не попадает внутрь:
<contenido><p><strong>ESTO</strong> ES UNA <em>PRUEBA</em></p></contenido>
Как я могу это сделать?
С другой стороны, я хочу преобразовать этот результирующий документ с другим XSLT в XSL-FO, чтобы сгенерировать PDF с FOP. Я могу сгенерировать p и список, но я не могу генерировать жирный и курсивный.
Это правильный способ сделать это:
HTML-> XML-> XSL-FO
или есть какие-нибудь способы напрямую преобразовать код?