Version 6 (modified by 18 years ago) (diff) | ,
---|
XSL-Transformation Macro
Description
The XsltMacro allows you to embed the result of an XSL-transformation in a page. It takes two parameters, a stylesheet and a document to transform. These can be an attachment on any wiki-page or ticket, any page from the htdocs area, or any file in the repository (these options are basically same as for Trac's native ImageMacro). For more details see the documentation in the macro.
The macro can either be installed as a simple macro or as a plugin; the use_iframe option (see below) only works when installed as a plugin.
This macro requires that libxml2, libxslt, and their python bindings are installed.
IFrames
Because a macro's output is embedded in the html of the wiki page, the xsl-stylesheet must not produce a full html page. As an alternative, you can pass the use_iframe option to the macro; this will cause the macro put an <iframe> tag into the page instead of the results from the stylesheet. The stylesheet can (and must) then generate a complete html page.
The downside of iframes is that you need to know the height of the result in order to set the height of the iframe; otherwise you'll either get extra space at the bottom or you'll have to scroll through the frame. The macro generates some javascript to automatically set this height, but that only works if the user has javascript enabled of course.
Bugs/Feature Requests
Existing bugs and feature requests for XsltMacro are here.
If you have any issues, create a new ticket.
Download
To install as a simple macro, just download
this file and
put it in your wiki-macros
directory.
To install as a plugin, download the zipped source from
[download:xsltmacro here], change the directory to
xsltmacro/0.9
, run python setup.py bdist_egg
, and copy the
resulting dist/xslt-0.1-pyX.Y.egg
to your plugins directory.
Source
You can check out XsltMacro from here using Subversion, or browse the source with Trac.
Example
The following table is produced with this macro call:
[[Xslt(format.xsl, info.xml)]]
Name | Address | |
---|---|---|
John Smith | 42 Easy St | johns@cool.com |
Mary Francis | 1 Heavenly Way | maryf@hot.com |
Here's how you would tell it to use an iframe:
[[Xslt(format.xsl, info.xml, use_iframe, if_height=500)]]
Recent Changes
- 15871 by rjollos on 2016-09-06 17:28:57
-
Rename 0.9 directory to 0.10
- 7914 by roadrunner on 2010-05-02 14:32:16
-
Pass (http) request parameters which start with xp_ to the stylesheet as
additional parameters. This can be useful for example to implement paging.
This closes #5275.
- 7913 by roadrunner on 2010-05-02 14:32:04
-
Simplified parameter extraction a bit.
(more)
Author/Contributors
Author: roadrunner
Contributors:
User Comments
Feel free to leave any comments about the plugin here.
Comment by anonymous on Ma 06 iun 2006 06:46:14 EST
A hacked version of Xslt.py able to use external url's as doc or style.
With this version it is possible to do some cheap rss feed integration. Just point the xml to a http:// url and supply a local stylesheet.
Example RSS Feed conversion (please use your own stylesheet):
[[Xslt(http://manalang.com/wp-content/rss1.xsl, http://del.icio.us/rss/)]]
Based on xsltmacro-r790.zip
Thank you for your cool plugin,
wuxxin at gmail.com
Attachments (2)
-
info.xml (285 bytes) - added by 18 years ago.
example doc
-
format.xsl (497 bytes) - added by 18 years ago.
example stylesheet
Download all attachments as: .zip