473,386 Members | 1,630 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

xsl: grouping radiobuttons by name; name should be position of parent node

Mario Mueller:

Hello *,

radiobuttons belong to other radiobuttons by the "name="any_value""
attribut.
Thats a fakt.

I got the following XML:
************************************************** ************
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="number4.xsl" type="text/xsl"?>
<fragekatalog>

<frage1 text="Gibt es bei Ihnen derzeit lediglich All-Inclusive
Produkte, die implizit die Netzkosten mit abrechnen oder gibt es
bereits heute Produkte in denen die reinen Netzkosten als expliziter
Bestandteil den Kunden gegenüber ausgewiesen werden?">
<radiobutton1>Nur All-Inclusive-Produkte</radiobutton1>
<frage2 text="Gibt es in den bestehenden All-In-Abrechnungsmodellen
bereits Tarife, die ausschließlich der Ermittlung statistischer
Netzbestandteile dienen?">
<radiobutton2>Ja</radiobutton2>
<frage3 text="Sind diese derzeit durch entsprechende
buchungsrelevante Zeilen mit Gegen-buchungsschritten im Hintergrund
oder durch nicht buchungsrelevante informatorische Zeilen realisiert?
">
<radiobutton3>buchungsrelevante Zeilen mit</radiobutton3>
<radiobutton3>informatorische Zeilen</radiobutton3>
</frage3>
</frage2>
<radiobutton1>All-In-Produkte und Netz+Energie separat
ausgewiesene</radiobutton1>
<frage2 text="Gibt es in den bestehenden All-In-Abrechnungsmodellen
bereits Tarife, die ausschließlich der Ermittlung statistischer
Netzbestandteile dienen?">
<radiobutton2>Ja</radiobutton2>
<frage3 text="Sind diese derzeit durch entsprechende
buchungsrelevante Zeilen mit Gegen-buchungsschritten im Hintergrund
oder durch nicht buchungsrelevante informatorische Zeilen realisiert?
">
<radiobutton3>buchungsrelevante Zeilen mit</radiobutton3>
<radiobutton3>informatorische Zeilen</radiobutton3>
</frage3>
<radiobutton2>Nein</radiobutton2>
</frage2>
<radiobutton1>Nur seperat ausgewiesene</radiobutton1>
</frage1>
</fragekatalog>
************************************************** *****************
and I have a XSL:
************************************************** *****************
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<xsl:apply-templates select="fragekatalog/titel"/>
<body bgcolor="#C0C0C0">
<xsl:apply-templates select="fragekatalog/frage1"/>
</body>
</html>
<!-- Ende <xsl:template match="/"> -->
</xsl:template>
<xsl:template match="titel">
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type"/>
<basefont size="0" color="#000000"
face="Courier,Arial,Helvetica,sans-serif"/>
<p>
<img src="bilder/dsc.gif" alt="dsc"/>
</p>
<br/>
<br/>
<title>
<xsl:value-of select="."/>
</title>
</head>
<!-- Ende <xsl:template match="titel"> -->
</xsl:template>
<xsl:template match="frage1">
<!--<h1>Meine frage1</h1>-->
<br/>
<font color="#000000">
<table border="1" bgcolor="#F5F5DC" width="100%" rules="all">
<tr>
<!-- Farbe Überschrift einer Tabelle -->
<th align="left" bgcolor="#DEB887" colspan="6">
<span style="font-weight: normal;">
<xsl:value-of select="@text"/>
</span>
</th>
</tr>
<font color="#000000">
<xsl:apply-templates/>
</font>
</table>
</font>
<br/>
<br/>
<br/>
<!-- <xsl:template match="frage1"> Ende-->
</xsl:template>
<xsl:template match="radiobutton1">
<tr>
<!-- Farbe Radiobutton1 -->
<td bgcolor="#F8F8FF">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)"/>
<input type="radio" witdh="10" name="{$rowID}" value="{$rowID}">
</input>
</td>
<!-- Farbe Text zu Radiobutton1 -->
<td bgcolor="#F8F8FF">
<xsl:value-of select="."/>
</td>
<!-- falls frage1 1 vorhanden -->
<xsl:apply-templates select="frage2"/>
</tr>
</xsl:template>
<xsl:template match="checkbox1">
<tr>
<td bgcolor="#F8F8FF">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)"/>
<input type="checkbox" witdh="10" value="./" name="/."
onclick="funcRadioButton()">
</input>
</td>
<td bgcolor="#F8F8FF">
<xsl:value-of select="."/>
</td>
</tr>
</xsl:template>
<xsl:template match="textarea">
<tr>
<td/>
<td/>
<td bgcolor="#F8F8FF">
<TEXTAREA name="textarea1" value="" rows="3" wrap="on" cols="70">
<xsl:value-of select="textarea1"/>
</TEXTAREA>
<!--<xsl:value-of select="."/>-->
</td>
</tr>
</xsl:template>
<!--********- <xsl:template matches für frage2
-********************-->
<!--********- <xsl:template matches für frage2
-********************-->
<!--********- <xsl:template matches für frage2
-********************-->
<!--********- <xsl:template matches für frage2
-********************-->
<xsl:template match="frage2">
<font color="#000000">
<tr>
<td>
<th align="left" bgcolor="#DEB887" colspan="2">
<span style="font-weight: normal;">
<xsl:value-of select="@text"/>
</span>
</th>
</td>
</tr>
</font>
<xsl:apply-templates/>
<!-- <xsl:template match="frage"> Ende-->
</xsl:template>
<xsl:template match="checkbox2">
<tr>
<td bgcolor="#F8F8FF">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)*10"/>
<input type="checkbox" witdh="10" value="./" name="/."
onclick="funcRadioButton()">
</input>
</td>
<td>
<xsl:value-of select="checkbox2"/>
</td>
</tr>
</xsl:template>
<xsl:template match="radiobutton2">
<tr>
<td>
</td>
<td bgcolor="#F8F8FF">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)*10"/>
<input type="radio" witdh="10" name="{$rowID}" value="{$rowID}">
</input>
</td>
<td bgcolor="#F8F8FF">
<xsl:value-of select="."/>
<xsl:apply-templates select="frage3"/>
</td>
</tr>
</xsl:template>
<xsl:template match="textarea2">
<tr>
<td/>
<td>
<TEXTAREA name="textarea" value="" rows="3" wrap="on" cols="70">
<xsl:value-of select="textarea2"/>
</TEXTAREA>
<!--<xsl:value-of select="."/>-->
</td>
</tr>
</xsl:template>
<!--********- <xsl:template matches für frage3
-********************-->
<!--********- <xsl:template matches für frage3
-********************-->
<!--********- <xsl:template matches für frage3
-********************-->
<xsl:template match="frage3">
<font color="#000000">
<tr>
<td/>
<td>
<!-- dscmm 01022005 >>> -->
<xsl:param name="mypara" select="position()"/>
<xsl:value-of select="position()"/>
<!-- dscmm 01022005 <<< -->
<xsl:value-of select="mypara"/>
<th align="left" bgcolor="#DEB887" colspan="2">
<span style="font-weight: normal;">
<xsl:value-of select="@text"/>
</span>
</th>
</td>
</tr>
</font>
<xsl:apply-templates/>
<!-- <xsl:template match="frage3"> Ende-->
</xsl:template>
<xsl:template match="checkbox3">
<tr>
<td/>
<td bgcolor="#F8F8FF">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)*100"/>
<Input type="checkbox" value="./" name="/."
onclick="funcRadioButton()">
</Input>
</td>
<td bgcolor="#F8F8FF">
<xsl:value-of select="checkbox2"/>
</td>
</tr>
</xsl:template>
<xsl:template match="radiobutton3">
<tr>
<!-- <td> -->
<!-- <xsl:number format="01" count="//frage"/> -->
<!-- </td> -->
<td/>
<td/>
<td bgcolor="#F8F8FF">
<!-- <xsl:variable name="rowID" select="position()"
</xsl:variable> -->

