1

私は次のようなXMLコードを持っています

<ENREF>12</ENREF>

XSLTを使用して変換したい

<small><sup><a id="12" href="#fn12">12</a></sup></small>

しかし、私が試みているようにそれはマークするまでではありません。

4

1 に答える 1

0

次の XML を想定します。

<?xml-stylesheet href="hello.xsl" type="text/xsl"?>
<doc>
    <ENREF>12</ENREF>
</doc>

そして、この XSLT:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="ENREF">
    <small>
      <sup>
        <xsl:element name="a">
          <xsl:attribute name="id">enref-<xsl:value-of select="." /></xsl:attribute>
          <xsl:attribute name="href">#fn<xsl:value-of select="." /></xsl:attribute>
          <xsl:value-of select="." />
        </xsl:element>
      </sup>
    </small>
  </xsl:template>
</xsl:stylesheet>

次の出力が得られます。

<small>
   <sup>
     <a id="enref-12" href="#fn12">12</a>
   </sup>
</small>

注: HTML ID は数字で始めることはできないため、「12」の前に「enref-」を置きます。

于 2012-12-13T11:22:44.413 に答える