[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: [xsl] Variables
Subject: RE: [xsl] Variables From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Mon, 26 Oct 2009 11:46:37 -0000 |
Firstly, xsl:if doesn't change the context node, so this <xsl:if test="webenmr/calculation"> <xsl:if test="webinfo"> <xsl:value-of select="@workingdir"/> should probably be something like this: <xsl:if test="webenmr/calculation"> <xsl:if test="webemr/calculation/webinfo"> <xsl:value-of select="webemr/calculation/webinfo/@workingdir"/> Assuming the context node is a pdb_info, you can output your hyperlink like this: <a href="{ancestor::calculation/webinfo/@workingdir}/{@filename}">...</a> I think you're having problems because you haven't understood the concept of the context node/item, or the details of when and how it changes. Also: try to take advantage of apply-templates and template rules, rather than wrapping everying in deeply-nested for-each loops. Regards, Michael Kay http://www.saxonica.com/ http://twitter.com/michaelhkay > -----Original Message----- > From: David Galligani [mailto:galligani@xxxxxxxxxxxxx] > Sent: 26 October 2009 11:29 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Variables > > Hi all , > I' m a complete newbie in xml/xsl , and I'm having several problems . > I have the following xml : > > <webenmr> > <calculation> > <webinfo workingdir="x_10_2009" /> > <protocol name="xplor" type="pm"> > <parameter init_t="2500" high_step="10000" cool_step="10000" > end_count="5" loop_count="3" timestep="0.005" n_thread="20" > /> <structure> <struct_file>protein.psf</struct_file> > <struct_file>CA2.psf</struct_file> > <struct_file>axis_new_501.psf</struct_file> > <struct_file>axis_new_502.psf</struct_file> > <struct_file>axis_new_503.psf</struct_file> > </structure> > <parameter_md> > <param_file>par_axis_3.pro</param_file> > <param_file>ca.par</param_file> > </parameter_md> > <coordinate> > <coord_file>protein.pdb</coord_file> > <coord_file>ca.pdb</coord_file> > <coord_file>axis_xyzo_3_501.pdb</coord_file> > <coord_file>axis_xyzo_3_502.pdb</coord_file> > <coord_file>axis_xyzo_3_503.pdb</coord_file> > </coordinate> > <noe> > <cls name="tensor" scale="1000"> > <noe_file>tensors.tbl</noe_file> > </cls> > <cls name="noe" scale="50"> > <noe_file>calbindin_NOE.tbl</noe_file> > <noe_file>metalcenter.tbl</noe_file> > </cls> > </noe> > <dih> > <dih_file>calbindin_ACO.tbl</dih_file> > </dih> > <xpcs xpcs_file="calbindin_PCS_ce.tbl" xclass="pcsce" t1="521.4" > t2="-175.5" fmed="20" scale="5.0" /> > <xpcs xpcs_file="calbindin_PCS_dy.tbl" xclass="pcsdy" t1="9041.9" > t2="-5601.7" fmed="20" scale="0.25" /> > <xpcs xpcs_file="calbindin_PCS_yb.tbl" xclass="pcsyb" t1="1978.7" > t2="-923.3" fmed="20" scale="1.25" /> > <xrdc xrdc_file="calbindin_RDC_ce.tbl" xclass="rdcce" t1="-0.424" > t2="0.143" fmed="20" scale="1.0" /> > <xrdc xrdc_file="calbindin_RDC_dy.tbl" xclass="rdcdy" t1="-7.348" > t2="4.552" fmed="20" scale="0.05" /> > <xrdc xrdc_file="calbindin_RDC_yb.tbl" xclass="rdcyb" t1="-1.608" > t2="0.750" fmed="20" scale="0.25" /> > <metal_parameter type="xml"> > <convert type="xplor,amber" /> > <type_name name="M1" element="Ca" mass="40.080" eps="0.05" /> > </metal_parameter> > <metal_topology type="xml"> > <res name="XM1"> > <atom_name name="CA2" type_name="M1" charge="2.0" num="1" /> > </res> > </metal_topology> > <analysis comp_sel="name CA" top_frac="0.2" /> > </protocol> > <output name="xplor"> > <iteration number="1"> > <pdb_info directory="./input_9/" > filename="ite_1_d_input_9_pdb_sa1_1.pdb"> > <XPCS_tensor A1="554.334203883598" energy_pcs="0.958539032156901" > A2="-166.871736148801" class="pcsce" > total_energy="89.1003471455398" /> > </pdb_info> > <pdb_info directory="./input_9/" > filename="ite_1_d_input_9_pdb_sa1_2.pdb"> > <XPCS_tensor A1="541.035035882894" energy_pcs="1.39407060526426" > A2="-159.967740084884" class="pcsce" > total_energy="188.041801829022" /> > </pdb_info> > <pdb_info directory="./input_9/" > filename="ite_1_d_input_9_pdb_sa1_3.pdb"> > <XPCS_tensor A1="535.219580534061" energy_pcs="1.32367130882385" > A2="-175.784774140119" class="pcsce" > total_energy="90.7929905009074" /> > </pdb_info> > [...] > > and the xsl ( which probably will be infested with errors :) ): > > <?xml version="1.0"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:output method="html" encoding="UTF-8"/> > > <xsl:template match="/"> > <html> > <head> > <meta http-equiv="content-type" content="text/html; > charset=utf-8" /> <title>ENMRWEBUI</title> > > > <!--<link xmlns="http://www.w3.org/1999/xhtml" > type="text/css" href="" />--> > > <!--<link rel="stylesheet" type="text/css" media="print" > href="css/enmrwebui.css" />--> > </head><body> > <!--<xsl:if test="@name='xplor'">--> > <xsl:if test="webenmr/calculation"> > <xsl:if test="webinfo"> > <xsl:value-of select="@workingdir"/> > </xsl:if> > <xsl:if test="webenmr/calculation/output/iteration"> > <table id="outputTable"> > <xsl:for-each > select="webenmr/calculation/output/iteration"> > <tr><th>Iteration > </th> > > <td> > <xsl:value-of select="@number"/> > > </td><td></td><td></td><td></td> > > </tr> > > <xsl:for-each select="pdb_info"> > <tr> > <th>File</th> > <td><a href="file_pdb/"> > > <xsl:value-of select="@filename"/> > </a> > </td><td></td><td></td><td></td> > </tr> > > <xsl:if test="XPCS_tensor"> > <tr> > <th>XPCS Tensor A1 > </th><th>Energy PCS</th><th>A2</th><th>Class</th><th>Total Energy</th> > </tr> > > <xsl:for-each select="XPCS_tensor"> > > <tr> > <td><xsl:value-of > select="@A1"/> </td> > > <td> <xsl:value-of > select="@energy_pcs"/></td> > > <td><xsl:value-of > select="@A2"/> </td> > > <td><xsl:value-of > select="@class"/></td> > > <td> <xsl:value-of > select="@total_energy"/></td> > </tr> > </xsl:for-each> > </xsl:if> > [...] > > I want to concatenate the "workingdir" and "filename" values > in an hyperlink , something like <a > href='workingdir/filename'>File</a> > but atm nothing seems to work . > I'm sure it' s a silly thing , but I have already lost 2 days > trying to achieve it , and I was wondering if someone could help me . > Many thx in advance . > > David > > P.S.: I hope you can understand my english ...
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Variables, David Galligani | Thread | Re: [xsl] Variables, Martin Honnen |
[xsl] Variables, David Galligani | Date | Re: [xsl] Variables, Martin Honnen |
Month |