[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] 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
|