xslt - XPath testing attributes of different paths against eachother -


i have these xml files:

include_paths.xml

<includes>     <include name="foo" path="path/to/foo">     <include name="bar" path="path/to/bar"> </includes> 

main.xml

<model>     <include file="foo">     <include file="bar"> </model> 

xslt stylesheet (sheet.xslt)

<xsl:param name="include_paths"/> <xsl:template match="/">     <ul>         <xsl:apply-templates select="//include"/>     </ul> </xsl:template>  <xsl:template match="include">   <li><a href="#{document($include_paths)/includes/include[@name = @file]/@name}"><xsl:value-of select="@file"/></a></li> </xsl:template> 

i run transformation with

xsltproc --stringparam include_paths include_paths.xml sheet.xslt main.xml

what code supposed first give script parameter containing file path of include_paths.xml defines include paths. parameter declared globally , used in "include" template. when iterating through includes main.xml, want put in <a> tag linking path name matches in include tags different xml files.

so example, want <li> item ends <include> item main.xml @file=foo have path path/to/foo, taken include_paths.xml. produce following expected result:

<ul>     <li><a href="path/to/foo">foo</a></li>     <li><a href="path/to/bar">bar</a></li> </ul> 

i think problem namespacing (scoping?) in xpath expression, can't distinguish @name , @file tags. guess scope of document(...) function of $include_paths variable , hence include_paths.xml file, problem how refer @file attribute xpath expression.

how solve problem?

use current() in <a href="#{document($include_paths)/includes/include[@name = current()/@file]/@name}"><xsl:value-of select="@file"/></a>.


Comments

Popular posts from this blog

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project.Error occurred in starting fork -

windows - Debug iNetMgr.exe unhandle exception System.Management.Automation.CmdletInvocationException -

configurationsection - activeMq-5.13.3 setup configurations for wildfly 10.0.0 -