Re: XSLT and URI processing
> However, XSLT and XPath appear to lack anything like an "absolutize" > function. I don't see any clear path forward for this in the context of > XSLT 1.0 and XPath 1.0, nor do my preliminary explorations of the 2.0 > versions offer me much more hope on this issue. > > Overall, I'm looking for a function that: > takes a URI as an argument > IF the URI is absolute, it returns the same URI > IF the URI is relative, it absolutizes it, based on: > a) xml:base if available or > b) the base URI of the document (or external entity) itself or > c) a provided base URI > > (b) would be for archiving information more or less in-place, while (c) > would be for archiving the information at a different location. (a), (b) > and (c) might well be represented as separate functions. > > EXSLT doesn't (yet) have such a function, though I understand that a > pair of extension functions can make this work in 4XSLT. Given the > status of XML Base as a W3C Recommendation, I have to admit that this > feels like a surprising omission from at least the latest of these > specs. Yes, 4XSLT has a f:resolve-url extension and a f:base-uri extension. The combination of the two as so: f:resolve-url($uri-in-question, f:base-uri(.)) Would meet Simon's need, using the current context node to supply the base URI. Note: f:resolve-url resolves but does not retrieve. I think both separate functions are useful enough that merging them doesn't make sense. I certainly agree with Simon that this is something that should be added to the XPath core library or to EXSLT. I think that if we had it in XPath, it would help remove the disgusting hack of two-argument document(). -- Uche Ogbuji Fourthought, Inc. http://uche.ogbuji.net http://4Suite.org http://fourthought.com Track chair, XML/Web Services One Boston: http://www.xmlconference.com/ The many heads of XML modeling - http://adtmag.com/article.asp?id=6393 Will XML live up to its promise? - http://www-106.ibm.com/developerworks/xml/li brary/x-think11.html
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format