0

別のシステムから XML ドキュメントを処理しようとしていますが、取得している XML は疑似 HTML であり、HTML に変換する必要があります。

サンプル XML:

<DOC>
<Paragraph>This text is <bold>bold</bold> and this text is not.</Paragraph>
</DOC>

必要な出力:

<BODY>
<P>This text is <b>bold</b> and this is not.</P>
</BODY>

node() 値を使用して、タグの前にノードの値を取得できます (このテキストは ) が、タグの前にノードの一部を処理し、タグを処理してから残りの部分に戻るテンプレートを作成できません。値。助言がありますか?

4

2 に答える 2

1
<xsl:template match="@*|node()">
  <xsl:copy>
     <xsl:apply-templates select="@*|node()"/>
  </xsl:copy>
</xsl:template>

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

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

<xsl:template match="bold">
    <b><xsl:apply-templates/></b>
</xsl:template>
于 2012-08-06T12:06:56.110 に答える
0

何を試しましたか?よりもはるかに複雑であってはなりません

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

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

<xsl:template match="bold">
    <b><xsl:apply-templates/></b>
</xsl:template>
于 2012-08-06T04:14:47.897 に答える