私はXSLTを使用してXMLをHTMLに変換しています。私の目標は、XML入力を介して重要な情報を提供することによって、繰り返しのHTMLの作成を自動化することです。入力xmlを使用してxsl:paramを呼び出す
だから、私は、最終的なHTMLにoutputed文字列格納するXML文書のこの種を作成しています:
<animals>
<animal id="dog">
Our best friend
</animal>
<animal id="cat">
King of the internet
</animal>
<animal id="sheep">
Baaaaaah
</animal>
</animals>
をそして私はXLSを通じてそれらの文字列を扱う:このようなのparams:
<xsl:param name="dog" select="/animals/animal[@id='dog']"/>
<xsl:param name="cat" select="/animals/animal[@id='cat']"/>
<xsl:param name="sheep" select="/animals/animal[@id='sheep']"/>
このような種類のスニペットをスタイルシートに追加するには、これらの文字列を使用することができます。
<ul>
<li><xsl:value-of select="$dog"/></li>
<li><xsl:value-of select="$cat"/></li>
<li><xsl:value-of select="$sheep"/></li>
</ul>
ユーザーは入力XMLに正しいタグを追加することで文字列を呼び出すことができます。入力XMLは、このようなものであれば:出力は
<ul>
<li>King of the internet</li>
<li>Our best friend</li>
</ul>
なります
<input_xml>
<animals>
<cat/>
<dog/>
</animals>
</input_xml>
私のようなタグをループすることにより、このようなリストの作成を自動化しようとしています:
<ul>
<xsl:for-each select="/input_xml/animals">
<li><xsl:value-of select="${tag name}"/></li>
</xsl:for-each>
</ul>
しかし、select="${tag name}"
の入力XMLタグ名を保持する方法を知りません。私は<xsl:value-of select="name()"/>
を使用してみましたが、あなたは
<ul>
<li><xsl:value-of select="$dog"/></li>
<li><xsl:value-of select="$cat"/></li>
<li><xsl:value-of select="$sheep"/></li>
</ul>
と巣xsl:value-of
を使用することができますが、あなたは、2つの入力文書を持っていますか? XSLT 1.0または2.0を使用していますか? –
私はXSLT 2.0を使用しています。 私はいくつかの定義済みのXMLファイルを繰り返し情報(動物)を保存し、 ' 'を使って参照して、この情報は '
@GabrielWarken:私はあなたの希望する答えを近似しているとうれしいです。しかし、あなたの希望する答えはどのように見えますか?あなたの質問に対する編集が役に立ちます。 – zx485