<xsl:variable name="rowID" select="//frage3"/>
<input type="radio" name="{$rowID}" value="{$rowID}">
</input>
</td>
<td bgcolor="#F8F8FF">
<xsl:value-of select="."/>
<xsl:apply-templates select="frage3"/>
</td>
<!-- falls Frage 1 vorhanden -->
<!-- <xsl:apply-templates select="radiobutton3"/> -->
</tr>
</xsl:template>
<xsl:template match="textarea3">
<tr>
<td/>
<td/>
<td bgcolor="#F8F8FF">
<TEXTAREA name="textarea" value="" rows="3" wrap="on" cols="70">
<xsl:value-of select="."/>
</TEXTAREA>
<!--<xsl:value-of select="."/>-->
</td>
</tr>
</xsl:template>
<!--********- <xsl:template matches für frage4
-********************-->
<!--********- <xsl:template matches für frage4
-********************-->
<!--********- <xsl:template matches für frage4
-********************-->
<xsl:template match="frage4">
<font color="#000000">
<tr>
<td/>
<td/>
<td>
<th align="left" bgcolor="#DEB887" colspan="2">
<span style="font-weight: normal;">
<xsl:value-of select="@text"/>
</span>
</th>
</td>
</tr>
</font>
<xsl:apply-templates/>
<!-- <xsl:template match="frage4"> Ende-->
</xsl:template>
<xsl:template match="checkbox4">
<tr>
<!-- <td> -->
<!-- <xsl:number format="01" count="checkbox"/> -->
<!-- </td> -->
<td/>
<td/>
<td bgcolor="#F8F8FF">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)*1000"/>
<input type="checkbox" value="./" name="/."
onclick="funcRadioButton()">
</input>
</td>
<td bgcolor="#3366FF">
<xsl:value-of select="checkbox2"/>
</td>
</tr>
</xsl:template>
<xsl:template match="radiobutton4">
<tr>
<!-- <td> -->
<!-- <xsl:number format="01" count="//frage"/> -->
<!-- </td> -->
<td/>
<td/>
<td/>
<td bgcolor="#F8F8FF">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)*1000"/>
<input type="radio" name="{$rowID}" value="{$rowID}">
</input>
</td>
<td bgcolor="#F8F8FF">
<xsl:value-of select="."/>
<xsl:apply-templates select="frage4"/>
</td>
<!-- falls Frage 1 vorhanden -->
<!-- <xsl:apply-templates select="radiobutton4"/> -->
</tr>
</xsl:template>
<xsl:template match="textarea4">
<tr>
<td/>
<td>
<TEXTAREA name="textarea" value="" rows="3" wrap="on" cols="70">
<xsl:value-of select="textarea4"/>
</TEXTAREA>
<!--<xsl:value-of select="."/>-->
</td>
</tr>
</xsl:template>
<!--********- <xsl:template matches für frage5
-********************-->
<!--********- <xsl:template matches für frage5
-********************-->
<!--********- <xsl:template matches für frage5
-********************-->
<xsl:template match="frage5">
<font color="#000000">
<tr>
<td/>
<td/>
<td/>
<td>
<th align="left" bgcolor="#DEB887" colspan="2">
<span style="font-weight: normal;">
<xsl:value-of select="@text"/>
</span>
</th>
</td>
</tr>
</font>
<xsl:apply-templates/>
<!-- <xsl:template match="frage5"> Ende-->
</xsl:template>
<xsl:template match="checkbox5">
<tr>
<!-- <td> -->
<!-- <xsl:number format="01" count="checkbox"/> -->
<!-- </td> -->
<td/>
<td/>
<td/>
<td bgcolor="#F8F8FF">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)*10000"/>
<input type="checkbox" value="./" name="/."
onclick="funcRadioButton()">
</input>
</td>
<td bgcolor="#F8F8FF">
<xsl:value-of select="checkbox2"/>
</td>
</tr>
</xsl:template>
<xsl:template match="radiobutton5">
<tr>
<!-- <td> -->
<!-- <xsl:number format="01" count="//frage"/> -->
<!-- </td> -->
<td/>
<td/>
<td/>
<td/>
<td bgcolor="#F8F8FF">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)*10000"/>
<input type="radio" name="{$rowID}" value="{$rowID}"/>
</td>
<td bgcolor="#F8F8FF">
<xsl:value-of select="."/>
<xsl:apply-templates select="frage5"/>
</td>
<!-- falls Frage 1 vorhanden -->
<!-- <xsl:apply-templates select="radiobutton5"/> -->
</tr>
</xsl:template>
<xsl:template match="textarea5">
<tr>
<td/>
<td>
<td/>
<TEXTAREA bgcolor="#F8F8FF" name="textarea" value="" rows="3"
wrap="on" cols="70">
<xsl:value-of select="textarea5"/>
</TEXTAREA>
<!--<xsl:value-of select="."/>-->
</td>
</tr>
</xsl:template>
</xsl:stylesheet>
************************************************** ***********************
the output is:
************************************************** ***********************
<html><body bgcolor="#C0C0C0"><br><font color="#000000"><table
border="1" bgcolor="#F5F5DC" width="100%" rules="all"><tr><th
align="left" bgcolor="#DEB887" colspan="6"><span style="font-weight:
normal;">Gibt es bei Ihnen derzeit lediglich All-Inclusive Produkte,
die implizit die Netzkosten mit abrechnen oder gibt es bereits heute
Produkte in denen die reinen Netzkosten als expliziter Bestandteil den
Kunden gegenüber ausgewiesen werden?</span></th></tr><font
color="#000000">
<tr><td bgcolor="#F8F8FF"><input type="radio" witdh="10" name="0"
value="0"></td><td bgcolor="#F8F8FF">Nur
All-Inclusive-Produkte</td></tr>
<font color="#000000"><tr><td><th align="left" bgcolor="#DEB887"
colspan="2"><span style="font-weight: normal;">Gibt es in den
bestehenden All-In-Abrechnungsmodellen bereits Tarife, die
ausschließlich der Ermittlung statistischer Netzbestandteile
dienen?</span></th></td></tr></font>
<tr><td></td><td bgcolor="#F8F8FF"><input type="radio" witdh="10"
name="10" value="10"></td><td bgcolor="#F8F8FF">Ja</td></tr>
<font color="#000000"><tr><td></td><td><th align="left"
bgcolor="#DEB887" colspan="2"><span style="font-weight: normal;">Sind
diese derzeit durch entsprechende buchungsrelevante Zeilen mit
Gegen-buchungsschritten im Hintergrund oder durch nicht
buchungsrelevante informatorische Zeilen realisiert?
</span></th></td></tr></font>
<tr><td></td><td></td><td bgcolor="#F8F8FF"><input type="radio"
name="100" value="100"></td><td bgcolor="#F8F8FF">buchungsrelevante
Zeilen mit</td></tr>
<tr><td></td><td></td><td bgcolor="#F8F8FF"><input type="radio"
name="100" value="100"></td><td bgcolor="#F8F8FF">informatorische
Zeilen</td></tr>
<tr><td bgcolor="#F8F8FF"><input type="radio" witdh="10" name="0"
value="0"></td><td bgcolor="#F8F8FF">All-In-Produkte und Netz+Energie
separat ausgewiesene</td></tr>
<font color="#000000"><tr><td><th align="left" bgcolor="#DEB887"
colspan="2"><span style="font-weight: normal;">Gibt es in den
bestehenden All-In-Abrechnungsmodellen bereits Tarife, die
ausschließlich der Ermittlung statistischer Netzbestandteile
dienen?</span></th></td></tr></font>
<tr><td></td><td bgcolor="#F8F8FF"><input type="radio" witdh="10"
name="30" value="30"></td><td bgcolor="#F8F8FF">Ja</td></tr>
<font color="#000000"><tr><td></td><td><th align="left"
bgcolor="#DEB887" colspan="2"><span style="font-weight: normal;">Sind
diese derzeit durch entsprechende buchungsrelevante Zeilen mit
Gegen-buchungsschritten im Hintergrund oder durch nicht
buchungsrelevante informatorische Zeilen realisiert?
</span></th></td></tr></font>
<tr><td></td><td></td><td bgcolor="#F8F8FF"><input type="radio"
name="100" value="100"></td><td bgcolor="#F8F8FF">buchungsrelevante
Zeilen mit</td></tr>
<tr><td></td><td></td><td bgcolor="#F8F8FF"><input type="radio"
name="100" value="100"></td><td bgcolor="#F8F8FF">informatorische
Zeilen</td></tr>

