1
XSLTを使用して.xsdファイルを解析しています。私の問題は、私が を使用している現在のノードで見つけたので、出力データを書き込むことができることだけです。XSLT親ノードにデータを渡す方法
ノードから祖先ノードにデータを送信する方法はありますか。
私が得意とする簡単な例です。
- 私の現在のコード: -
<xsl:template match="complexType">
<xsl:text>struct </xsl:text>
<xsl:text>T_</xsl:text>
<xsl:value-of select"current/@name"/>
<xsl:text>{</xsl:text>
<xsl:text>
</xsl:text>
<xsl:apply-templates select="sequence"/>
<xsl:text>};</xsl:text>
</xsl:template>
<xsl:template match="sequence">
<xsl:apply-templates select="element"/>
</xsl:template>
<xsl:template match="element">
<xsl:value-of select"current/@type"/>
<xsl:text> </xsl:text>
<xsl:value-of select"current/@name"/>
</xsl:template>
- 私のソースファイル -
<complexType name="cp_name">
<sequence>
<element name="el_name" type="int" minOccurs="1" maxOccurs="1">
</element>
</sequence>
</complexType>
- 私の現在の出力: -
struct T_cp_name
{
int el_name;
};
- 望ましい出力 -
<!-- // First, use some data from the inner node (element) -->
typedef int Type_in_element;
<!-- // Then, use a combination of data from both the inner and the -->
<!-- // ancestor node (complexType) -->
struct T_cp_name
{
Type_in_element el_name; // data from the inner node (<element>)
};
あなたの答えは、正確な例を解決しますが、私は例の は 内の任意の深で、任意の場所に存在する可能性がタグより一般的な解決のための を探していました木。 –
fer
あなたが答えを受け入れるよりもうまくいくならば。 – Rupesh