0
私のXMLファイルにこの1XSL:XML属性値を持つアクセス変数値
<COLUMN name="CATEGORY_" type="VARCHAR_M"/>
のような線を有します。私はデータベースに依存するデータ型とVARCHAR_Mを交換したいXLSTファイルの助けを借りて 。したがって、私は
<xsl:choose>
<xsl:when test="$DatabaseSystem = 'DB2'">
<xsl:variable name="VARCHAR_S" select="'varchar(64)'"/>
<xsl:variable name="VARCHAR_M" select="'varchar(255)'"/>
<xsl:variable name="VARCHAR_B" select="'varchar(4000)'"/>
<xsl:variable name="INTEGER" select="'integer'"/>
</xsl:when>
<xsl:when test="$DatabaseSystem = 'Informix'">
<xsl:variable name="VARCHAR_S" select="'varchar(64)'"/>
<xsl:variable name="VARCHAR_M" select="'varchar(255)'"/>
<xsl:variable name="VARCHAR_B" select="'lvarchar(4000)'"/>
<xsl:variable name="INTEGER" select="'integer'"/>
</xsl:when>
</xsl:choose>
を設定している
<xsl:value-of select="@type"/>
私にXMLから属性の値を与えるが、どのように私は、変数の名前としてこれを使用することができます。この?
<xsl:value-of select="[email protected]"/>
よう
何か。
あなたの変数は、単に 'XSLの内部で定義されている、私は思う異なるアプローチを選択する必要があります:when'ので、あなたも外でそれらにアクセスすることはできません。動的XPath評価は、XSLT 1.0および2.0の言語の一部ではありません。あなたが値を選択することができる方法、:あなたは(ノード-set'またはXSLT 1.0で同様のあなたは 'exslが必要な場合があります)XML構造に値を格納し、その構造から選択することをお勧めします。 –
「*私は、データベースに依存するデータ型とVARCHAR_Mを交換したい。*」私はそれにつながるあなたのコードには何も表示されません。私はここで(入力のより完全な例で)適用する必要がある**ロジック**について説明することをお勧めします。現在、これは[XY質問](http://xyproblem.info/)のようです。 –