xsl-list
[Top] [All Lists]

RE: xsl:attribute -- is this doing what I hope?

2003-04-28 12:16:48
Hi

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Kathy Burke
Sent: Monday, April 28, 2003 7:49 PM
To: 'xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com'
Subject: [xsl] xsl:attribute -- is this doing what I hope?
That depends on what is you want to do




I have a <step> element with a "timer" attribute. If the 
@timer = yes, I want to create 2 additional attributes for 
the <step>. Please tell me where I'm going wrong...again.

Thanks...again.

Kathy


<xsl:template match="@timer">
      <xsl:if test=".='yes'">
              <xsl:attribute name="Start"></xsl:attribute>
              <input type="button" value="Start"></input>
This will create an empty attribute named 'Start' and add a child element
<input .../>

              <xsl:attribute name="Finish"></xsl:attribute>
This will not work because you have already create a child element. You
can't create attributes after creating child nodes (elements, text,
comments,etc). You'll have to create the attributes before


              <input type="button" value="Finish"></input>
This will add a second <input .../> child element

      </xsl:if>
</xsl:template>


If you have something like:
<somenode timer="yes"/>

After applying that template you'll end with:
<somenode start="">
 <input type="button" value="Start"/>
 <input type="button" value="Finish"/>
</somenode>




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



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