<tr><td></td><td bgcolor="#F8F8FF"><input type="radio" witdh="10"
name="30" value="30"></td><td bgcolor="#F8F8FF">Nein</td></tr>

<tr><td bgcolor="#F8F8FF"><input type="radio" witdh="10" name="0"
value="0"></td><td bgcolor="#F8F8FF">Nur seperat
ausgewiesene</td></tr>
</font></table></font><br><br><br></body></html>
************************************************** **********************
the problem: the first two radiobuttons are connected wird radiobutton
3 & 4 because of name="100"
100 ist created in <xsl:template match="radiobutton3">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)*100">
--> I count the parent nodes and here there ist the fault.
To get an idenfifier I have to use the "position()"-attribut, but
there is no way to get the position-value of the parent node.

I don't want to change the XML, just the XSL.

Is there an other way to get a identifier to group radiobuttons on
exery hierarchie-level?

Thanks a lot
Jul 20 '05 #1
1 2605
discomiller wrote:
Mario Mueller:

Hello *,

radiobuttons belong to other radiobuttons by the "name="any_value""
attribut.
Thats a fakt.

I got the following XML:
************************************************** ************
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="number4.xsl" type="text/xsl"?>
<fragekatalog>

<frage1 text="Gibt es bei Ihnen derzeit lediglich All-Inclusive
Produkte, die implizit die Netzkosten mit abrechnen oder gibt es
bereits heute Produkte in denen die reinen Netzkosten als expliziter
Bestandteil den Kunden gegenüber ausgewiesen werden?">
<radiobutton1>Nur All-Inclusive-Produkte</radiobutton1>
<frage2 text="Gibt es in den bestehenden All-In-Abrechnungsmodellen
bereits Tarife, die ausschließlich der Ermittlung statistischer
Netzbestandteile dienen?">
<radiobutton2>Ja</radiobutton2>
<frage3 text="Sind diese derzeit durch entsprechende
buchungsrelevante Zeilen mit Gegen-buchungsschritten im Hintergrund
oder durch nicht buchungsrelevante informatorische Zeilen realisiert?
">
<radiobutton3>buchungsrelevante Zeilen mit</radiobutton3>
<radiobutton3>informatorische Zeilen</radiobutton3>
</frage3>
</frage2>
<radiobutton1>All-In-Produkte und Netz+Energie separat
ausgewiesene</radiobutton1>
<frage2 text="Gibt es in den bestehenden All-In-Abrechnungsmodellen
bereits Tarife, die ausschließlich der Ermittlung statistischer
Netzbestandteile dienen?">
<radiobutton2>Ja</radiobutton2>
<frage3 text="Sind diese derzeit durch entsprechende
buchungsrelevante Zeilen mit Gegen-buchungsschritten im Hintergrund
oder durch nicht buchungsrelevante informatorische Zeilen realisiert?
">
<radiobutton3>buchungsrelevante Zeilen mit</radiobutton3>
<radiobutton3>informatorische Zeilen</radiobutton3>
</frage3>
<radiobutton2>Nein</radiobutton2>
</frage2>
<radiobutton1>Nur seperat ausgewiesene</radiobutton1>
</frage1>
</fragekatalog>
************************************************** *****************
and I have a XSL:
************************************************** *****************
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<xsl:apply-templates select="fragekatalog/titel"/>
<body bgcolor="#C0C0C0">
<xsl:apply-templates select="fragekatalog/frage1"/>
</body>
</html>
<!-- Ende <xsl:template match="/"> -->
</xsl:template>
<xsl:template match="titel">
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type"/>
<basefont size="0" color="#000000"
face="Courier,Arial,Helvetica,sans-serif"/>
<p>
<img src="bilder/dsc.gif" alt="dsc"/>
</p>
<br/>
<br/>
<title>
<xsl:value-of select="."/>
</title>
</head>
<!-- Ende <xsl:template match="titel"> -->
</xsl:template>
<xsl:template match="frage1">
<!--<h1>Meine frage1</h1>-->
<br/>
<font color="#000000">
<table border="1" bgcolor="#F5F5DC" width="100%" rules="all">
<tr>
<!-- Farbe Überschrift einer Tabelle -->
<th align="left" bgcolor="#DEB887" colspan="6">
<span style="font-weight: normal;">
<xsl:value-of select="@text"/>
</span>
</th>
</tr>
<font color="#000000">
<xsl:apply-templates/>
</font>
</table>
</font>
<br/>
<br/>
<br/>
<!-- <xsl:template match="frage1"> Ende-->
</xsl:template>
<xsl:template match="radiobutton1">
<tr>
<!-- Farbe Radiobutton1 -->
<td bgcolor="#F8F8FF">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)"/>
<input type="radio" witdh="10" name="{$rowID}" value="{$rowID}">
</input>
</td>
<!-- Farbe Text zu Radiobutton1 -->
<td bgcolor="#F8F8FF">
<xsl:value-of select="."/>
</td>
<!-- falls frage1 1 vorhanden -->
<xsl:apply-templates select="frage2"/>
</tr>
</xsl:template>
<xsl:template match="checkbox1">
<tr>
<td bgcolor="#F8F8FF">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)"/>
<input type="checkbox" witdh="10" value="./" name="/."
onclick="funcRadioButton()">
</input>
</td>
<td bgcolor="#F8F8FF">
<xsl:value-of select="."/>
</td>
</tr>
</xsl:template>
<xsl:template match="textarea">
<tr>
<td/>
<td/>
<td bgcolor="#F8F8FF">
<TEXTAREA name="textarea1" value="" rows="3" wrap="on" cols="70">
<xsl:value-of select="textarea1"/>
</TEXTAREA>
<!--<xsl:value-of select="."/>-->
</td>
</tr>
</xsl:template>
<!--********- <xsl:template matches für frage2
-********************-->
<!--********- <xsl:template matches für frage2
-********************-->
<!--********- <xsl:template matches für frage2
-********************-->
<!--********- <xsl:template matches für frage2
-********************-->
<xsl:template match="frage2">
<font color="#000000">
<tr>
<td>
<th align="left" bgcolor="#DEB887" colspan="2">
<span style="font-weight: normal;">
<xsl:value-of select="@text"/>
</span>
</th>
</td>
</tr>
</font>
<xsl:apply-templates/>
<!-- <xsl:template match="frage"> Ende-->
</xsl:template>
<xsl:template match="checkbox2">
<tr>
<td bgcolor="#F8F8FF">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)*10"/>
<input type="checkbox" witdh="10" value="./" name="/."
onclick="funcRadioButton()">
</input>
</td>
<td>
<xsl:value-of select="checkbox2"/>
</td>
</tr>
</xsl:template>
<xsl:template match="radiobutton2">
<tr>
<td>
</td>
<td bgcolor="#F8F8FF">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)*10"/>
<input type="radio" witdh="10" name="{$rowID}" value="{$rowID}">
</input>
</td>
<td bgcolor="#F8F8FF">
<xsl:value-of select="."/>
<xsl:apply-templates select="frage3"/>
</td>
</tr>
</xsl:template>
<xsl:template match="textarea2">
<tr>
<td/>
<td>
<TEXTAREA name="textarea" value="" rows="3" wrap="on" cols="70">
<xsl:value-of select="textarea2"/>
</TEXTAREA>
<!--<xsl:value-of select="."/>-->
</td>
</tr>
</xsl:template>
<!--********- <xsl:template matches für frage3
-********************-->
<!--********- <xsl:template matches für frage3
-********************-->
<!--********- <xsl:template matches für frage3
-********************-->
<xsl:template match="frage3">
<font color="#000000">
<tr>
<td/>
<td>
<!-- dscmm 01022005 >>> -->
<xsl:param name="mypara" select="position()"/>
<xsl:value-of select="position()"/>
<!-- dscmm 01022005 <<< -->
<xsl:value-of select="mypara"/>
<th align="left" bgcolor="#DEB887" colspan="2">
<span style="font-weight: normal;">
<xsl:value-of select="@text"/>
</span>
</th>
</td>
</tr>
</font>
<xsl:apply-templates/>
<!-- <xsl:template match="frage3"> Ende-->
</xsl:template>
<xsl:template match="checkbox3">
<tr>
<td/>
<td bgcolor="#F8F8FF">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)*100"/>
<Input type="checkbox" value="./" name="/."
onclick="funcRadioButton()">
</Input>
</td>
<td bgcolor="#F8F8FF">
<xsl:value-of select="checkbox2"/>
</td>
</tr>
</xsl:template>
<xsl:template match="radiobutton3">
<tr>
<!-- <td> -->
<!-- <xsl:number format="01" count="//frage"/> -->
<!-- </td> -->
<td/>
<td/>
<td bgcolor="#F8F8FF">
<!-- <xsl:variable name="rowID" select="position()"
</xsl:variable> -->


