Login | Register
My pages Projects Community openCollabNet

Project home

If you were registered and logged in, you could join this project.

Summary performs Xsl transformations on the ASP.NET output stream
Category libraries
License GNU General Public License
Owner(s) woric

Message from the owner(s)

XsltFilter is used on several production sites and a few Intranet sites, but I would like to see it used on other sites, and in particular, sites running Mono. If you decide to try XsltFilter or want to contribute in any way then please let me know.


There is no development involved, simply install the filter and start writing xml. XsltFilter will produce the html as specified in whichever xsl file you choose to use. This separation of the xml content from the design layer (the xsl and css are the design layer) leads to much faster site developement and easier site maintenance.

  • Faster development times: the developer can be focussed on content and functionality.
  • Consistent look and feel: Using xsl automatically leads to a consistent look and feel throughout a site.
  • Validation: It is easier to write valid html because it is stored in a single xsl file.
  • Rebranding: simply specify a different stylesheet and the site is rebranded (aka skinning).
  • Easier site maintenance: once again, the developer is focussed on content and functionality.
  • Easy site redesigns: the appearance of the site is stored in a single xsl file.
  • Promotes code re-use: Any code you write produces xml without design elements. Very easy to re-use.

Where to use XsltFilter:
  • Blog sites: rss feeds are xml based so formatting them with XsltFilter is easy.
  • Content Management Systems: xml based CMS systems are flexible and easy to implement.
  • Photo galleries: Get the file list as xml and the rest is simple.
  • and so many more...

Important: A good working knowledge of xsl is required to make full use of XsltFilter.

Technical Information

XsltFilter is a ASP.NET filter that performs automatic high-performance server side xsl transformations. The developer does not need to write any code to perform the transformation - just have the page produce well-formed xml and change the extension from aspx to xf.

XsltFilter does this by intercepting the output stream of any page that has an xf extension, performing a xsl transformation on the stream, and then sending the resulting html to the browser.

The transformation does add a small overhead to every request (approx 1ms to 2 ms for a simple page), but in return you get proper separation of the design layer which brings many benefits like simpler code, consistent look and feel and faster development times. Also, because the html is centralised into a single Xsl stylesheet, updates can be applied globally by changing only that one file and rebranding (aka skinning) the site is as straightforward as using a different xsl stylesheet for different users.

  • As stated above, xf pages are aspx or xml pages which have had been renamed with a xf extension.
  • As xf pages are standard aspx pages they have full and unrestricted access to all ASP.NET features, including session variables and advanced features like a user defined base class for the page.
  • All xf pages must produce well-formed xml. Any attempt to do a Xsl transformation on a page that is not well-formed will raise an exception.
  • An application can switch between aspx and xf pages without restriction.
  • XsltFilter can also generate csv, xml and text content.
  • XsltFilter requires DotNet Framework 1.1
Important: As stated above, a good working knowledge of xsl is required to make full use of XsltFilter.

Publicly available live sites:
  • woric.net
  • flatmates.com.au (sold and rewritten in another language by new owner)
Latest Documentation::
  • XsltFilter.chm 1.1 (compiled help file - includes examples and installation instructions)
Some Xsl Tutorials: