msxsl - how to iterate through XML param in XSLT -


i have xml file transforming via xslt. passing xml parameter xslt via c#. parameter's name attachment , contains xml. written follows:

stringwriter sw = new stringwriter();  xmltextwriter w = new xmltextwriter(sw);  w.writestartelement("root");  if (!string.isnullorempty(swordfilename)) {      w.writestartelement("mylink", swordfilename);      w.writeendelement();  } if (!string.isnullorempty(spdffilename)) {      w.writestartelement("mylink", spdffilename);     w.writeendelement(); } w.close(); xpathdocument doc = new xpathdocument(new stringreader(sw.tostring())); xpathnavigator nav = doc.createnavigator(); _exportset[currentexportset].format.paramlist["attachment"] = nav.select("./*"); 

my xml parameter looks

<root><attachment xmlns=file1><attachment xmlns=file2></root> 

now in xslt need iterate through xml param , create link.

here xslt

<?xml version="1.0" encoding="utf-8"?>      <xsl:stylesheet version="2.0" xmlns:xsl="w3.org/1999/xsl/transform"         xmlns:msxsl="urn:schemas-microsoft-com:xslt"          xmlns:my-scripts="urn:my-scripts"          xmlns="factiva.com/fcs/schemas/newssummaries">          <xsl:param name="attachment"/>         <xsl:for-each select="$attachment">               <a target="_blank" href="#"><xsl:copy-of select="."/></a>            </xsl:for-each>      </xsl:stylesheet> 

but doesn't create link.

an xslt parameter different xml tag name. parameters passed using tag described here.

as stated in comments below, problem not different provided in link above.

stringwriter sw = new stringwriter();  xmltextwriter w = new xmltextwriter(sw);  w.writestartelement("root");  if (!string.isnullorempty(swordfilename)) {      w.writestartelement("attachment", swordfilename);      w.writeattributestring("name", swordfilename);     w.writeendelement();  } if (!string.isnullorempty(spdffilename)) {      w.writestartelement("attachment");     w.writeattributestring("name", spdffilename);     w.writeendelement(); } w.writeendelement(); w.close(); xpathdocument doc = new xpathdocument(new stringreader(sw.tostring())); xpathnavigator nav = doc.createnavigator();  xsltargumentlist xslarg = new xsltargumentlist(); xslarg.addparam("attachment","",nav); 

here xsl match per accessing parameters contain mark-up:

<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="2.0"     xmlns:xsl="w3.org/1999/xsl/transform"    xmlns:msxsl="urn:schemas-microsoft-com:xslt"     xmlns:my-scripts="urn:my-scripts"     xmlns="factiva.com/fcs/schemas/newssummaries">     <xsl:param name="attachment" />      <xsl:template match="/">         <xsl:apply-templates select="$attachment"/>     </xsl:template>     <xsl:template match="attachment">         <a target="_blank" href="{@name}">{@name}</a>     </xsl:template>  </xsl:stylesheet> 

Comments

Popular posts from this blog

linux - Mailx and Gmail nss config dir -

c# - Is it possible to remove an existing registration from Autofac container builder? -

php - Mysql PK and FK char(36) vs int(10) -