stephan 2003/02/04 05:26:34
Modified: src/blocks/chaperon/java/org/apache/cocoon/transformation
PatternTransformer.java
src/blocks/chaperon/samples sitemap.xmap
src/blocks/chaperon/samples/misc samples.xml
Added: src/blocks/chaperon/samples/grammars link.xlex
src/blocks/chaperon/samples/misc patterntext.xhtml
src/blocks/chaperon/samples/stylesheets pattern2link.xsl
Log:
Add example for the PatternTransformer.
Revision Changes Path
1.2 +2 -27
xml-cocoon2/src/blocks/chaperon/java/org/apache/cocoon/transformation/PatternTransformer.java
Index: PatternTransformer.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/chaperon/java/org/apache/cocoon/transformation/PatternTransformer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PatternTransformer.java 3 Feb 2003 19:15:34 -0000 1.1
+++ PatternTransformer.java 4 Feb 2003 13:26:34 -0000 1.2
@@ -433,7 +433,7 @@
}
}
- if (lexemetext!=null) {
+ if ((lexemetext!=null) && (lexemetext.length()>0)) {
if (lexemesymbol!=null) {
if (logger!=null) {
logger.debug("Recognize token "+lexemesymbol+
@@ -461,31 +461,6 @@
logger.debug("Ignore lexeme with '"+
Decoder.decode(lexemetext)+"'");
}
-
- /*if (locator!=null)
- {
- int column = locator.getColumnNumber();
- int line = locator.getLineNumber();
-
- for (int i = position; i<(position+lexemetext.length()); i++)
- {
- if ((text[i]=='\n') && ((i==0) || (text[i-1]!='\r')))
- {
- column = 1;
- line++;
- }
- else if ((text[i]=='\r') &&
- ((i==text.length-1) || (text[i+1]!='\n')))
- {
- column = 1;
- line++;
- }
- else
- column++;
- }
- locator.setColumnNumber(column);
- locator.setLineNumber(line);
- }*/
position += lexemetext.length();
} else {
1.3 +38 -28 xml-cocoon2/src/blocks/chaperon/samples/sitemap.xmap
Index: sitemap.xmap
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/blocks/chaperon/samples/sitemap.xmap,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- sitemap.xmap 3 Feb 2003 19:15:34 -0000 1.2
+++ sitemap.xmap 4 Feb 2003 13:26:34 -0000 1.3
@@ -34,12 +34,15 @@
<map:transformer logger="sitemap.transformer.log" name="log"
src="org.apache.cocoon.transformation.LogTransformer"/>
+ <map:transformer name="pattern"
+ src="org.apache.cocoon.transformation.PatternTransformer"
+ logger="sitemap.transformer.pattern"/>
<map:transformer name="lexer"
-
src="net.sourceforge.chaperon.adapter.cocoon.LexicalTransformer"
- logger="chaperon.lexer"/>
+ src="org.apache.cocoon.transformation.LexicalTransformer"
+ logger="sitemap.transformer.lexer"/>
<map:transformer name="parser"
- src="net.sourceforge.chaperon.adapter.cocoon.ParserTransformer"
- logger="chaperon.parser">
+ src="org.apache.cocoon.transformation.ParserTransformer"
+ logger="sitemap.transformer.parser">
<map:parameter name="flatten" value="true"/>
<map:parameter name="ignoring" value="true"/>
</map:transformer>
@@ -156,24 +159,31 @@
<map:match pattern="mathexp.html">
<map:generate type="serverpages" src="misc/mathexp.xsp"/>
- <map:transform src="stylesheets/mathexp.xsl"/>
- <map:transform type="lexer" src="grammars/mathexp.xlex"/>
- <map:transform type="parser" src="grammars/mathexp.xgrm"/>
- <map:transform src="stylesheets/mathexp2html.xsl"/>
+ <map:transform src="stylesheets/mathexp.xsl"/>
+ <map:transform type="lexer" src="grammars/mathexp.xlex"/>
+ <map:transform type="parser" src="grammars/mathexp.xgrm"/>
+ <map:transform src="stylesheets/mathexp2html.xsl"/>
<map:serialize type="html"/>
</map:match>
<map:match pattern="wiki.html">
<map:generate type="serverpages" src="misc/wiki.xsp"/>
- <map:transform type="lexer" src="cocoon:/wiki.xlex"/>
- <map:transform type="parser" src="cocoon:/wiki.xgrm"/>
- <map:transform src="stylesheets/wiki2html.xsl"/>
+ <map:transform type="lexer" src="cocoon:/wiki.xlex"/>
+ <map:transform type="parser" src="cocoon:/wiki.xgrm"/>
+ <map:transform src="stylesheets/wiki2html.xsl"/>
+ <map:serialize type="html"/>
+ </map:match>
+
+ <map:match pattern="pattern.html">
+ <map:generate src="misc/patterntext.xhtml"/>
+ <map:transform type="pattern" src="grammars/link.xlex"/>
+ <map:transform src="stylesheets/pattern2link.xsl"/>
<map:serialize type="html"/>
</map:match>
<map:match pattern="**/index.html">
- <map:generate src="cocoon:/packages.xml"/>
- <map:transform src="stylesheets/package2html.xsl">
+ <map:generate src="cocoon:/packages.xml"/>
+ <map:transform src="stylesheets/package2html.xsl">
<map:parameter name="package" value="{1}"/>
</map:transform>
<map:serialize type="html"/>
@@ -181,15 +191,15 @@
<map:match pattern="**/*.java.html">
<map:aggregate element="java">
- <map:part src="cocoon:/packages.xml"/>
- <map:part src="misc/{1}/{2}.java"/>
+ <map:part src="cocoon:/packages.xml"/>
+ <map:part src="misc/{1}/{2}.java"/>
</map:aggregate>
<!--<map:transform type="lexer" src="cocoon:/java.xlex"/>-->
- <map:transform type="lexer" src="grammars/java.xlex"/>
- <map:transform src="stylesheets/text4javadoc.xsl"/>
+ <map:transform type="lexer" src="grammars/java.xlex"/>
+ <map:transform src="stylesheets/text4javadoc.xsl"/>
<!--<map:transform type="lexer" src="cocoon:/javadoc.xlex"/>-->
- <map:transform type="lexer" src="grammars/javadoc.xlex"/>
- <map:transform src="stylesheets/java2html.xsl">
+ <map:transform type="lexer" src="grammars/javadoc.xlex"/>
+ <map:transform src="stylesheets/java2html.xsl">
<map:parameter name="package" value="{1}"/>
<map:parameter name="class" value="{2}"/>
</map:transform>
@@ -198,20 +208,20 @@
<map:match pattern="**/*.class.html">
<map:aggregate element="java">
- <map:part src="cocoon:/packages.xml"/>
- <map:part src="misc/{1}/{2}.java"/>
+ <map:part src="cocoon:/packages.xml"/>
+ <map:part src="misc/{1}/{2}.java"/>
</map:aggregate>
<!--<map:transform type="lexer" src="cocoon:/java.xlex"/>-->
- <map:transform type="lexer" src="grammars/java.xlex"/>
- <map:transform src="stylesheets/remove4class.xsl"/>
+ <map:transform type="lexer" src="grammars/java.xlex"/>
+ <map:transform src="stylesheets/remove4class.xsl"/>
<!--<map:transform type="parser" src="cocoon:/java.xgrm"/>-->
- <map:transform type="parser" src="grammars/java.xgrm"/>
- <map:transform src="stylesheets/text4javadoc2.xsl"/>
+ <map:transform type="parser" src="grammars/java.xgrm"/>
+ <map:transform src="stylesheets/text4javadoc2.xsl"/>
<!--<map:transform type="lexer" src="cocoon:/javadoc.xlex"/>-->
- <map:transform type="lexer" src="grammars/javadoc.xlex"/>
+ <map:transform type="lexer" src="grammars/javadoc.xlex"/>
<!--<map:transform type="parser" src="cocoon:/javadoc.xgrm"/>-->
- <map:transform type="parser" src="grammars/javadoc.xgrm"/>
- <map:transform src="stylesheets/class2html.xsl">
+ <map:transform type="parser" src="grammars/javadoc.xgrm"/>
+ <map:transform src="stylesheets/class2html.xsl">
<map:parameter name="package" value="{1}"/>
<map:parameter name="class" value="{2}"/>
</map:transform>
1.1 xml-cocoon2/src/blocks/chaperon/samples/grammars/link.xlex
Index: link.xlex
===================================================================
<?xml version="1.0"?>
<!DOCTYPE lexicon PUBLIC "-//Chaperon//DTD lexicon 2.0//EN" "lexicon-v20.dtd">
<lexicon>
<!-- (([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))? -->
<lexeme symbol="link">
<concat>
<concat>
<cclass maxOccurs="*">
<cinterval min="A" max="Z"/>
<cinterval min="a" max="z"/>
</cclass>
<cstring content=":"/>
<cstring content="/"/>
</concat>
<concat minOccurs="0">
<cstring content="/"/>
<cclass minOccurs="0" maxOccurs="*">
<cinterval min="A" max="Z"/>
<cinterval min="a" max="z"/>
<cinterval min="0" max="9"/>
<cset content="._-:"/>
</cclass>
</concat>
<cclass minOccurs="0" maxOccurs="*">
<cinterval min="A" max="Z"/>
<cinterval min="a" max="z"/>
<cinterval min="0" max="9"/>
<cset content="._-:/"/>
</cclass>
<concat minOccurs="0">
<cstring content="?"/>
<cclass minOccurs="0" maxOccurs="*">
<cinterval min="A" max="Z"/>
<cinterval min="a" max="z"/>
<cinterval min="0" max="9"/>
<cset content="._-:/?"/>
</cclass>
</concat>
<concat minOccurs="0">
<cstring content="#"/>
<cclass minOccurs="0" maxOccurs="*">
<cinterval min="A" max="Z"/>
<cinterval min="a" max="z"/>
<cinterval min="0" max="9"/>
<cset content="._-:/?#"/>
</cclass>
</concat>
</concat>
</lexeme>
<lexeme symbol="email">
<concat>
<concat>
<cclass maxOccurs="*">
<cinterval min="A" max="Z"/>
<cinterval min="a" max="z"/>
<cinterval min="0" max="9"/>
<cset content="._-:"/>
</cclass>
<cstring content="@"/>
<cclass maxOccurs="*">
<cinterval min="A" max="Z"/>
<cinterval min="a" max="z"/>
<cinterval min="0" max="9"/>
<cset content="._-:"/>
</cclass>
</concat>
</concat>
</lexeme>
</lexicon>
1.3 +5 -0 xml-cocoon2/src/blocks/chaperon/samples/misc/samples.xml
Index: samples.xml
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/blocks/chaperon/samples/misc/samples.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- samples.xml 3 Feb 2003 19:15:35 -0000 1.2
+++ samples.xml 4 Feb 2003 13:26:34 -0000 1.3
@@ -15,6 +15,11 @@
which based on the very popular syntax of Wiki.</sample>
</group>
+ <group name="Pattern example">
+ <sample name="Pattern" href="pattern.html">In this example the PatternTransformer
were used to replace links
+ by a HTML link.</sample>
+ </group>
+
<group name="Syntax highlighting example">
<sample name="Example 1" href="test/Grammar.java.html">The parser can also be
used to colorize
some source code.
1.1 xml-cocoon2/src/blocks/chaperon/samples/misc/patterntext.xhtml
Index: patterntext.xhtml
===================================================================
<?xml version="1.0"?>
<html>
<head>
<title>Pattern test site</title>
</head>
<body>
<p>Some links for the Apache project(http://xml.apache.org/):</p>
<ul>
<li>Here the link for Cocoon http://cocoon.apache.org/</li>
<li>And the link for Avalon http://jakarta.apache.org/avalon/</li>
</ul>
<p>This example was made by Stephan Michels([EMAIL PROTECTED]).</p>
</body>
</html>
1.1
xml-cocoon2/src/blocks/chaperon/samples/stylesheets/pattern2link.xsl
Index: pattern2link.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:lex="http://chaperon.sourceforge.net/schema/lexemes/1.0">
<xsl:template match="lex:lexeme[@symbol='link']">
<a href="{@text}">
<xsl:value-of select="@text"/>
</a>
</xsl:template>
<xsl:template match="lex:lexeme[@symbol='email']">
<a href="mailto:{@text}">
<xsl:value-of select="@text"/>
</a>
</xsl:template>
<xsl:template match="@*|*|text()|processing-instruction()" priority="-1">
<xsl:copy>
<xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]