Issues using parameters with namespaces
George Joseph via xslt <[email protected]> Mon, 28 Feb 2022 10:50:38 -0700
| Newsgroups | gmane.comp.gnome.lib.xslt |
|---|---|
| Message-ID | <CAP=uFEtt8vA9h9Y9iO701o7Na-Cwpi9wCSxZcfAORu7Aq3HcNw@mail.gmail.com> |
--===============2492222001104560303== Content-Type: multipart/related; boundary="000000000000ab5a6e05d917b084" --000000000000ab5a6e05d917b084 Content-Type: multipart/alternative; boundary="000000000000ab5a6d05d917b083" --000000000000ab5a6d05d917b083 Content-Type: text/plain; charset="UTF-8" Greetings, I've been having a heck of a time trying to pass a parameter to xsltApplyStylesheet that has namespaces in the xpath expression. For example (abbreviated): stylesheet: <xsl:stylesheet xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" ...> <xsl:param name="path" select="/*" /> <xsl:template match="/"> <xsl:apply-templates select="$path"/> </xsl:template> xml: <presence xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" ...> <dm:device/> ... $ xsltproc --param path "//dm:device" pidf_lo.xslt pidf_lo_test.xml XPath error : Undefined namespace prefix runtime error Evaluating user parameter path failed if I hard code that select="//dm:device" it works fine. Finally I did find a workaround by calling xsltNewTransformContext() then iterating over the nsDefs in the stylesheet document and calling xmlXPathRegisterNs on ctxt->xpathCtxt for each nsDef. I would have thought this would have been done automatically though. Did I miss something or is there a better way to do this? Thanks! -- George Joseph Asterisk Software Developer Check us out at www.sangoma.com and www.asterisk.org [image: image.png] --000000000000ab5a6d05d917b083 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Greetings,<div><br></div><div>I've been having a heck = of a time trying to pass a parameter to=C2=A0xsltApplyStylesheet</div><div>= that has namespaces in the xpath expression.=C2=A0=C2=A0</div><div><br></di= v><div>For example (abbreviated):</div><div>stylesheet:</div><div><xsl:s= tylesheet xmlns:dm=3D"urn:ietf:params:xml:ns:pidf:data-model" ...= ></div><div><xsl:param name=3D"path" select=3D"/*"= ; /><br></div><div>=C2=A0<xsl:template match=3D"/"><br> = <xsl:apply-templates select=3D"$path"/><br> </xsl:templ= ate><br></div><div><br></div><div>xml:</div><div><presence xmlns:dm= =3D"urn:ietf:params:xml:ns:pidf:data-model" ...></div><div><= ;dm:device/></div><div>...</div><div><br></div><div>$=C2=A0xsltproc --pa= ram path "//dm:device" pidf_lo.xslt pidf_lo_test.xml</div><div>XP= ath error : Undefined namespace prefix<br>runtime error<br>Evaluating user = parameter path failed<br clear=3D"all"><div><br></div><div>if I hard code t= hat select=3D"//dm:device"=C2=A0 it works fine.</div><div><br></d= iv><div>Finally I did find a workaround by calling=C2=A0xsltNewTransformCon= text() then iterating</div><div>over the nsDefs in the stylesheet document = and calling=C2=A0xmlXPathRegisterNs on</div><div>ctxt->xpathCtxt for eac= h nsDef.</div><div><br></div><div>I would have thought this would have been= done automatically though.=C2=A0 Did I</div><div>miss something or is ther= e a better way to do this?</div><div><br></div><div>Thanks!</div><div><br><= /div><div><br></div><div><br></div><div><br></div><div><br></div><div><br><= /div>-- <br><div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gm= ail_signature"><div dir=3D"ltr"><div><div dir=3D"ltr"><div dir=3D"ltr"><div= dir=3D"ltr"><div dir=3D"ltr" style=3D"font-size:12.8px"><div dir=3D"ltr" s= tyle=3D"font-size:12.8px"><div style=3D"font-family:tahoma,sans-serif;font-= size:small"><span style=3D"color:rgb(7,55,99)">George Joseph</span><br></di= v></div><div dir=3D"ltr" style=3D"font-size:small"></div><div style=3D"font= -family:tahoma,sans-serif;font-size:small"><span style=3D"color:rgb(7,55,99= )">Asterisk Software Developer</span><br></div><div style=3D"font-family:ta= homa,sans-serif;font-size:small"><font color=3D"#073763">Check us out at</f= ont>=C2=A0<a href=3D"http://www.sangoma.com/" style=3D"color:rgb(17,85,204)= " target=3D"_blank">www.sangoma.com</a>=C2=A0and=C2=A0<a href=3D"http://www= .asterisk.org" target=3D"_blank">www.asterisk.org</a><br></div><div style= =3D"font-family:tahoma,sans-serif;font-size:small"><img src=3D"cid:ii_k3abt= e590" alt=3D"image.png" width=3D"184" height=3D"32" style=3D"margin-right:0= px"></div></div></div></div></div></div></div></div></div></div> --000000000000ab5a6d05d917b083-- --000000000000ab5a6e05d917b084 Content-Type: image/png; name="image.png" Content-Disposition: inline; filename="image.png" Content-Transfer-Encoding: base64 Content-ID: <ii_k3abte590> X-Attachment-Id: ii_k3abte590 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 AAAAAElFTkSuQmCC --000000000000ab5a6e05d917b084-- --===============2492222001104560303== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ xslt mailing list, project page http://xmlsoft.org/XSLT/ [email protected] https://mail.gnome.org/mailman/listinfo/xslt --===============2492222001104560303==--