You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by st...@apache.org on 2003/02/08 15:17:29 UTC

cvs commit: xml-cocoon2/src/blocks/chaperon/samples/stylesheets wiki2xdoc.xsl xdoc2html.xsl

stephan     2003/02/08 06:17:28

  Modified:    lib      jars.xml
               src/blocks/chaperon/samples sitemap.xmap
               src/blocks/chaperon/samples/grammars wiki.grm
               src/blocks/chaperon/samples/misc wiki.xsp
  Added:       lib/optional chaperon-20030207.jar
               src/blocks/chaperon/samples/stylesheets wiki2xdoc.xsl
                        xdoc2html.xsl
  Removed:     lib/optional chaperon-20030203.jar
  Log:
  Updated chaperon jar file, and updated Wiki example for the chaperon
  block, which now used the Wiki format of cocoonwiki.
  
  Revision  Changes    Path
  1.74      +1 -1      xml-cocoon2/lib/jars.xml
  
  Index: jars.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/lib/jars.xml,v
  retrieving revision 1.73
  retrieving revision 1.74
  diff -u -r1.73 -r1.74
  --- jars.xml	3 Feb 2003 19:15:32 -0000	1.73
  +++ jars.xml	8 Feb 2003 14:17:26 -0000	1.74
  @@ -495,7 +495,7 @@
           to XML files.
     </description>
     <used-by>Chaperon block</used-by>
  -  <lib>optional/chaperon-20030203.jar</lib>
  +  <lib>optional/chaperon-20030207.jar</lib>
     <homepage>http://chaperon.sourceforge.net</homepage>
    </file>
   
  
  
  
  1.1                  xml-cocoon2/lib/optional/chaperon-20030207.jar
  
  	<<Binary file>>
  
  
  1.7       +2 -1      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.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- sitemap.xmap	5 Feb 2003 12:55:05 -0000	1.6
  +++ sitemap.xmap	8 Feb 2003 14:17:27 -0000	1.7
  @@ -172,7 +172,8 @@
       <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                src="stylesheets/wiki2xdoc.xsl"/>
  +    <map:transform                src="stylesheets/xdoc2html.xsl"/>
       <map:serialize type="html"/>
      </map:match>
   
  
  
  
  1.3       +153 -119  xml-cocoon2/src/blocks/chaperon/samples/grammars/wiki.grm
  
  Index: wiki.grm
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/blocks/chaperon/samples/grammars/wiki.grm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- wiki.grm	3 Feb 2003 19:15:34 -0000	1.2
  +++ wiki.grm	8 Feb 2003 14:17:27 -0000	1.3
  @@ -1,134 +1,168 @@
  -%token LINE "\-\-\-(\-)+";
   
  -%token QUOTE  ":";
  -%token BULLETED "(\*)+";
  +%token line "\-\-\-\- (\-+)";
   
  -%token NUMBERED3 "\#\#\#";
  -%token NUMBERED2 "\#\#";
  -%token NUMBERED1 "\#";
  +%token bulleteditem "\*+";
   
  -%token HEAD "(\!)+";
  +%token numbered1item "#";
  +%token numbered2item "##";
  +%token numbered3item "###";
   
  -%right ITALIC "\"";
  -%right BOLD "__";
  -%right UNDERLINE "_";
  +%token tabletitleitem  "\|\|";
  +%token tablecolumnitem "\|";
   
  -%token LINK "(http|ftp|mailto|news):(/){1,3}[A-Za-z0-9\.\_\-]*";
  +%token titleitem "!+";
   
  -%token BOPEN "\[";
  -%token BCLOSE "\]";
  +%token emitem "''";
   
  -%token TEXT "[A-Za-z0-9\,\'\.\?\:]+[A-Za-z0-9\ \t\,\'\.\?\!\:]*";
  +%token codeopenitem "\{\{";
  +%token codecloseitem "\}\}";
   
  -%right EMPTY "\r\n [\ \t]* \r\n |
  -             \r   [\ \t]* \r   |
  -             \n   [\ \t]* \n   ";
  +%token strongitem "__";
   
  -%token EOL "(\r(\n)?|\n)";
  +%token source "\{\{\{ (\}{0,2}[^\}])* \}\}\}";
   
  +%token anchor "\[( [^\[\|\]]* \| )? # [^\[\|\]]* \]";
   
  -%start wiki;
  +%token link   "\[( [^\[\|\]]* \| )?   [^\[\|\]]* \]";
   
  -%ignore "[\ \r\n]+"; // whitespace
  +%token text  "([^\ \t\n\r\[\{\}\|\*_!#'] | _[^_] | \{[^\{] | \}[^\}] | '[^'] | \[\[)
  +              ([^    \n\r\[\{\}\|_']     | _[^_] | \{[^\{] | \}[^\}] | '[^'] | \[\[ | \|[^\|\ \t])*";
  +
  +%right softbreak "\r(\n?) | \n";
  +
  +%right hardbreak "(\r(\n?) | \n) (\r(\n?) | \n)+";
  +
  +%ignore "[\ \t]+";
  +
  +%start document;
   
   %%
   
  -wiki : wiki paragraphs 
  -     | paragraphs      
  -     ;
  -
  -paragraphs : paragraphs paragraph 
  -           | paragraph            
  -           ;
  -
  -paragraph : bulletedlist
  -          | numberedlist1
  -          | textitem 
  -          | headitem 
  -          | footnote
  -          | LINE EOL
  -          | EMPTY
  -          ;
  -
  -bulletedlist : bulletedlist bulletedlistitem 
  -             | bulletedlistitem              
  -             ;
  -
  -bulletedlistitem : BULLETED textblock textsequence
  -                 | BULLETED textblock
  -                 ;
  -
  -numberedlist1 : numberedlist1 numberedlistitem1 
  -              | numberedlistitem1               
  -              | numberedlist1 numberedlist2     
  -              | numberedlist2                   
  -              ;
  -
  -numberedlistitem1 : NUMBERED1 textblock textsequence
  -                  | NUMBERED1 textblock
  -                  ;
  -
  -numberedlist2 : numberedlist2 numberedlistitem2 
  -              | numberedlistitem2               
  -              | numberedlist2 numberedlist3     
  -              | numberedlist3                   
  -              ; 
  -
  -numberedlistitem2 : NUMBERED2 textblock textsequence
  -                  | NUMBERED2 textblock 
  -                  ;
  -
  -numberedlist3 : numberedlist3 numberedlistitem3 
  -              | numberedlistitem3               
  -              ; 
  -
  -numberedlistitem3 : NUMBERED3 textblock textsequence
  -                  | NUMBERED3 textblock 
  -                  ;
  -
  -textitem : firstblock textblock textsequence
  -         | firstblock textblock
  -         | firstblock
  -         ;
  -
  -headitem : HEAD textblock textsequence
  -         | HEAD textblock
  -         ;
  -
  -footnote : note textblock textsequence
  -         | note textblock
  -         ;
  -
  -textsequence : textsequence EOL       
  -             | EOL                    
  -             | textsequence textblock 
  -             | textblock              
  -             ; 
  -
  -textblock : LINK                           
  -          | boldblock                      
  -          | italicblock            
  -          | underlineblock                
  -          | TEXT                         
  -          | note                         
  -          ;
  -
  -firstblock : LINK                 
  -           | boldblock                
  -           | italicblock                
  -           | underlineblock          
  -           | TEXT               
  -           ;
  -
  -italicblock : ITALIC TEXT ITALIC
  -            ;
  -
  -boldblock : BOLD TEXT BOLD
  -          ;
  -
  -underlineblock : UNDERLINE TEXT UNDERLINE 
  -               ;
  -
  -note : BOPEN TEXT BCLOSE
  -     | BOPEN LINK BCLOSE
  -     ;
  +document 
  +  : document section 
  +  | section
  +  | paragraphs
  +  ;
  +
  +section 
  +  : title paragraphs
  +  | title hardbreak paragraphs
  +  ;
  +
  +paragraphs  
  +  : paragraphs paragraph hardbreak
  +  | paragraphs paragraph 
  +  | paragraph hardbreak
  +  | paragraph
  +  ;
  +
  +paragraph 
  +  : bulletedlist
  +  | numberedlist1
  +  | textsequence
  +  | line 
  +  | source %prec softbreak
  +  | source softbreak
  +  | table
  +  ;
  +
  +bulletedlist 
  +  : bulletedlist bulletedlistitem 
  +  | bulletedlistitem              
  +  ;
  +
  +bulletedlistitem 
  +  : bulleteditem textsequence
  +  ;
  +
  +numberedlist1 
  +  : numberedlist1 numberedlistitem1 
  +  | numberedlistitem1               
  +  | numberedlist1 numberedlist2     
  +  | numberedlist2                   
  +  ;
  +
  +numberedlistitem1 
  +  : numbered1item textsequence
  +  ;
  +
  +numberedlist2 
  +  : numberedlist2 numberedlistitem2 
  +  | numberedlistitem2               
  +  | numberedlist2 numberedlist3     
  +  | numberedlist3                   
  +  ; 
  +
  +numberedlistitem2 
  +  : numbered2item textsequence
  +  ;
  +
  +numberedlist3 
  +  : numberedlist3 numberedlistitem3 
  +  | numberedlistitem3               
  +  ; 
  +
  +numberedlistitem3 
  +  : numbered3item textsequence
  +  ;
  +
  +table
  +  : tablehead softbreak tablerows
  +  | tablehead softbreak tablerows softbreak
  +  ;
  +
  +tablehead
  +  : tablehead tabletitle
  +  | tabletitle
  +  ; 
  +
  +tabletitle
  +  : tabletitleitem textblock
  +  ;
  +
  +tablerows
  +  : tablerows softbreak tablecolumns
  +  | tablecolumns
  +  ;
  +
  +tablecolumns
  +  : tablecolumns tablecolumn
  +  | tablecolumn
  +  ;
  +
  +tablecolumn
  +  : tablecolumnitem textblock
  +  ;
  +  
  +title 
  +  : titleitem textsequence
  +  ;
  +
  +textsequence 
  +  : textsequence textblock softbreak
  +  | textsequence textblock 
  +  | textblock softbreak  
  +  | textblock           
  +  ; 
  +
  +textblock 
  +  : link
  +  | anchor
  +  | strongblock                      
  +  | emblock            
  +  | text                         
  +  | codeblock
  +  ;
  +
  +emblock 
  +  : emitem text emitem
  +  ;
  +
  +strongblock 
  +  : strongitem text strongitem
  +  ;
  +
  +codeblock 
  +  : codeopenitem text codecloseitem
  +  ;
  +
  
  
  
  1.3       +222 -22   xml-cocoon2/src/blocks/chaperon/samples/misc/wiki.xsp
  
  Index: wiki.xsp
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/blocks/chaperon/samples/misc/wiki.xsp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- wiki.xsp	3 Feb 2003 19:15:35 -0000	1.2
  +++ wiki.xsp	8 Feb 2003 14:17:27 -0000	1.3
  @@ -242,29 +242,229 @@
   
      <div class="block"><span class="tab">Content</span><div class="field">
   
  -   <textarea name="text" type="textarea" cols="100" rows="23" style="width: 100%">!Example heading
  -  
  -!!bold and italics stuff
  -Here's some __bold text__ and now &quot;some italic text I hope &quot;. Not
  -sure about italics though.
  -
  -!!bullets
  -* first bulleted item
  -* second bulleted item
  -
  -!!numbered lists
  -# number list point 1
  -## is that 1.1?
  -### is that 1.1.1?
  -# this is point 2
  -# and point 3
  -
  -We _love_ horizontal rules [1]
  -------------
  -Brought to you by [http://www.perdu.com].
  +   <textarea name="text" type="textarea" cols="100" rows="23" style="width: 100%"><![CDATA[When you've figured out how the editor works, then you should read [WikiEtiquette] so that you would know how to use
  +your newly acquired skills...
   
  -[1] and footnotes too.
  -   </textarea><br/>
  +!Quick reference
  +
  +{{{
  +----       = Make a horizontal ruler. Extra '-' is ignored.
  +\\         = force a line break, \\\=force line break and clear.
  +
  +[link]     = creates a hyperlink to an internal WikiPage called 'Link'.
  +[this is also a link] = creates a hyperlink to an internal WikiPage called
  +'ThisIsAlsoALink'.
  +[click here|link] = creates a hyperlink to an internal WikiPage called
  +'Link', but displays the text 'click here' to the
  +user instead of 'Link'.
  +[1]        = Makes a reference to a footnote numbered 1.
  +[#1]       = Marks the footnote number 1.
  +[[link]    = creates text '[link]'.
  +
  +!heading   = small heading with text 'heading'
  +!!heading  = medium heading with text 'heading'
  +!!!heading = large heading with text 'heading'
  +
  +''text''   = prints 'text' in italic.
  +__text__   = prints 'text' in bold.
  +{{text}}   = prints 'text' in monospaced font.
  +
  +* text     = makes a bulleted list item with 'text'
  +# text     = makes a numbered list item with 'text'
  +;term:ex   = makes a definition for 'term' with the explanation 'ex'
  +}}}
  +
  +!Writing text
  +
  +You don't need to know anything about the Wiki text formatting rules to use Wiki.  Just write normal text, and then use
  +an empty line to mark a paragraph.
  +It's just like writing an email.
  +
  +You can always Edit this page (look at the left sidebar) to see how the different
  +effects on this page are used.
  +
  +!Hyperlinks
  +The link can also be a direct URL starting with http:, ftp:, mailto:, https:, or news:, in which case the link points to
  +an external entity. For example, to point at the java.sun.com home page, use [[http://java.sun.com], which becomes
  +[http://java.sun.com/] or [[Java home page|http://java.sun.com], which becomes [Java home page|http://java.sun.com].
  +
  +To add a new page you just create a link to it from somewhere else. After all, there isn't much point in having a page
  +if you can't access it! You'll then see a small question mark after the page name when you return to that page. Then
  +click on it and you have created a new page!
  +
  +It's allowed to use almost any kind of characters inside a [WikiName], as long
  +as they are letters or numbers.
  +
  +Note also that this Wiki can be configured to support standard CamelCase linking (if it's supported, the word CamelCase
  +should be a link).  It's off by default, but if your friendly administrator has turned it on, then well, CamelCase all
  +you want =).
  +
  +!Footnotes
  +
  +These are a special kind of hyperlink.  By using nothing but a number inside
  +a hyperlink you create a reference to a footnote, like this [[1], which 
  +creates a footnote[1].  To make the actual footnote, you just put a [[#1]
  +where you want that footnote to point at.  Look below to find the footnote.
  +
  +You can also make a named footnote, just as if you were doing a normal hyperlink.  For example, this refers to the same
  +footnote[Footnote number 1|1] as the footnote above, but this refers to another footnote[2].
  +
  +!InterWiki links
  +
  +You can also do links between different Wikis without knowing the URL.  Just use a link in the form [[Wiki:WikiPage] and
  +JSPWiki will create a link for you.  For example, this link points to the [JSPWiki TextFormatting
  +rules|JSPWiki:TextFormattingRules]. Check the [SystemInfo] page for more information on which Wiki links are available.
  +
  +If an InterWiki link is not supported, you'll get a notification of it on the page when
  +you save your page.
  +
  +!Adding pictures
  +
  +For security reasons uploading images is not permitted, but you can embed
  +any image in the wiki code by putting the image available somewhere on the web in one of the allowed formats, and then
  +just linking to it.
  +For example, this is an inlined [PNG] image: [http://www.ecyrd.com/~jalkanen/test.png].
  +
  +If you specify a link text ([[this one here|http://example.com/example.png]) it becomes
  +the ALT text for those who either can't or don't want to view images.
  +
  +The list of accepted image types depends on the Wiki.  See the [SystemInfo]
  +page for a list of the different image types.
  +
  +!Bulleted lists
  +Use an asterisk (*) in the first column to make bulleted lists. Use more asterisks for deeper indentation. For example:
  +{{{
  +* One
  +* Two
  +* Three
  +** Three.One
  +}}}
  +
  +creates
  +* One
  +* Two
  +* Three
  +** Three.One
  +
  +!Numbered lists
  +Just like with bulleted lists, but use a hash (#) instead of the asterisk. Like this:
  +{{{
  +# One
  +# Two
  +# Three
  +## Three.One
  +}}}
  +
  +creates
  +# One
  +# Two
  +# Three
  +## Three.One
  +
  +If you want to write the list item on multiple lines, just add one or more spaces on the next line and the line will be
  +automatically added to the
  +previous item.  If this sounds complicated, edit this page for an example, below.
  +
  +* This is a single-line item.
  +* This is actually a multi-line item.
  +  We continue the second sentence on a line on a line of its own.
  +  We might as well do a third line while we're at it...
  +  Notice, however, as all these sentences get put inside a single item!
  +* The third line is again a single-line item for your convinience.
  +
  +!Definition lists and comments
  +
  +A simple way to make definition lists is to use the ';:' -construct:
  +
  +;__Construct__:''Something you use to do something with''
  +
  +Another nice use for the ';:' is that you can use it to comment shortly on other people's text, by having an empty
  +'term' in the definition, like this:
  +{{{
  +;:''Comment here.''
  +}}}
  +Which would be seen as
  +;:''Comment here.''
  +
  +!Text effects
  +
  +You may use __bold__ text or ''italic'' text, by using two underscores (_) and two single quotes ('), respectively. If
  +you're on a Windows computer, make sure that you are using the correct quote sign, as there is one that looks the same,
  +but really isn't.
  +
  +
  +!Preformatted text
  +
  +If you want to add preformatted text (like code) just use three consecutive braces ({) to open a block, and three
  +consecutive braces (}) to close a block. Edit this page for an example.
  +
  +!Tables
  +
  +You can do simple tables by using using pipe signs ('|').  Use double pipe
  +signs to start the heading of a table, and single pipe signs to then
  +write the rows of the table.  End with a line that is not a table.
  +
  +For example:
  +
  +{{{
  +|| Heading 1 || Heading 2
  +| ''Gobble'' | Bar
  +| [Main]     | [SandBox]
  +}}}
  +
  +gives you the following table.  Note how you can use links also inside tables.
  +
  +|| Heading 1 || Heading 2
  +| ''Gobble'' | Bar
  +| [Main]     | [SandBox]
  +
  +
  +!Conflicts
  +
  +If someone happens to edit the same page as you at the same time, JSPWiki will prevent you from doing changes and show a
  +conflict page instead. Sorry to say, but the first one to make changes wins...
  +
  +__A word of warning:__ If you use the Back button of your browser to go into the Edit page, you will almost certainly
  +get a conflict. This is because the browser thinks its still editing an earlier copy of the page.
  +
  +!Deleting pages
  +
  +This is not possible. You can, of course, remove all the links to that page, which makes it inaccesible. Or you can
  +email the administrator, and I'll remove the page.
  +
  +!Adding new pages
  +
  +Create a link that points to a new (not existing) page using its [WikiName].
  +Click that new link, which should now have a question mark (?) suffix and
  +you will get an editor for the new page. -- [Asser]
  +
  +!Attaching files
  +
  +If the administrator of the wiki has configured it, there is a "Attach file..." link at the bottom of every page.
  +Clicking it allows you to attach files into pages.  For more information, please see [WikiAttachments].
  +
  +!Inserting variables
  +
  +There are many possible variables you can insert on a page.  The basic form is:
  +
  +{{ [[{$variablename}], }}
  +
  +where ''variablename'' is the name of the variable you want to insert.  Note that variable names are case-insensitive -
  +that is, "pagename" is the same as "paGeNamE" and "PageName".
  +
  +You can see the list of available of variables at [WikiVariables].
  +
  +!Inserting plugins
  +
  +The basic incantation to insert a plugin looks like this:
  +
  +[[{INSERT <plugin class> WHERE param1=value, param2=value, ...}]
  +
  +There is more information in [JSPWikiPlugins].
  +
  +[#1] Here's the footnote I mentioned.
  +
  +[The other footnote|#2] The other footnote.  Note how it's name is different?]]></textarea><br/>
      </div></div>
   
      <div style="text-align:right" class="block">
  
  
  
  1.1                  xml-cocoon2/src/blocks/chaperon/samples/stylesheets/wiki2xdoc.xsl
  
  Index: wiki2xdoc.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet version="1.0"
                  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
                  xmlns:st="http://chaperon.sourceforge.net/schema/syntaxtree/1.0"
                  exclude-result-prefixes="st">
  
   <xsl:output indent="yes" 
               method="html"
               doctype-public="-//APACHE//DTD Documentation V1.1//EN"
               doctype-system="document-v11.dtd"
               cdata-section-elements="source"/>
  
   <xsl:template match="st:document">
    <document>
     <header>
      <title>Wiki page</title>
     </header>
     <body>
      <xsl:apply-templates select="st:paragraphs/st:paragraph/st:*" mode="paragraph"/>  
      <xsl:apply-templates select="st:section"/>
     </body>
    </document>
   </xsl:template>
  
   <xsl:template match="st:section">
    <section>
     <title><xsl:value-of select="st:title/st:textsequence"/></title>
     <xsl:apply-templates select="st:paragraphs/st:paragraph/st:*" mode="paragraph"/>
    </section>
   </xsl:template>
  
   <xsl:template match="st:source" mode="paragraph">
    <source>
     <xsl:value-of select="substring(.,4,string-length(.)-6)"/>
    </source>
   </xsl:template>
  
   <xsl:template match="st:textsequence" mode="paragraph">
    <p>
     <xsl:apply-templates select="st:textblock/st:*"/>
    </p>
   </xsl:template>
  
   <xsl:template match="st:table" mode="paragraph"> 
    <table>
     <xsl:apply-templates select="st:tablehead|st:tablerows/st:tablecolumns"/>
    </table>
   </xsl:template>
  
   <xsl:template match="st:tablehead"> 
    <tr>
     <xsl:apply-templates select="st:tabletitle"/>
    </tr>
   </xsl:template>
  
   <xsl:template match="st:tabletitle">
    <th>
     <xsl:apply-templates select="st:textblock/st:*"/>
    </th>
   </xsl:template>
  
   <xsl:template match="st:tablecolumns">
    <tr>
     <xsl:apply-templates select="st:tablecolumn"/>
    </tr>
   </xsl:template>
  
   <xsl:template match="st:tablecolumn">
    <td>
     <xsl:apply-templates select="st:textblock/st:*"/>
    </td>
   </xsl:template>
  
   <xsl:template match="st:text">
    <xsl:value-of select="."/>
   </xsl:template>
  
   <xsl:template match="st:link">
    <xsl:choose>
     <xsl:when test="contains(.,'|')">
  
      <xsl:variable name="href" select="substring-before(substring-after(.,'|'),']')"/>
      <xsl:variable name="text" select="substring-after(substring-before(.,'|'),'[')"/>
  
      <xsl:choose>
       <xsl:when test="string(number($href)) != 'NaN'">
        <link href="#{$href}">
         <xsl:value-of select="$text"/>
        </link>
       </xsl:when>
       <xsl:when test="starts-with(@href,'http')">
        <link href="{$href}">
         <xsl:value-of select="$text"/>
        </link>
       </xsl:when>
       <xsl:otherwise>
        <link href="http://wiki.cocoondev.org/Wiki.jsp?page={$href}">
         <xsl:value-of select="$text"/>
        </link>
       </xsl:otherwise>
      </xsl:choose>
  
     </xsl:when>
     <xsl:otherwise>
      <xsl:variable name="href" select="substring(.,2,string-length(.)-2)"/>
      
      <xsl:choose>
       <xsl:when test="string(number($href)) != 'NaN'">
        <link href="#{$href}">
         [<xsl:value-of select="$href"/>]
        </link>
       </xsl:when>
       <xsl:when test="starts-with($href,'http')">
        <link href="{$href}">
         <xsl:value-of select="$href"/>
        </link>
       </xsl:when>
       <xsl:otherwise>
        <link href="http://wiki.cocoondev.org/Wiki.jsp?page={$href}">
         <xsl:value-of select="$href"/>
        </link>
       </xsl:otherwise>
      </xsl:choose>
  
     </xsl:otherwise>
    </xsl:choose>
   </xsl:template>
  
   <xsl:template match="st:anchor" >
    <xsl:choose>
     <xsl:when test="contains(.,'|')">
      <anchor name="{substring-before(substring-after(.,'|#'),']')}">
       <xsl:value-of select="substring-after(substring-before(.,'|'),'[')"/>
      </anchor>
     </xsl:when>
     <xsl:otherwise>
      <anchor name="{substring(.,3,string-length(.)-3)}"/>
     </xsl:otherwise>
    </xsl:choose>
   </xsl:template>
  
   <xsl:template match="st:emblock">
    <em><xsl:value-of select="st:text"/></em>
   </xsl:template>
  
   <xsl:template match="st:strongblock">
    <strong><xsl:value-of select="st:text"/></strong>
   </xsl:template>
  
   <xsl:template match="st:codeblock">
    <code><xsl:value-of select="st:text"/></code>
   </xsl:template>
  
   <xsl:template match="st:bulletedlist" mode="paragraph">
    <ul>
     <xsl:apply-templates select="st:bulletedlistitem"/>
    </ul>
   </xsl:template>
  
   <xsl:template match="st:bulletedlistitem" >
    <li>
     <xsl:apply-templates select="st:textsequence/st:textblock/st:*"/>
    </li>
   </xsl:template>
  
   <xsl:template match="st:numberedlist1" mode="paragraph">
    <ol>
     <xsl:apply-templates select="st:numberedlistitem1|st:numberedlist2"/>
    </ol>
   </xsl:template>
  
   <xsl:template match="st:numberedlistitem1" >
    <li>
     <xsl:apply-templates select="st:textsequence/st:textblock/st:*"/>
    </li>
   </xsl:template>
  
   <xsl:template match="st:numberedlist2" >
    <ol>
     <xsl:apply-templates select="st:numberedlistitem2|st:numberedlist3"/>
    </ol>
   </xsl:template>
      
   <xsl:template match="st:numberedlistitem2" >
    <li>
     <xsl:apply-templates select="st:textsequence/st:textblock/st:*"/>
    </li>
   </xsl:template>
  
   <xsl:template match="st:numberedlist3" >
    <ol>
     <xsl:apply-templates select="st:numberedlistitem3"/>
    </ol>
   </xsl:template>
      
   <xsl:template match="st:numberedlistitem3" >
    <li>
     <xsl:apply-templates select="st:textsequence/st:textblock/st:*"/>
    </li>
   </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>
  
  
  
  1.1                  xml-cocoon2/src/blocks/chaperon/samples/stylesheets/xdoc2html.xsl
  
  Index: xdoc2html.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet version="1.0"
                  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
                  xmlns:st="http://chaperon.sourceforge.net/schema/syntaxtree/1.0">
  
   <xsl:output indent="yes" 
               method="xml"/>
  
   <xsl:template match="//document">
  <!--  <div style="background: #b9d3ee; border: thin; border-color: black; border-style: solid; padding-left: 0.8em; 
                padding-right: 0.8em; padding-top: 0px; padding-bottom: 0px; margin: 0.5ex 0px; clear: both;">-->
     <p>
     <xsl:apply-templates select="body/p|body/section"/>
     </p>
  <!--  </div>-->
   </xsl:template>
  
   <xsl:template match="section">
    <h3><xsl:value-of select="title"/></h3>
    <p>
     <xsl:apply-templates select="*[name()!='title']"/>
    </p>
   </xsl:template>
  
   <xsl:template match="source">
    <div style="background: #b9d3ee; border: thin; border-color: black; border-style: solid; padding-left: 0.8em; 
                padding-right: 0.8em; padding-top: 0px; padding-bottom: 0px; margin: 0.5ex 0px; clear: both;">
    <pre>
     <xsl:value-of select="."/>
    </pre>
    </div>
   </xsl:template>
  
   <xsl:template match="link">
    <xsl:text> </xsl:text>
    <a href="{@href}">
     <xsl:apply-templates/>
    </a>
    <xsl:text> </xsl:text>
   </xsl:template>
  
   <xsl:template match="strong">
    <xsl:text> </xsl:text>
    <b>
     <xsl:apply-templates/>
    </b>
    <xsl:text> </xsl:text>
   </xsl:template>
  
   <xsl:template match="anchor">
    <a name="{@name}">
     <xsl:apply-templates/>
    </a>
   </xsl:template>
  
   <xsl:template match="table">
    <table border="1" cellspacing="3" cellpadding="3">
     <xsl:apply-templates/>
    </table>
   </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:     webmaster@xml.apache.org
To unsubscribe, e-mail:          cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org