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]

Reply via email to