[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[xsl] Newbie wonders why the variable can change value?
Subject: [xsl] Newbie wonders why the variable can change value? From: thehulk@xxxxxxxxxxx Date: Mon, 21 Feb 2011 21:53:39 +0000 (UTC) |
I am making a hierarchy from a flattened input XML. It works, and it outputs a nested hierarchy which is correct. But I do not understand how the XSL variables can work. For instance, say that my original 5 ACCTs represent one "organization" with two "subsidiaries" and each sub has two "branches". In the input, attributes "Acct_ID and "Parent_Acct_ID" link things into a tree. The output will look like <ORG ...> <SUBS ...> <BRAN ...> </BRAN> <BRAN ...> </BRAN> </SUBS ...> <SUBS ...> <BRAN ...> </BRAN> <BRAN ...> </BRAN> </SUBS ...> </ORG> A template that only matches the top of the tree, the Org-level ACCT, processes and nests the appropriate siblings as follows : <xsl:variable name="currentOR" select="HIERARCHY_Info/@Acct_ID"/> <xsl:apply-templates mode="RE" select="../ACCT[HIERARCHY_Info/@Prnt_Acct_ID=$currentOR]"/> I use the variable, because the following alternative coding returns none of the sibling nodes, nodes, because (I think) it compares the siblings' parent-acct-IDs to their own acct-IDs: <xsl:apply-templates mode="RE" select="../ACCT[HIERARCHY_Info/@Prnt_Acct_ID=HIERARCHY_Info/@Acct_ID]"/> The template that processes the sibling ACCT uses a "choose" to determine the level of that ACCT and does much the same to nest BRANs within SUBS: <xsl:variable name="currentSU" select="HIERARCHY_Info/@Acct_ID"/> <xsl:apply-templates mode="RE" select="../ACCT[HIERARCHY_Info/@Prnt_Acct_ID=$currentSU]"/> All that works, but, it seems to me that it is resetting the variable $currentSU for each of the ACCTs that are Subsidiary-level. But you cannot reset a variable, it says on all the tutorials. Why does it work?
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] "Heap" of trouble handlin, Andrew Welch | Thread | Re: [xsl] Newbie wonders why the va, Brandon Ibach |
[xsl] "Heap" of trouble handling in, thehulk | Date | Re: [xsl] Newbie wonders why the va, Brandon Ibach |
Month |
Keywords