<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Why Use XSLT in Server Side Web Frameworks For Output Generation?</title>
	<atom:link href="http://www.onenaught.com/posts/8/xslt-in-server-side-web-frameworks/feed" rel="self" type="application/rss+xml" />
	<link>http://www.onenaught.com/posts/8/xslt-in-server-side-web-frameworks</link>
	<description>A blog on web standards, accessibility, css, javascript, xslt, and more</description>
	<lastBuildDate>Mon, 22 Feb 2010 01:46:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Anup Shah</title>
		<link>http://www.onenaught.com/posts/8/xslt-in-server-side-web-frameworks/comment-page-1#comment-13857</link>
		<dc:creator>Anup Shah</dc:creator>
		<pubDate>Fri, 24 Apr 2009 09:26:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.onenaught.com/posts/8/xslt-in-server-wide-web-frameworks#comment-13857</guid>
		<description>Derek, thanks for your comments. I updated the Cocoon project link. Not sure why I had it linked to the specific version in the first place...

In regards to why one would NOT want to use this approach with dynamic web sites, in the time I have written this, I do have a few scenarios where using something like ASP.NET controls has been useful (despite another blog post compliaining about how leaky its abstraction is!).

That is, I have found in an application that requires extremely rich desktop controls and interactions beyond rich web applications, with an XSLT type of framework, we end up trying to recreate all the view state and other mechanisms already built into ASP.NET. In that scenario, a trade-off may be applicable depending on where the majority of effort for development/maintenance will likely fall.