<xsl:variable name="rowID" select="//frage3"/>
<input type="radio" name="{$rowID}" value="{$rowID}">
</input>
</td>
<td bgcolor="#F8F8FF">
<xsl:value-of select="."/>
<xsl:apply-templates select="frage3"/>
</td>
<!-- falls Frage 1 vorhanden -->
<!-- <xsl:apply-templates select="radiobutton3"/> -->
</tr>
</xsl:template>
<xsl:template match="textarea3">
<tr>
<td/>
<td/>
<td bgcolor="#F8F8FF">
<TEXTAREA name="textarea" value="" rows="3" wrap="on" cols="70">
<xsl:value-of select="."/>
</TEXTAREA>
<!--<xsl:value-of select="."/>-->
</td>
</tr>
</xsl:template>
<!--********- <xsl:template matches für frage4
-********************-->
<!--********- <xsl:template matches für frage4
-********************-->
<!--********- <xsl:template matches für frage4
-********************-->
<xsl:template match="frage4">
<font color="#000000">
<tr>
<td/>
<td/>
<td>
<th align="left" bgcolor="#DEB887" colspan="2">
<span style="font-weight: normal;">
<xsl:value-of select="@text"/>
</span>
</th>
</td>
</tr>
</font>
<xsl:apply-templates/>
<!-- <xsl:template match="frage4"> Ende-->
</xsl:template>
<xsl:template match="checkbox4">
<tr>
<!-- <td> -->
<!-- <xsl:number format="01" count="checkbox"/> -->
<!-- </td> -->
<td/>
<td/>
<td bgcolor="#F8F8FF">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)*1000"/>
<input type="checkbox" value="./" name="/."
onclick="funcRadioButton()">
</input>
</td>
<td bgcolor="#3366FF">
<xsl:value-of select="checkbox2"/>
</td>
</tr>
</xsl:template>
<xsl:template match="radiobutton4">
<tr>
<!-- <td> -->
<!-- <xsl:number format="01" count="//frage"/> -->
<!-- </td> -->
<td/>
<td/>
<td/>
<td bgcolor="#F8F8FF">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)*1000"/>
<input type="radio" name="{$rowID}" value="{$rowID}">
</input>
</td>
<td bgcolor="#F8F8FF">
<xsl:value-of select="."/>
<xsl:apply-templates select="frage4"/>
</td>
<!-- falls Frage 1 vorhanden -->
<!-- <xsl:apply-templates select="radiobutton4"/> -->
</tr>
</xsl:template>
<xsl:template match="textarea4">
<tr>
<td/>
<td>
<TEXTAREA name="textarea" value="" rows="3" wrap="on" cols="70">
<xsl:value-of select="textarea4"/>
</TEXTAREA>
<!--<xsl:value-of select="."/>-->
</td>
</tr>
</xsl:template>
<!--********- <xsl:template matches für frage5
-********************-->
<!--********- <xsl:template matches für frage5
-********************-->
<!--********- <xsl:template matches für frage5
-********************-->
<xsl:template match="frage5">
<font color="#000000">
<tr>
<td/>
<td/>
<td/>
<td>
<th align="left" bgcolor="#DEB887" colspan="2">
<span style="font-weight: normal;">
<xsl:value-of select="@text"/>
</span>
</th>
</td>
</tr>
</font>
<xsl:apply-templates/>
<!-- <xsl:template match="frage5"> Ende-->
</xsl:template>
<xsl:template match="checkbox5">
<tr>
<!-- <td> -->
<!-- <xsl:number format="01" count="checkbox"/> -->
<!-- </td> -->
<td/>
<td/>
<td/>
<td bgcolor="#F8F8FF">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)*10000"/>
<input type="checkbox" value="./" name="/."
onclick="funcRadioButton()">
</input>
</td>
<td bgcolor="#F8F8FF">
<xsl:value-of select="checkbox2"/>
</td>
</tr>
</xsl:template>
<xsl:template match="radiobutton5">
<tr>
<!-- <td> -->
<!-- <xsl:number format="01" count="//frage"/> -->
<!-- </td> -->
<td/>
<td/>
<td/>
<td/>
<td bgcolor="#F8F8FF">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)*10000"/>
<input type="radio" name="{$rowID}" value="{$rowID}"/>
</td>
<td bgcolor="#F8F8FF">
<xsl:value-of select="."/>
<xsl:apply-templates select="frage5"/>
</td>
<!-- falls Frage 1 vorhanden -->
<!-- <xsl:apply-templates select="radiobutton5"/> -->
</tr>
</xsl:template>
<xsl:template match="textarea5">
<tr>
<td/>
<td>
<td/>
<TEXTAREA bgcolor="#F8F8FF" name="textarea" value="" rows="3"
wrap="on" cols="70">
<xsl:value-of select="textarea5"/>
</TEXTAREA>
<!--<xsl:value-of select="."/>-->
</td>
</tr>
</xsl:template>
</xsl:stylesheet>
************************************************** ***********************
the output is:
************************************************** ***********************
<html><body bgcolor="#C0C0C0"><br><font color="#000000"><table
border="1" bgcolor="#F5F5DC" width="100%" rules="all"><tr><th
align="left" bgcolor="#DEB887" colspan="6"><span style="font-weight:
normal;">Gibt es bei Ihnen derzeit lediglich All-Inclusive Produkte,
die implizit die Netzkosten mit abrechnen oder gibt es bereits heute
Produkte in denen die reinen Netzkosten als expliziter Bestandteil den
Kunden gegenüber ausgewiesen werden?</span></th></tr><font
color="#000000">
<tr><td bgcolor="#F8F8FF"><input type="radio" witdh="10" name="0"
value="0"></td><td bgcolor="#F8F8FF">Nur
All-Inclusive-Produkte</td></tr>
<font color="#000000"><tr><td><th align="left" bgcolor="#DEB887"
colspan="2"><span style="font-weight: normal;">Gibt es in den
bestehenden All-In-Abrechnungsmodellen bereits Tarife, die
ausschließlich der Ermittlung statistischer Netzbestandteile
dienen?</span></th></td></tr></font>
<tr><td></td><td bgcolor="#F8F8FF"><input type="radio" witdh="10"
name="10" value="10"></td><td bgcolor="#F8F8FF">Ja</td></tr>
<font color="#000000"><tr><td></td><td><th align="left"
bgcolor="#DEB887" colspan="2"><span style="font-weight: normal;">Sind
diese derzeit durch entsprechende buchungsrelevante Zeilen mit
Gegen-buchungsschritten im Hintergrund oder durch nicht
buchungsrelevante informatorische Zeilen realisiert?
</span></th></td></tr></font>
<tr><td></td><td></td><td bgcolor="#F8F8FF"><input type="radio"
name="100" value="100"></td><td bgcolor="#F8F8FF">buchungsrelevante
Zeilen mit</td></tr>
<tr><td></td><td></td><td bgcolor="#F8F8FF"><input type="radio"
name="100" value="100"></td><td bgcolor="#F8F8FF">informatorische
Zeilen</td></tr>
<tr><td bgcolor="#F8F8FF"><input type="radio" witdh="10" name="0"
value="0"></td><td bgcolor="#F8F8FF">All-In-Produkte und Netz+Energie
separat ausgewiesene</td></tr>
<font color="#000000"><tr><td><th align="left" bgcolor="#DEB887"
colspan="2"><span style="font-weight: normal;">Gibt es in den
bestehenden All-In-Abrechnungsmodellen bereits Tarife, die
ausschließlich der Ermittlung statistischer Netzbestandteile
dienen?</span></th></td></tr></font>
<tr><td></td><td bgcolor="#F8F8FF"><input type="radio" witdh="10"
name="30" value="30"></td><td bgcolor="#F8F8FF">Ja</td></tr>
<font color="#000000"><tr><td></td><td><th align="left"
bgcolor="#DEB887" colspan="2"><span style="font-weight: normal;">Sind
diese derzeit durch entsprechende buchungsrelevante Zeilen mit
Gegen-buchungsschritten im Hintergrund oder durch nicht
buchungsrelevante informatorische Zeilen realisiert?
</span></th></td></tr></font>
<tr><td></td><td></td><td bgcolor="#F8F8FF"><input type="radio"
name="100" value="100"></td><td bgcolor="#F8F8FF">buchungsrelevante
Zeilen mit</td></tr>
<tr><td></td><td></td><td bgcolor="#F8F8FF"><input type="radio"
name="100" value="100"></td><td bgcolor="#F8F8FF">informatorische
Zeilen</td></tr>

