<span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">Hey guys,</span><br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">
<br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)"><span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">   The current XPath stack on Mono is tied up to 1.0 because this is what</span><br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">
<span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">.NET had.</span><br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">
<br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)"><span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">   Every once in a while we run into useful features from XPath 2.0 that</span><br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">
<span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">would be useful to have.   And although a complete XPath implementation is</span><br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">
<span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">not something that we want to jump into with both feet, it would be useful</span><br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">
<span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">to introduce some of the simpler new functions that were part of XPath 2.0,</span><br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">
<span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">like the convenience "ends-with" method instead of the alternative mess:</span><br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">
<br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)"><span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">substring(/myXml/data,</span><br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">
<span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">            string-length(/myXml/data) - string-length('World') +1</span><br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">
<span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">            )</span><br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">
<br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)"><br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)"><span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">Or:</span><br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">
<br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)"><span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)"> <stylesheet> or <transform> : <msxsl:script language="C#"</span><br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">
<span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">implements-prefix="x"</span><br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">
<span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">xmlns:msxsl="urn:schemas-</span><span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">microsoft-com:xslt">public bool ends_with</span><br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">
<span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">(string s, string target) { return s.EndsWith (target);</span><br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">
<span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">}</msxsl:script></span><br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">
<br style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)"><span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:16px;background-color:rgb(255,255,255)">and use "x:ends_with(foo, bar)" instead</span>