私はxsl:import
を使用しなければならないことは知っていますが、テンプレートのname
とはどのように呼びますかわかりません。別のスタイルシートからテンプレートをインポートするにはどうすればよいですか?
どうすればよいですか?
私はxsl:import
を使用しなければならないことは知っていますが、テンプレートのname
とはどのように呼びますかわかりません。別のスタイルシートからテンプレートをインポートするにはどうすればよいですか?
どうすればよいですか?
は非常に簡単です:f.xml
という名前
サンプルXML:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<a>abc</a>
<b>cde</b>
</root>
メインサンプルXSLT f.xslt
:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="f1.xslt"/>
<xsl:template match="/root">
A: <xsl:value-of select="a/text()" />
<xsl:call-template name="secondTemplate" />
</xsl:template>
</xsl:stylesheet>
は、サンプルXSLT f1.xslt
を含めます
出力:<xsl:call-template name="secondTemplate" />
ラインでアクセスされた名前のテンプレートを経由して - - <xsl:import ...>
でインポートされ
<?xml version="1.0"?>
A: abc
B: cde
だから、最初のXSLT(f.xslt
)は、第二XSLT(f1.xslt
)を呼び出しません。
<xsl:call-template>
を使用すると、従来のプログラミング言語で関数を呼び出すことができます。
文字列を出力するこのような関数をXSLTで定義できます。
<xsl:template name="dosomething">
<xsl:text>A function that does something</xsl:text>
</xsl:template>
<xsl:call-template name="dosomething">
から呼び出すことができます。 <xsl:call-template>
を適用<xsl:import>
を使用して
を読んでください。ただし、XSLTファイルですでに大量のテンプレートが作成されています。別のXSLTファイルを再利用することができます。 私はそれを行う方法がわかりません...私は 'xsl:import'を使用する必要があることを知っていますが、後でテンプレートを呼び出す方法はわかりません。 – Guilhermeffable
すべてをインポートする必要はありません。上流のファイルをインポートするだけで十分です。 –
ファイルに別のxsltをインポートすると、自動的に変換に適用されます。 – Rupesh
あなたの質問は明確ではありません。 'xsl:import'を使うと、** all **インポートされたスタイルシートのテンプレートがインポートされます。自分のスタイルシートの一部であるかのように呼び出したり、適用したりします。詳細については、http://www.xml.com/pub/a/2000/11/01/xslt/ –