This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Passing Variable into an external xml document template


Hi,

Known:
(1) How to pass parameters to a template
(2) How to use an an external xml file

Problem:
Within the template of an external xml file,
I want to process based on the parameter Passed in.

XML main:
<MenuDisplay>
  <MenuName>Main</MenuName>
</MenuDisplay>

XML external (Menus.xml):
<MenuTreeList>
  <MenuTree name="Login">
    <MenuItem>
      <Text>Please Login</Text>
    </MenuItem>
  </MenuTree>
  <MenuTree name="Main">
    <MenuItem>
      <Text>System News</Text>
    </MenuItem>
    <MenuItem>
	<Text>Customer Menu</Text>
    </MenuItem>
  </MenuTree>
</MenuTreeList>

XSL:
<xsl:stylesheet
  version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="MenuDisplay">
    <xsl:apply-templates select="document('Menus.xml')">
      <xsl:with-param name="theMenu select="MenuName"/>
    </xsl:apply-templates>
  </xsl:template>
  <xsl:template match="MenuTreeList">
    <xsl:param name="theMenu"/>
    <xsl:apply-templates select="MenuTree[@name=$theMenu]"/>
  </xsl:template>
</xsl:stylesheet>

It seems that the parameter theMenu is not set.

Thanks to Jeni's site I have come this far, but, although
the current problem seems like another problem answered by Jeni
"Re:Loading an external file of index" it does not seem to
work for me. (using xalan).


Thanks for any help you may be able to provide.

________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]