住所データを CSV として出力する XSLT テンプレートがあります。アドレス データの一部としてコンマが含まれているため、一部の値を二重引用符で囲みます。
私の問題は、変換後に二重引用符が欠落していることです。プロセッサにほとんど何でも挿入させることができますが、必要な二重引用符は挿入できません。
サンプルコードは次のとおりです。
<xsl:value-of select="./*/*/LotNumber"/>
<xsl:value-of select="$delim"/>
<xsl:value-of select="./*/*/StreetName"/>
<xsl:value-of select="$delim"/>
<xsl:value-of select="./*/*/StreetType"/>
以前に $delim を次のように定義しました。
<xsl:param name="delim" select="','" />
したがって、このテンプレートの一部は、たとえば次のように出力されます。
10,SMITH,ST
引数のために、通りの名前を二重引用符で囲み、次のようにするとします。
10,"SMITH",ST
私はさまざまなことを試しましたが、それらはすべて、二重引用符を次のように宣言するというテーマのバリエーションです。
<xsl:param name="quote">"</xsl:param>
そして、私の値を次のようにラップします:
<xsl:value-of select="$quote"/>
<xsl:value-of select="./*/*/StreetName"/>
<xsl:value-of select="$quote"/>
しかし、変換が実行されると、何も得られません。以前と同じように見えます。私が試した他のことは次のとおりです。
- テンプレートに二重引用符をリテラルとして入れます。完全に物事を台無しにします。
- " の代わりに " を使用します。とにかくhtmlではなくテキストとして出力しています。
- 変数の使用と選択。
助言がありますか?