I am not completely convinced of my own thought here, and one day will try to blog this aspect and explore it further.</description>
		<content:encoded><![CDATA[<p>Derek, thanks for your comments. I updated the Cocoon project link. Not sure why I had it linked to the specific version in the first place&#8230;</p>
<p>In regards to why one would NOT want to use this approach with dynamic web sites, in the time I have written this, I do have a few scenarios where using something like ASP.NET controls has been useful (despite another blog post compliaining about how leaky its abstraction is!).</p>
<p>That is, I have found in an application that requires extremely rich desktop controls and interactions beyond rich web applications, with an XSLT type of framework, we end up trying to recreate all the view state and other mechanisms already built into ASP.NET. In that scenario, a trade-off may be applicable depending on where the majority of effort for development/maintenance will likely fall.</p>
<p>I am not completely convinced of my own thought here, and one day will try to blog this aspect and explore it further.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Derek</title>
		<link>http://www.onenaught.com/posts/8/xslt-in-server-side-web-frameworks/comment-page-1#comment-13856</link>
		<dc:creator>Derek</dc:creator>
		<pubDate>Fri, 24 Apr 2009 07:17:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.onenaught.com/posts/8/xslt-in-server-wide-web-frameworks#comment-13856</guid>
		<description>Great article; I&#039;ve been a long time user of XSLT in Cocoon (BTW, your link to it should point to http://cocoon.apache.org , as the newer versions offer some really significant and interesting changes!) and I do wonder why someone would NOT want to use this approach for creating dynamic websites.  Not to mention, that when working with newer XML technologies such as SVG its an incredibly useful tool on its own.</description>
		<content:encoded><![CDATA[<p>Great article; I&#8217;ve been a long time user of XSLT in Cocoon (BTW, your link to it should point to <a href="http://cocoon.apache.org" rel="nofollow">http://cocoon.apache.org</a> , as the newer versions offer some really significant and interesting changes!) and I do wonder why someone would NOT want to use this approach for creating dynamic websites.  Not to mention, that when working with newer XML technologies such as SVG its an incredibly useful tool on its own.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anup Shah</title>
		<link>http://www.onenaught.com/posts/8/xslt-in-server-side-web-frameworks/comment-page-1#comment-13058</link>
		<dc:creator>Anup Shah</dc:creator>
		<pubDate>Tue, 14 Oct 2008 10:44:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.onenaught.com/posts/8/xslt-in-server-wide-web-frameworks#comment-13058</guid>
		<description>Daniel,

Thanks for your comments. I agree with you -- web frameworks are a good idea but would be nice if their template languages could be improved and made more consistent.

I think I can understand why some people in both closed and open source shy away from it. There&#039;s always the other angle that if your framework is in say C#, PHP, Python etc then a templating language based on that is also nice.

With ASP.NET for example, for very complex and form-heavy applications (as opposed to web sites) sometimes their control model with view state is actually okay (that being said, other times I do feel XSLT can help remove some bloat).

On the unit tests, I apologize for not posting something sooner (this post was written in Feb, and I still haven&#039;t got round to it!) Although there are a number of ways, the technique I have found useful is to use code like PHP, Java, or C# etc to run a unit test that generates output from an XSLT and do an XML diff with an expected output file. Will try to post something soon when I can get some time :)

Look forward to your blog post reply!</description>
		<content:encoded><![CDATA[<p>Daniel,</p>
<p>Thanks for your comments. I agree with you &#8212; web frameworks are a good idea but would be nice if their template languages could be improved and made more consistent.</p>
<p>I think I can understand why some people in both closed and open source shy away from it. There&#8217;s always the other angle that if your framework is in say C#, PHP, Python etc then a templating language based on that is also nice.</p>
<p>With ASP.NET for example, for very complex and form-heavy applications (as opposed to web sites) sometimes their control model with view state is actually okay (that being said, other times I do feel XSLT can help remove some bloat).</p>
<p>On the unit tests, I apologize for not posting something sooner (this post was written in Feb, and I still haven&#8217;t got round to it!) Although there are a number of ways, the technique I have found useful is to use code like PHP, Java, or C# etc to run a unit test that generates output from an XSLT and do an XML diff with an expected output file. Will try to post something soon when I can get some time <img src='http://www.onenaught.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Look forward to your blog post reply!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel</title>
		<link>http://www.onenaught.com/posts/8/xslt-in-server-side-web-frameworks/comment-page-1#comment-13052</link>
		<dc:creator>Daniel</dc:creator>
		<pubDate>Tue, 14 Oct 2008 09:53:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.onenaught.com/posts/8/xslt-in-server-wide-web-frameworks#comment-13052</guid>
		<description>Hi Anup,

This is a fantastic post, thank you. I am working on a reply on my own blog page, but in brief it is heartening to me to know that there are other developers in the world using and enjoying XSLT as much as we have over the past 8 years or so. Our entire SaaS CMS is based around XML and XSLT, and we are still finding new ways to extend our templates for our customers. 

Your stories of replicating sites that use XSLT templates strike a chord with me, as we have saved our clients a lot of time and money when upgrading, extending or duplicating web sites thanks to XSLT.

Web Application Frameworks are such a great idea, and wonderful from a web developer&#039;s standpoint, but it is often disheartening to read a framework&#039;s documentation and find yet another proprietary, non-standard template language for rendering HTML. It seems ironic to me that in a world of open-source, open standards are not always embraced.

I would like to see all frameworks introduce support for XSLT so that template designers are spared from learning yet another template language.

Anyway, great work and I&#039;ll be sure to post a reply to your article in a couple of days. 

- Daniel

PS. I would be really interested in how you have done unit tests in XSL, and would appreciate a quick post, even if just in a comment.</description>
		<content:encoded><![CDATA[<p>Hi Anup,</p>
<p>This is a fantastic post, thank you. I am working on a reply on my own blog page, but in brief it is heartening to me to know that there are other developers in the world using and enjoying XSLT as much as we have over the past 8 years or so. Our entire SaaS CMS is based around XML and XSLT, and we are still finding new ways to extend our templates for our customers. </p>
<p>Your stories of replicating sites that use XSLT templates strike a chord with me, as we have saved our clients a lot of time and money when upgrading, extending or duplicating web sites thanks to XSLT.</p>
<p>Web Application Frameworks are such a great idea, and wonderful from a web developer&#8217;s standpoint, but it is often disheartening to read a framework&#8217;s documentation and find yet another proprietary, non-standard template language for rendering HTML. It seems ironic to me that in a world of open-source, open standards are not always embraced.</p>
<p>I would like to see all frameworks introduce support for XSLT so that template designers are spared from learning yet another template language.</p>
<p>Anyway, great work and I&#8217;ll be sure to post a reply to your article in a couple of days. </p>
<p>- Daniel</p>
<p>PS. I would be really interested in how you have done unit tests in XSL, and would appreciate a quick post, even if just in a comment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anup Shah</title>
		<link>http://www.onenaught.com/posts/8/xslt-in-server-side-web-frameworks/comment-page-1#comment-12723</link>
		<dc:creator>Anup Shah</dc:creator>
		<pubDate>Thu, 09 Oct 2008 16:51:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.onenaught.com/posts/8/xslt-in-server-wide-web-frameworks#comment-12723</guid>
		<description>@Ryan: Thanks for the kind words!

The XSLT being done in the browser with JavaScript is interesting. I had tinkered with this some time back and found a few inconsistencies and limited support. Not looked at it for a while now. 

How have you found it, or do you have a blog post on it?</description>
		<content:encoded><![CDATA[<p>@Ryan: Thanks for the kind words!</p>
<p>The XSLT being done in the browser with JavaScript is interesting. I had tinkered with this some time back and found a few inconsistencies and limited support. Not looked at it for a while now. </p>
<p>How have you found it, or do you have a blog post on it?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ryan Anderson</title>
		<link>http://www.onenaught.com/posts/8/xslt-in-server-side-web-frameworks/comment-page-1#comment-12720</link>
		<dc:creator>Ryan Anderson</dc:creator>
		<pubDate>Thu, 09 Oct 2008 15:40:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.onenaught.com/posts/8/xslt-in-server-wide-web-frameworks#comment-12720</guid>
		<description>This is very good.  I just wrapped up converting my website framework to deliver all pages and content in XML (using PHP), converting the front-end to XSL, with a very tiny PHP page to do the transform.  Separation is the way to go, and in the future it would very easy to migrate either of the implementations (XML, transformations) into another platform/language.  The separation also allows me to optimize or re-factor sections on an almost &quot;surgical&quot; level, without affecting any other part of the framework.  Using an open Javascript library, like JQuery, completes the circle.  After working with web technologies for over 10 years now, I am FINALLY satisfied with the direction of my framework (custom built in PHP over 8 years).  I also have a hobby project using XML delivering by ASP.NET serialization, with the XSLT done in the browser using Javascript.  That also an exciting direction.

Thanks much for the extremely well-thought out and informative article!</description>
		<content:encoded><![CDATA[<p>This is very good.  I just wrapped up converting my website framework to deliver all pages and content in XML (using PHP), converting the front-end to XSL, with a very tiny PHP page to do the transform.  Separation is the way to go, and in the future it would very easy to migrate either of the implementations (XML, transformations) into another platform/language.  The separation also allows me to optimize or re-factor sections on an almost &#8220;surgical&#8221; level, without affecting any other part of the framework.  Using an open Javascript library, like JQuery, completes the circle.  After working with web technologies for over 10 years now, I am FINALLY satisfied with the direction of my framework (custom built in PHP over 8 years).  I also have a hobby project using XML delivering by ASP.NET serialization, with the XSLT done in the browser using Javascript.  That also an exciting direction.</p>
<p>Thanks much for the extremely well-thought out and informative article!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anup Shah</title>
		<link>http://www.onenaught.com/posts/8/xslt-in-server-side-web-frameworks/comment-page-1#comment-8396</link>
		<dc:creator>Anup Shah</dc:creator>
		<pubDate>Sat, 09 Aug 2008 23:26:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.onenaught.com/posts/8/xslt-in-server-wide-web-frameworks#comment-8396</guid>
		<description>@Jukka-Pekka: Yeah, I think that definitely happens and have seen the same thing happen. Interestingly from a developer perspective XSLT is a functional programming language (as opposed to imperative). I think someone also wrote somewhere that it is a turing complete language, i.e. a full blown programming language. Yet, from a designer perspective, it can also be a decent templating language (though maybe verbose in some places). I haven&#039;t had time to get round to it just yet, but I will try to post some examples of how XSLT could be used in the View of MVC (allowing both designers and developers to work together on this if they want -- or at least have someone to moan to in agreement ;) )</description>
		<content:encoded><![CDATA[<p>@Jukka-Pekka: Yeah, I think that definitely happens and have seen the same thing happen. Interestingly from a developer perspective XSLT is a functional programming language (as opposed to imperative). I think someone also wrote somewhere that it is a turing complete language, i.e. a full blown programming language. Yet, from a designer perspective, it can also be a decent templating language (though maybe verbose in some places). I haven&#8217;t had time to get round to it just yet, but I will try to post some examples of how XSLT could be used in the View of MVC (allowing both designers and developers to work together on this if they want &#8212; or at least have someone to moan to in agreement <img src='http://www.onenaught.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jukka-Pekka Keisala</title>
		<link>http://www.onenaught.com/posts/8/xslt-in-server-side-web-frameworks/comment-page-1#comment-8372</link>
		<dc:creator>Jukka-Pekka Keisala</dc:creator>
		<pubDate>Sat, 09 Aug 2008 15:13:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.onenaught.com/posts/8/xslt-in-server-wide-web-frameworks#comment-8372</guid>
		<description>I believe XSLT is disgarded by developers because of the they see it as a &quot;programming&quot; langauge which it clearly isn&#039;t . Also problem that layis on typical web develoiper team is that who would be that &quot;middle&quot; guy who takes html mockup and XML data and transforms it to dynamic data using XML. Very often programmers do not want touch HTML and HTML designers sees XSLT &quot;too technical&quot;.</description>
		<content:encoded><![CDATA[<p>I believe XSLT is disgarded by developers because of the they see it as a &#8220;programming&#8221; langauge which it clearly isn&#8217;t . Also problem that layis on typical web develoiper team is that who would be that &#8220;middle&#8221; guy who takes html mockup and XML data and transforms it to dynamic data using XML. Very often programmers do not want touch HTML and HTML designers sees XSLT &#8220;too technical&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anup Shah</title>
		<link>http://www.onenaught.com/posts/8/xslt-in-server-side-web-frameworks/comment-page-1#comment-6654</link>
		<dc:creator>Anup Shah</dc:creator>
		<pubDate>Thu, 26 Jun 2008 08:33:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.onenaught.com/posts/8/xslt-in-server-wide-web-frameworks#comment-6654</guid>
		<description>@Mike: Yes, that is a fair observation I think. XSLT currently is not as popular as other frameworks for generating markup (from what I can tell), and so what you find is a likely case.

@Christophe: Thanks for the links. The Stylesheet Schemas is interesting, for if I understand correctly, the implication is that you could use this to test if your XSLT needs updating because code elsewhere has been refactored? (assuming you can keep the stylesheet schema updated without much pain when refactoring other code that transforms to XML, etc...?)</description>
		<content:encoded><![CDATA[<p>@Mike: Yes, that is a fair observation I think. XSLT currently is not as popular as other frameworks for generating markup (from what I can tell), and so what you find is a likely case.</p>
<p>@Christophe: Thanks for the links. The Stylesheet Schemas is interesting, for if I understand correctly, the implication is that you could use this to test if your XSLT needs updating because code elsewhere has been refactored? (assuming you can keep the stylesheet schema updated without much pain when refactoring other code that transforms to XML, etc&#8230;?)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christophe Strobbe</title>
		<link>http://www.onenaught.com/posts/8/xslt-in-server-side-web-frameworks/comment-page-1#comment-6644</link>
		<dc:creator>Christophe Strobbe</dc:creator>
		<pubDate>Wed, 25 Jun 2008 19:39:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.onenaught.com/posts/8/xslt-in-server-wide-web-frameworks#comment-6644</guid>
		<description>Regarding XSLT for web-based views: 
Jiří Jirát presented on &quot;ZVON: an XML powered site in action&quot; at XML Europe 2002: http://www.idealliance.org/papers/xmle02/dx_xmle02/papers/04-01-02/04-01-02.html

Regarding errors etcetera: are you aware of Bob DuCharme&#039;s article &quot;Using Stylesheet Schemas&quot; on XML.com? http://www.xml.com/pub/a/2005/04/06/tr-xml.html
Of course, this helps only against one type of errors.</description>
		<content:encoded><![CDATA[<p>Regarding XSLT for web-based views:<br />
Jiří Jirát presented on &#8220;ZVON: an XML powered site in action&#8221; at XML Europe 2002: <a href="http://www.idealliance.org/papers/xmle02/dx_xmle02/papers/04-01-02/04-01-02.html" rel="nofollow">http://www.idealliance.org/papers/xmle02/dx_xmle02/papers/04-01-02/04-01-02.html</a></p>
<p>Regarding errors etcetera: are you aware of Bob DuCharme&#8217;s article &#8220;Using Stylesheet Schemas&#8221; on XML.com? <a href="http://www.xml.com/pub/a/2005/04/06/tr-xml.html" rel="nofollow">http://www.xml.com/pub/a/2005/04/06/tr-xml.html</a><br />
Of course, this helps only against one type of errors.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic page generated in 0.745 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-03-12 01:53:11 -->
<!-- Compression = gzip -->