You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by bd...@apache.org on 2005/04/22 12:56:16 UTC
svn commit: r164215 - in /cocoon/blocks/supported/html/trunk:
conf/html-transformer.xmap samples/htmltransformer/
samples/htmltransformer/input.xml
samples/htmltransformer/post-transformer-filter.xsl samples/samples.xml
samples/sitemap.xmap
Author: bdelacretaz
Date: Fri Apr 22 03:56:15 2005
New Revision: 164215
URL: http://svn.apache.org/viewcvs?rev=164215&view=rev
Log:
sync html block samples with 2.x branch (new HTMLTransformer sample)
Added:
cocoon/blocks/supported/html/trunk/conf/html-transformer.xmap
cocoon/blocks/supported/html/trunk/samples/htmltransformer/
cocoon/blocks/supported/html/trunk/samples/htmltransformer/input.xml
cocoon/blocks/supported/html/trunk/samples/htmltransformer/post-transformer-filter.xsl
Modified:
cocoon/blocks/supported/html/trunk/samples/samples.xml
cocoon/blocks/supported/html/trunk/samples/sitemap.xmap
Added: cocoon/blocks/supported/html/trunk/conf/html-transformer.xmap
URL: http://svn.apache.org/viewcvs/cocoon/blocks/supported/html/trunk/conf/html-transformer.xmap?rev=164215&view=auto
==============================================================================
--- cocoon/blocks/supported/html/trunk/conf/html-transformer.xmap (added)
+++ cocoon/blocks/supported/html/trunk/conf/html-transformer.xmap Fri Apr 22 03:56:15 2005
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 1999-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!-- CVS $Id: samples.xml 158439 2005-03-21 10:17:23Z cziegeler $ -->
+
+<xmap xpath="/sitemap/components/transformers" unless="transformer[@name='html']">
+ <map:transformer
+ name="html"
+ logger="sitemap.transformer.html"
+ src="org.apache.cocoon.transformation.HTMLTransformer"
+ />
+</xmap>
Added: cocoon/blocks/supported/html/trunk/samples/htmltransformer/input.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/supported/html/trunk/samples/htmltransformer/input.xml?rev=164215&view=auto
==============================================================================
--- cocoon/blocks/supported/html/trunk/samples/htmltransformer/input.xml (added)
+++ cocoon/blocks/supported/html/trunk/samples/htmltransformer/input.xml Fri Apr 22 03:56:15 2005
@@ -0,0 +1,82 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 1999-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!-- CVS $Id: samples.xml 158439 2005-03-21 10:17:23Z cziegeler $ -->
+
+<html-transformer-test>
+ <div id="explain">
+ <p>
+ This XML file contains HTML code with escaped markup: tags are written
+ like &lt;body/&gt; with escaped < and > signs. This is
+ often the case with RSS feeds.
+ </p>
+ <p>
+ In this example, the HTMLTransformer is configured to parse the contents
+ of the <description> and <escaped-html>, elements, creating
+ well-formed content from this escaped markup.
+ </p>
+ <p>
+ A downstream transform is used to filter the result, as the HTMLTransformer
+ writes full HTML documents as <html> elements, for each input element
+ that it parses.
+ </p>
+ <p>
+ For more info search "HTMLTransformer" in the sitemap that drives this sample.
+ </p>
+ </div>
+ <div id="content-with-escaped-html">
+ <div id="example-1">
+ <description>
+ <!-- this element does not contain markup, only text with escaped < and > signs -->
+ <div style="background: #FFFFCC; color: black; margin: 1em;">
+ <h1>Here's some escaped HTML</h1>
+ This test document contains escaped HTML code in the description elements,
+ as is customary in RSS documents for example.
+ <p>
+
+ <img align="right" src="http://cocoon.apache.org/2.1/images/cocoon.gif"/>
+
+ This description element contains escaped html markup, which should be
+ converted to proper html by the HTMLTransformer. If the Cocoon logo is shown
+ properly, it means that the parsing worked.
+ <blockquote>
+ This should be a blockquote and <b>here's some bold</b>.
+ </blockquote>
+ Note that the HTMLTransformer generates a complete HTML document for each element that
+ is parsed - here this is filtered downstream to keep only the contents of the &lt;body&gt;
+ of the parsed documents.
+ </div>
+ </description>
+ </div>
+
+ <div id="example-2">
+ <escaped-html>
+ <div style="background: #FFFFCC; color: black; margin: 1em;">
+ <h1>More escaped HTML</h1>
+
+ <img align="right" src="http://cocoon.apache.org/2.1/images/cocoon.gif"/>
+
+ Another description element with escaped html markup, including a Cocoon logo.
+ <p>
+ Here's some <i>italic</i> and a <a href="http://cocoon.apache.org">
+ link to the Cocoon site</a>.
+
+ </div>
+ </escaped-html>
+ </div>
+ </div>
+</html-transformer-test>
\ No newline at end of file
Added: cocoon/blocks/supported/html/trunk/samples/htmltransformer/post-transformer-filter.xsl
URL: http://svn.apache.org/viewcvs/cocoon/blocks/supported/html/trunk/samples/htmltransformer/post-transformer-filter.xsl?rev=164215&view=auto
==============================================================================
--- cocoon/blocks/supported/html/trunk/samples/htmltransformer/post-transformer-filter.xsl (added)
+++ cocoon/blocks/supported/html/trunk/samples/htmltransformer/post-transformer-filter.xsl Fri Apr 22 03:56:15 2005
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 1999-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!--
+ Filter the output of the HTMLTransformer
+
+ CVS $Id: samples.xml 158439 2005-03-21 10:17:23Z cziegeler $
+-->
+
+<xsl:transform
+ version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+>
+
+ <xsl:param name="title" select="'HTMLTransformer output'"/>
+
+ <!-- convert to an html document -->
+ <xsl:template match="/">
+ <html>
+ <head>
+ <style type="text/css">
+ .note { font-size: 80%; font-style=italic; }
+ .parsedHtml { margin: 1em; border: solid gray 1px; }
+ </style>
+ <title><xsl:value-of select="$title"/></title>
+ </head>
+ <body>
+ <h1><xsl:value-of select="$title"/></h1>
+ <xsl:apply-templates/>
+ </body>
+ </html>
+ </xsl:template>
+
+ <!--
+ The HTMLTransformer produces html elements inside the document,
+ keep the contents of their body only
+ -->
+ <xsl:template match="*/html">
+ <div class="parsedHtml">
+ <p class="note">This was parsed by the HTMLTransformer:</p>
+ <xsl:apply-templates select="body/node()"/>
+ </div>
+ </xsl:template>
+
+ <!-- by default copy everything -->
+ <xsl:template match="*" priority="-1">
+ <xsl:copy>
+ <xsl:copy-of select="@*"/>
+ <xsl:apply-templates/>
+ </xsl:copy>
+ </xsl:template>
+
+</xsl:transform>
\ No newline at end of file
Modified: cocoon/blocks/supported/html/trunk/samples/samples.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/supported/html/trunk/samples/samples.xml?rev=164215&r1=164214&r2=164215&view=diff
==============================================================================
--- cocoon/blocks/supported/html/trunk/samples/samples.xml (original)
+++ cocoon/blocks/supported/html/trunk/samples/samples.xml Fri Apr 22 03:56:15 2005
@@ -29,4 +29,16 @@
Shows how to get remote resource and convert it to valid XHTML using HTMLGenerator.
</sample>
</group>
+
+ <group name="HTMLTransformer">
+ <sample name="XML input" href="HTMLTransformer/input.xml">
+ XML document containing escaped HTML, blocks of HTML code written
+ as strings inside elements (as often found in RSS feeds)
+ </sample>
+ <sample name="Parsed output" href="HTMLTransformer/parsed.xml">
+ HTMLTransformer applied to input.xml: escaped
+ HTML markup is converted to XHTML
+ </sample>
+ </group>
+
</samples>
Modified: cocoon/blocks/supported/html/trunk/samples/sitemap.xmap
URL: http://svn.apache.org/viewcvs/cocoon/blocks/supported/html/trunk/samples/sitemap.xmap?rev=164215&r1=164214&r2=164215&view=diff
==============================================================================
--- cocoon/blocks/supported/html/trunk/samples/sitemap.xmap (original)
+++ cocoon/blocks/supported/html/trunk/samples/sitemap.xmap Fri Apr 22 03:56:15 2005
@@ -67,6 +67,22 @@
<map:serialize type="xhtml"/>
</map:match>
+ <!-- ================ HTMLTransformer ================= -->
+
+ <map:match pattern="HTMLTransformer/input.xml">
+ <map:generate src="htmltransformer/input.xml"/>
+ <map:serialize type="xml"/>
+ </map:match>
+
+ <map:match pattern="HTMLTransformer/parsed.xml">
+ <map:generate src="htmltransformer/input.xml"/>
+ <map:transform type="html">
+ <map:parameter name="tags" value="description,escaped-html"/>
+ </map:transform>
+ <map:transform src="htmltransformer/post-transformer-filter.xsl"/>
+ <map:serialize type="xhtml"/>
+ </map:match>
+
</map:pipeline>
</map:pipelines>
</map:sitemap>