DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15611>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15611 [PATCH] LinkRewriterTransformer: using InputModules in Transformers Summary: [PATCH] LinkRewriterTransformer: using InputModules in Transformers Product: Cocoon 2 Version: Current CVS Platform: Other OS/Version: Other Status: NEW Severity: Enhancement Priority: Other Component: sitemap components AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Hi all, With help from Chris, I've written the attached transformer which rewrites attributes deemed to be links (typically @href or @src). It treats a link URI as an InputModule 'address', and uses the appropriate InputModule to rewrite the link. Reusing InputModules like this gives this transformer a lot of bang for buck :) The canonical example is to set up an XMLFileModule, which accesses node values from an XML document. Say we load the following XML doc into an XMLFileModule called 'linkmap': <site> <input href="index.html"/> <primer href="primer.html"/> </site> Then a link, <link href="linkmap:/site/index/@href"> will be rewritten as <link href="index.html">. As InputModules can be chained, we can put a SimpleMappingMetaModule in front of this to simplify the source URI to <link href="site:index">. The two attached sample subsitemaps demonstrate the transformer. One implements the above example, and the other uses book.xml @label attributes to translate links like 'book:Introduction' into 'introduction.html', or '../introduction.html' etc (depending on directory). The intention is to use this in Forrest to implement the linking system described at http://marc.theaimsgroup.com/?l=forrest-dev&m=103444028129281&w=2 and furthermore to implement a range of link 'schemes', eg convert <link href="person:JT"> to <a href="mailto:jefft at apache dot org">. While the transformer I've implemented happens to rewrite links, this transformer could be generalized to transform any part of the incoming XML. For example, we could rewrite any occurrence of ${scheme:address} in the source XML. All feedback appreciated. The code has been tested to the extent of developing the samples, and should improve as I try it out in Forrest. --Jeff --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]