<tr><td></td><td bgcolor="#F8F8FF"><input type="radio" witdh="10"
name="30" value="30"></td><td bgcolor="#F8F8FF">Nein</td></tr>

<tr><td bgcolor="#F8F8FF"><input type="radio" witdh="10" name="0"
value="0"></td><td bgcolor="#F8F8FF">Nur seperat
ausgewiesene</td></tr>
</font></table></font><br><br><br></body></html>
************************************************** **********************
the problem: the first two radiobuttons are connected wird radiobutton
3 & 4 because of name="100"
100 ist created in <xsl:template match="radiobutton3">
<xsl:variable name="rowID"
select="count(../preceding-sibling::*)*100">
--> I count the parent nodes and here there ist the fault.
To get an idenfifier I have to use the "position()"-attribut, but
there is no way to get the position-value of the parent node.

I don't want to change the XML, just the XSL.

Is there an other way to get a identifier to group radiobuttons on
exery hierarchie-level?

Thanks a lot

I think instead of count(../preceding-sibling::*) you want
count(../preceding::*|../ancestor::*)
Jul 20 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Peter Gerstbach | last post by:
Hello, I need help on the new xsl:document element! I'm using XSLT version 1.1 to be able to use the <xsl:document> element, because I need more than 1 output files. I'm using Saxon 6.5.3 My...
2
by: Martin Pettersson | last post by:
Hi all, I'm trying to multiply parent values in xsl. The thing is that I start with a value down in the xml-structure. From that value (in my case 'qty' value) I check the parent value and later...
1
by: readytohelp | last post by:
I have the following XML <root> <Companies> <Name>Labs</Name> <display>Labs </display> <val>1</val> <Products> <val>1</val> <display>Maxa</display> <CompanyKey>1</CompanyKey>
3
by: Blaise Garant | last post by:
Hi I've made a stylesheet to transform my data into XSL-FO. This stylesheet used to work with MSXSL 4.0 but I've got some issues in ..NET. First, I changed removed all the "node-set()" function...
10
by: William Krick | last post by:
I am writing an XSL transform that converts XML data about vehicles into XML data that will fill printed forms. The default form can handle up to 5 vehicles which I handle using subscripts... ...
6
by: Christoph | last post by:
I'm trying to come up with a stylesheet where, when the rows are displayed, duplicate game names are not shown on subsequent rows. It works but doesn't work properly. If I sort the data using...
14
by: ajfish | last post by:
Hi, I am trying to allocate a unique ID to every instance of tag 'foo' in a large XML document. currently I'm doing this: <xsl:variable name="UniqueId"> <xsl:number count="foo" level="any"/>...
3
by: davisford | last post by:
Hi, If I have something like this: <parents> <parent name="foo"> <children> <child>fred</child> <child>barney</child> <child>wilma</child>
7
by: Ebenezer | last post by:
Hello! Let's suppose we have an XML with some nested NODE nodes: <root attr="first"> <node id="1" attr="mike"> <node id="2" /> <node id="3" attr="dave" /> </node> <node id="4">
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.