xsl-list
[Top] [All Lists]

Re: Problem with Parameter binding with String

2003-08-28 16:54:27
It seems like you can only use the parameter(variable)
in the predicates with XPATH.

So, I can do this:


<xsl:copy-of select="*[name(.) = $pName]"/>


To copy the orignal element to the output.


Thanks

Dongling

--- Dongling Ding <dling61(_at_)yahoo(_dot_)com> wrote:

Hi,


I am trying again here. Hope someone can help me on
this.

I have a test.xml and a name list in another xml
file
called lookup.xml. I open the test.xml and also look
at the lookup.xml to see if there is any element
missing in the test.xml. If exists, I can just copy
the element into the result tree; if not, i can
create
that one.

A template can do this job like:


<xsl:call-template name="replacement">
<xsl:with-param name="pName" select="'XX'"/>
<xsl:with-param name="defaultValue" select="'+'"/>
</xsl:call-template>



<xsl:template name="replacement">
      <xsl:param name="pName"/>
      <xsl:param name="defaultValue"/>        
      <xsl:choose>
        <xsl:when test="*[name(.) = $pName]">         
<xsl:copy-of select="?????"/>
        </xsl:when>
        <xsl:otherwise>
              <xsl:element name="{$pName}">
              <xsl:value-of select="$defaultValue"/>
              </xsl:element>
        </xsl:otherwise>
      </xsl:choose>
</xsl:template>

test.xml:

<Member>
  <XX>1</XX>
</Member>


I have to call the template replacement and pass the
pName as string since that is the thing I got from
lookup.xml. But in the template I just can NOT copy
that XX element and value because the pName is a
string. Is this the same problem like converting a
string into node-set? Or is there any workaround for
this.


Thanks


Dongling



__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site
design software
http://sitebuilder.yahoo.com



__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>