Case insensitive XPath contains() possible?

This is for XPath 1.0. If your environment supports XPath 2.0, see here. Yes. Possible, but not beautiful. /html/body//text()[ contains( translate(., ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’, ‘abcdefghijklmnopqrstuvwxyz’), ‘test’ ) ] This would work for search strings where the alphabet is known beforehand. Add any accented characters you expect to see. If you can, mark the text that interests you … Read more

How can I convert a string to upper- or lower-case with XSLT?

In XSLT 1.0 the upper-case() and lower-case() functions are not available. If you’re using a 1.0 stylesheet the common method of case conversion is translate(): <xsl:variable name=”lowercase” select=”‘abcdefghijklmnopqrstuvwxyz'” /> <xsl:variable name=”uppercase” select=”‘ABCDEFGHIJKLMNOPQRSTUVWXYZ'” /> <xsl:template match=”https://stackoverflow.com/”> <xsl:value-of select=”translate(doc, $lowercase, $uppercase)” /> </xsl:template>

What are the differences between ‘call-template’ and ‘apply-templates’ in XSL?

<xsl:call-template> is a close equivalent to calling a function in a traditional programming language. You can define functions in XSLT, like this simple one that outputs a string. <xsl:template name=”dosomething”> <xsl:text>A function that does something</xsl:text> </xsl:template> This function can be called via <xsl:call-template name=”dosomething”>. <xsl:apply-templates> is a little different and in it is the real … Read more

Set HTML5 doctype with XSLT

I think this is currently only supported by writing the doctype out as text: <?xml version=”1.0″ encoding=”utf-8″?> <xsl:stylesheet version=”1.0″ xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”> <xsl:output method=”html” encoding=”utf-8″ indent=”yes” /> <xsl:template match=”https://stackoverflow.com/”> <xsl:text disable-output-escaping=’yes’>&lt;!DOCTYPE html&gt;</xsl:text> <html> </html> </xsl:template> </xsl:stylesheet> This will produce the following output: <!DOCTYPE html> <html> </html>

Pretty printing XML with javascript

From the text of the question I get the impression that a string result is expected, as opposed to an HTML-formatted result. If this is so, the simplest way to achieve this is to process the XML document with the identity transformation and with an <xsl:output indent=”yes”/> instruction: <xsl:stylesheet version=”1.0″ xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”> <xsl:output omit-xml-declaration=”yes” indent=”yes”/> <xsl:template … Read more

How to apply an XSLT Stylesheet in C#

I found a possible answer here: http://web.archive.org/web/20130329123237/http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=63 From the article: XPathDocument myXPathDoc = new XPathDocument(myXmlFile) ; XslTransform myXslTrans = new XslTransform() ; myXslTrans.Load(myStyleSheet); XmlTextWriter myWriter = new XmlTextWriter(“result.html”,null) ; myXslTrans.Transform(myXPathDoc,null,myWriter) ; Edit: But my trusty compiler says, XslTransform is obsolete: Use XslCompiledTransform instead: XPathDocument myXPathDoc = new XPathDocument(myXmlFile) ; XslCompiledTransform myXslTrans = new XslCompiledTransform(); myXslTrans.Load(myStyleSheet); … Read more