0

提案/回答が私の要件を満たすかどうかを確認するために多くのことを試みましたが、何も見つかりませんでした.

XslTransform API と Xslt スタイルシートを使用して出力 Html ファイルを取得するために使用している Xml ファイルがあります。

私のxmlファイルには、HyperlinkDisplayTextHyperlinkValueの2つの属性を持つルートノードがあります。この xml ファイルは実行時に生成されます。したがって、これらの属性の値はコンパイル時にはわかりません。

私の要件は、HTML出力にハイパーリンクを表示する必要があることです。その表示テキストは「HyperlinkDisplayText 」の値から取得する必要があり、ハイパーリンクの値は「 HyperlinkValue 」の値から取得する必要があります。

例えば、

<RootNode HyperlinkDisplayText="Google" HyperlinkValue="https://www.google.com/" />

これはGoogleとして表示される必要があります

このために、xslt でいくつかのことを試しました。以下は、xsltファイルで試しているスナップショットです-

<xsl:choose>
  <xsl:when test="@HyperlinkDisplayText and @HyperlinkValue">
    <h4 style="font-family: arial" align='center'>
      <a href="{./@HyperlinkValue}">@HyperlinkDisplayText</a>
    </h4>
  </xsl:when>
  <xsl:otherwise>
  </xsl:otherwise>
</xsl:choose>

機能していません。どんな助けでも大歓迎です。

よろしく、 kvk938

4

1 に答える 1

2

に変更<a href="{./@HyperlinkValue}">@HyperlinkDisplayText</a><a href="{@HyperlinkValue}"><xsl:value-of select="@HyperlinkDisplayText"/></a>ます。これは、コンテキスト ノードがRootNode要素であることを前提としています。

于 2013-10-07T17:19:38.367 に答える