[Home] [By Thread] [By Date] [Recent Entries]

  • From: Oliver Becker <obecker@i...>
  • To: Jeweller@n...
  • Date: Tue, 01 Aug 2000 11:14:25 +0200 (MET DST)

Salut Michael,

> I use the XMLComponents (http://xmlcomponents.com) which provides somes
> object like textfield, DBgrid, etc... So I have a screen file which
> represent how are the elements:
> 
>     <xmc:textField Name='USER' > <...>  </...> </xmcTextField>
> 
> In other side, I have a XML file which contains datas and other
> informations about properties for components.
> 
>     <TEXTFIELDS><TEXTFIELD><USER Disabled='yes'></...> ....</TEXTFIELDS>
> 
> In my librarie (which is parsing the screen file) I want to integrate
> the properties from datafile.
> Access to dataFile: $DataPacket
> 
> Exemple:
> 
> <template match xmc:TextField>
>     <xsl:if test="@Name='USER'">
>                 <.... dummy but ....>
> 
>     <xsl:if test="$DataPacket/TEXTFIELD/TEXTFIELD/*[name()='USER']">
>         <xsl:attribute name="disabled" ......
> 
> it is working fine.... But This doesnt work :
> 
>     <xsl:if test="$DataPacket/TEXTFIELD/TEXTFIELD/*[name()=@Name]">

This tests wether the the name of the element is the same as its attribute
"Name" (true for <USER Name="USER"> for example)
That's not what you want - you want the attribute from the current
node (matched by match pattern "xmc:TextField").
The correct expression is
<xsl:if test="$DataPacket/TEXTFIELD/TEXTFIELD/*[name()=current()/@Name]">

BTW: XSLT questions are better posted to xsl-list@m...,
see http://www.mulberrytech.com/xsl/xsl-list

Cheers,
Oliver


/-------------------------------------------------------------------\
|  ob|do        Dipl.Inf. Oliver Becker                             |
|  --+--        E-Mail: obecker@i...             |
|  op|qo        WWW:    http://www.informatik.hu-berlin.de/~obecker |
\-------------------------------------------------------------------/


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member