[Home] [By Thread] [By Date] [Recent Entries]
Hi,
I'm setting a value on a variable using conditions. The variable must be a node-set so that I can do some processing with it. <xsl:variable name="validAttributeType">
<xsl:if test="key('allTypes', @type)">
<xsl:copy-of select="key('allTypes', @type)/xsd:restriction"/>
</xsl:if>
<xsl:if test="xsd:simpleType"
<xsl:copy-of select="xsd:simpleType/xsd:restriction"/>
</xsl:if>
</xsl:variable>The "xsd:restriction" tag has a "base" attribute that I need to access and send to a template as a parameter. <xsl:call-template name="trimAttribute"> <xsl:with-param name="attributeName" select="'base'"/> <xsl:with-param name="attribute" select="$validAttributeType/@base"/> </xsl:call-template> But it gives me a "XSLT Error (javax.xml.transform.TransformerException): org.apache.xpath.objects.XRTreeFrag" when I try to do <xsl:with-param name="attribute" select="$validAttributeType/@base"/> OR <xsl:with-param name="attribute"><xsl:copy-of select="$validAttributeType/@base"/></xsl:with-param> I can print out the variable's contents, which is correct, but I can't seem to access the attribute. By the way, previously I had this <xsl:variable name="validAttributeType" select="key('allTypes', @type)/xsd:restriction"/> which works! But adding the conditional messed it up. How can I get the same behaviour as the above line in a conditional variable? I appreciate any help. Thank you! _________________________________________________________________ Show Your Messenger Buddies How You Really Feel http://www.freemessengeremoticons.ca/?icid=EMENCA122
|

Cart



