Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Namespace Manager or XsltContext needed. This query has a prefix, variable, or user-defined function

I am trying to call SelectNode from XmlDocument class and trouble due to this error:

Namespace Manager or XsltContext needed. This query has a prefix, variable, or user-defined function.

My code:

   public void Add(ref XmlDocument xmlFormat, String strName)    {         XmlDocument dom;         XSLTemplate xsl = null;         String strPath = "";         XmlNodeList nl;         XmlAttribute na;         int n;          nl = (XmlNodeList)xmlFormat.SelectNodes("//xsl:import/@href",nsm);     } 

and xsl:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">     <xsl:import href="stylesheets/r_adresetiket.xsl" />     <xsl:template match="/">         <xsl:call-template name="retouradres">             <xsl:with-param name="_retouradres" select="data/adresetiket/_retouradres" />             <xsl:with-param name="minofdir" select="data/adresetiket/afzendgegevens/afzendgegevens" />             <xsl:with-param name="checked" select="data/adresetiket/LB" />         </xsl:call-template>     </xsl:template> </xsl:stylesheet> 
like image 280
rizwan ansari Avatar asked Nov 22 '12 11:11

rizwan ansari


1 Answers

You have to add xsl namespace to XmlNamespaceManager:

var document = new XmlDocument(); document.Load(...); var nsmgr = new XmlNamespaceManager(document.NameTable); nsmgr.AddNamespace("xsl", "http://www.w3.org/1999/XSL/Transform");  var nl = document.SelectNodes("//xsl:import/@href", nsmgr); 
like image 57
Ria Avatar answered Sep 20 '22 13:09

Ria