jeremy      02/03/17 13:26:56

  Modified:    src/scratchpad/webapp/mount/editor editor.xmap
               src/scratchpad/webapp/mount/editor/editor/docs
                        alpha-config.xml bravo-config.xml
                        schematron-page.xml
               src/scratchpad/webapp/mount/editor/editor/stylesheets
                        dir2editor.xsl editor-alpha-components.xsl
                        editor-bravo-components.xsl editor-components.xsl
                        editor-page2html.xsl editor-utils.xsl
                        editor2writer.xsl file2editor.xsl
                        request2editor.xsl stream2editor.xsl
  Added:       src/scratchpad/webapp/mount/editor/editor/stylesheets
                        generation-utils.xsl validationFilter.xsl
  Log:
  added new preview behaviour, you get to see what you are about to save, before you 
save it
  
  Revision  Changes    Path
  1.6       +26 -40    xml-cocoon2/src/scratchpad/webapp/mount/editor/editor.xmap
  
  Index: editor.xmap
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/scratchpad/webapp/mount/editor/editor.xmap,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- editor.xmap       17 Mar 2002 16:10:25 -0000      1.5
  +++ editor.xmap       17 Mar 2002 21:26:55 -0000      1.6
  @@ -87,9 +87,10 @@
                                Enforces using 'docs' folder of the main project as 
the root. 
                        
                        -->
  -                     <map:match pattern="fetch-dir(*,**/*)">
  +                     <map:match pattern="content-dir(*,**/*)">
                                <map:generate type="xpathdirectory" 
src="docs{2}/#/page/title"/>                                                
                                <map:transform src="editor/stylesheets/dir2editor.xsl">
  +                                     <map:parameter name="behaviour" value="dir"/>
                                        <map:parameter name="sub" value="{1}"/>
                                        <map:parameter name="target" value="{2}/"/>
                                </map:transform>
  @@ -104,7 +105,7 @@
                                To have different templates, you need new sub-editors, 
and possibly, more specific pipelines to handle them
                                
                        -->
  -                     <map:match pattern="fetch-new(*,**)">
  +                     <map:match pattern="content-new(*,**)">
                                <map:generate src="editor/docs/template.xml"/>  <!-- 
get a template -->
                                <map:transform 
src="editor/stylesheets/file2editor.xsl">
                                        <map:parameter name="behaviour" value="new"/>
  @@ -114,19 +115,16 @@
                                <map:serialize type="xml"/>                            
                                 
                        </map:match>
   
  -                     <!-- 
  -                     
  -                             Put using Alpha
  -                     
  -                             Parse form data for the "alpha" sub-editor coming from 
the StreamGenerator
  -                             Assemble the data into a new document and write it.
  -                             Enforces using 'docs' folder of the main project as 
the root. 
  -                             
  -                             NB. Do not put a slash at the end of the base 
parameter, 
  -                             the target-path already has the correct ones 
  -                     -->
  +                     <map:match pattern="request-*(bravo)">
  +                             <map:generate type="request"/>
  +                             <map:transform 
src="editor/stylesheets/request2editor.xsl">
  +                                     <map:parameter name="sub" value="bravo"/>
  +                                     <map:parameter name="behaviour" value="{1}"/>
  +                             </map:transform>
  +                             <map:serialize type="xml"/>                            
                                 
  +                     </map:match>
   
  -                     <map:match pattern="fetch-put(alpha,**)">
  +                     <map:match pattern="request-*(alpha)">
                                <map:act type="request">
                                        <map:parameter name="parameters" value="true"/>
                                        <map:generate type="stream">
  @@ -135,39 +133,28 @@
                                        <map:transform 
src="editor/stylesheets/stream2editor.xsl">
                                                <map:parameter name="sub" 
value="alpha"/>
                                                <map:parameter name="target" 
value="{target}"/>
  +                                             <map:parameter name="behaviour" 
value="{../1}"/>
                                        </map:transform>
  -                                     <map:transform 
src="cocoon:/make-validator(page)"/>
  -                                     <map:transform 
src="editor/stylesheets/editor2writer.xsl">
  -                                             <map:parameter name="base" 
value="docs"/>
  -                                     </map:transform>
  -                                     <map:transform type="sourcewriter"/>
                                        <map:serialize type="xml"/>
                                </map:act>                                             
 
                        </map:match>
   
  -                     <!-- 
  -                     
  -                             Put using Bravo
  -                             
  -                             Copy form data for the "bravo" sub-editor from 
multiple form fields, provided by the RequestGenerator
  -                             Assemble the data into a new document and write it.
  -                             Enforces using 'docs' folder of the main project as 
the root. 
  -                             
  -                             NB. Do not put a slash at the end of the base 
parameter, 
  -                             the target-path already has the correct ones 
  -                             
  -                     -->
  -                     <map:match pattern="fetch-put(bravo,**)">
  -                             <map:generate type="request"/>
  -                             <map:transform 
src="editor/stylesheets/request2editor.xsl">
  -                                     <map:parameter name="sub" value="bravo"/>
  -                             </map:transform>
  +                     <map:match pattern="content-put(*,**)">
  +                             <map:generate src="cocoon:/request-put({1})"/>
                                <map:transform src="cocoon:/make-validator(page)"/>
  +                             <map:transform 
src="editor/stylesheets/validationFilter.xsl"/>
                                <map:transform 
src="editor/stylesheets/editor2writer.xsl">
                                        <map:parameter name="base" value="docs"/>
                                </map:transform>
                                <map:transform type="sourcewriter"/>
  -                             <map:serialize type="xml"/>                            
                                 
  +                             <map:serialize type="xml"/>
  +                     </map:match>
  +
  +                     <map:match pattern="content-pre(*,**)">
  +                             <map:generate src="cocoon:/request-pre({1})"/>
  +                             <map:transform src="cocoon:/make-validator(page)"/>
  +                             <map:transform 
src="editor/stylesheets/validationFilter.xsl"/>
  +                             <map:serialize type="xml"/>
                        </map:match>
   
                        <!-- 
  @@ -180,13 +167,12 @@
                                the target-path already has the correct ones 
                        
                        -->
  -                     <map:match pattern="fetch-*(*,**)">
  +                     <map:match pattern="content-*(*,**)">
                                <map:generate src="docs{3}"/>
                                <map:transform 
src="editor/stylesheets/file2editor.xsl">
                                        <map:parameter name="behaviour" value="{1}"/>
                                        <map:parameter name="sub" value="{2}"/>
                                        <map:parameter name="target" value="{3}"/>
  -                                     <map:parameter name="form-name" 
value="xml-field"/><!-- this is only needed by 'alpha' editor -->
                                </map:transform>
                                <map:serialize type="xml"/>                            
                                 
                        </map:match>
  @@ -229,7 +215,7 @@
                        <map:match pattern="*(*)**">
                                <map:aggregate element="slash-edit" label="agg">
                                        <map:part src="editor/docs/{2}-config.xml"/>
  -                                     <map:part src="cocoon:/fetch-{1}({2},{3})"/>
  +                                     <map:part src="cocoon:/content-{1}({2},{3})"/>
                                </map:aggregate>
                                <map:transform 
src="editor/stylesheets/editor-page2html.xsl"/>
                                <map:serialize type="xhtml"/>
  
  
  
  1.3       +12 -2     
xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/docs/alpha-config.xml
  
  Index: alpha-config.xml
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/docs/alpha-config.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- alpha-config.xml  14 Mar 2002 19:59:17 -0000      1.2
  +++ alpha-config.xml  17 Mar 2002 21:26:55 -0000      1.3
  @@ -11,18 +11,21 @@
        <title behaviour="put">Save Results</title>
        <title behaviour="see">View a Page</title>
        <title behaviour="dir">Directory Listing</title>
  +     <title behaviour="pre">Page Preview</title>
        
        <notify behaviour="new">Making a new File at</notify>
        <notify behaviour="get">Editing the File at</notify>
        <notify behaviour="put">Results of saving a file at</notify>
        <notify behaviour="see">Viewing the File at</notify>
        <notify behaviour="dir">Directory Listing of</notify>
  +     <notify behaviour="pre">Editor Preview of</notify>
   
        <notes behaviour="new">Please edit the XML, then click the 'Make New File' 
button above</notes>
        <notes behaviour="get">Please edit the XML, then click the 'Save My Changes' 
button above</notes>
        <notes behaviour="put">Thanks for using &lt;slash-edit/&gt;</notes>
        <notes behaviour="see">This is the editor-view of your file, internal links 
are not likely to work correctly.</notes>
        <notes behaviour="dir">Please choose a file to view in the editor</notes>
  +     <notes behaviour="pre">Please confirm your changes, or fix your 
mistakes</notes>
   
   <!-- The commands -->
        <command behaviour="new" tip="Make a new File" 
icon="new.gif">new(alpha)</command>
  @@ -30,10 +33,12 @@
        <command behaviour="put">put(alpha)</command>
        <command behaviour="see" tip="See this File" 
icon="see.gif">see(alpha)</command>
        <command behaviour="dir" tip="View Directory listing" 
icon="dir.gif">dir(alpha)</command>
  +     <command behaviour="pre">pre(alpha)</command>
   
   <!-- text for form buttons -->       
  -     <button behaviour="new">Make New File</button>
  -     <button behaviour="get">Save My Changes</button>
  +     <button behaviour="new" tip="This will create a new file at the location 
specified in the 'Save as' field">Make New File</button>
  +     <button behaviour="get" tip="View the result of your changes, without 
overwriting the original">Preview My Changes</button>
  +     <button behaviour="pre" tip="Your changes will written">Save My 
Changes</button>
   
   <!-- the tools available to each behaviour -->
        <tools behaviour="new">
  @@ -58,6 +63,11 @@
        </tools>
        <tools behaviour="dir">
                <tool command="new"/>
  +     </tools>
  +     <tools behaviour="pre">
  +             <tool command="dir"/>
  +             <tool command="new"/>
  +             <tool command="see"/>
        </tools>
   
   <!-- what to call the parent directory link -->
  
  
  
  1.4       +12 -2     
xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/docs/bravo-config.xml
  
  Index: bravo-config.xml
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/docs/bravo-config.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- bravo-config.xml  17 Mar 2002 16:10:25 -0000      1.3
  +++ bravo-config.xml  17 Mar 2002 21:26:55 -0000      1.4
  @@ -11,18 +11,21 @@
        <title behaviour="put">Save Results</title>
        <title behaviour="see">View a Document</title>
        <title behaviour="dir">Directory Listing</title>
  +     <title behaviour="pre">Document Preview</title>
        
        <notify behaviour="new">Making a new Document at</notify>
        <notify behaviour="get">Editing the Document at</notify>
        <notify behaviour="put">Results of saving a Document at</notify>
        <notify behaviour="see">Viewing the Document at</notify>
        <notify behaviour="dir">Directory Listing of</notify>
  +     <notify behaviour="pre">Editor Preview of</notify>
   
        <notes behaviour="new">Please edit the fields, then click the 'Make New 
Document' button above</notes>
        <notes behaviour="get">Please edit the fields, then click the 'Save My 
Changes' button above</notes>
        <notes behaviour="put">Thanks for using &lt;slash-edit/&gt;</notes>
        <notes behaviour="see">This is the editor-view of your Document, internal 
links are not likely to work correctly.</notes>
        <notes behaviour="dir">Please choose a Document to view in the editor</notes>
  +     <notes behaviour="pre">Please confirm your changes, or fix your 
mistakes</notes>
   
   <!-- The commands -->
        <command behaviour="new" tip="Make a new Document" 
icon="new.gif">new(bravo)</command>
  @@ -30,10 +33,12 @@
        <command behaviour="put">put(bravo)</command>
        <command behaviour="see" tip="See this Document" 
icon="see.gif">see(bravo)</command>
        <command behaviour="dir" tip="View Directory listing" 
icon="dir.gif">dir(bravo)</command>
  +     <command behaviour="pre">pre(bravo)</command>
   
   <!-- text for form buttons -->       
  -     <button behaviour="new">Make New Document</button>
  -     <button behaviour="get">Save My Changes</button>
  +     <button behaviour="new" tip="This will create a new document at the location 
specified in the 'Save as' field">Make New Document</button>
  +     <button behaviour="get" tip="View the result of your changes, without 
overwriting the original">Preview My Changes</button>
  +     <button behaviour="pre" tip="Your changes will written">Save My 
Changes</button>
   
   <!-- the tools available to each behaviour -->
        <tools behaviour="new">
  @@ -58,6 +63,11 @@
        </tools>
        <tools behaviour="dir">
                <tool command="new"/>
  +     </tools>
  +     <tools behaviour="pre">
  +             <tool command="dir"/>
  +             <tool command="new"/>
  +             <tool command="see"/>
        </tools>
   
   <!-- what to call the parent directory link -->
  
  
  
  1.2       +1 -1      
xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/docs/schematron-page.xml
  
  Index: schematron-page.xml
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/docs/schematron-page.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- schematron-page.xml       17 Mar 2002 16:10:25 -0000      1.1
  +++ schematron-page.xml       17 Mar 2002 21:26:55 -0000      1.2
  @@ -8,7 +8,7 @@
        
   <schema ns="http://xml.apache.cocoon/page"; 
xmlns="http://www.ascc.net/xml/schematron";>
        <title>Schema for &lt;slash-edit/&gt;</title>
  -     <pattern name="Page Validation Pattern">
  +     <pattern name="Cocoon Simple Page">
                <rule context="page">
                        <assert  test="count(title) &gt; 0">There should be a title 
tag.</assert>
                        <assert  test="count(title) &lt; 2">There only should be one 
title tag.</assert>
  
  
  
  1.4       +3 -5      
xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/dir2editor.xsl
  
  Index: dir2editor.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/dir2editor.xsl,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- dir2editor.xsl    17 Mar 2002 16:10:25 -0000      1.3
  +++ dir2editor.xsl    17 Mar 2002 21:26:55 -0000      1.4
  @@ -5,11 +5,12 @@
    xmlns:dir="http://apache.org/cocoon/directory/2.0";
    >
   
  -     <xsl:param name="sub"/>
  +     <xsl:include href="generation-utils.xsl"/>                                     
                         <!-- utility templates and variables -->
  +
        <xsl:param name="target"/>
         
        <xsl:template match="/">
  -             <editor sub="{$sub}">
  +             <editor sub="{$sub}" command-base="{$command-base}">
                        <instance behaviour="dir" target="{$target}">
                                <xsl:copy>
                                        <xsl:apply-templates select="@*|*"/>
  @@ -17,8 +18,5 @@
                        </instance>
                </editor>
        </xsl:template>
  -<!-- copy anything -->
  -  <xsl:template match="@*|node()" priority="-2"><xsl:copy><xsl:apply-templates 
select="@*|node()"/></xsl:copy></xsl:template>
  -  <xsl:template match="text()" priority="-1"><xsl:value-of 
select="."/></xsl:template>
   
   </xsl:stylesheet>
  
  
  
  1.4       +40 -3     
xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/editor-alpha-components.xsl
  
  Index: editor-alpha-components.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/editor-alpha-components.xsl,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- editor-alpha-components.xsl       17 Mar 2002 16:10:25 -0000      1.3
  +++ editor-alpha-components.xsl       17 Mar 2002 21:26:55 -0000      1.4
  @@ -4,8 +4,6 @@
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
   >
   
  -
  -
   <!-- your form for editing 'page' doctype content, handles the 'alpha' sub-editor 
for 'get' and 'new' behaviours -->
   
        <xsl:template match="editor[@sub='alpha']/instance[@behaviour='get' or 
@behaviour='new']/page" mode="sub-editor">
  @@ -17,7 +15,7 @@
                        <tr>
                                <td bgcolor="white">
                                        <form method="post">
  -                                             <xsl:attribute 
name="action"><xsl:value-of select="$command-base"/><xsl:value-of 
select="$config/command[@behaviour = 'put']"/></xsl:attribute>
  +                                             <xsl:attribute 
name="action"><xsl:value-of select="$command-base"/><xsl:value-of 
select="$config/command[@behaviour = 'pre']"/></xsl:attribute>
                                                <table border="0" cellspacing="0" 
cellpadding="5" width="100%">
                                                        <tr>
                                                                <td colspan="2"><span 
class="block-title">File content: </span><br/><textarea 
name="{$config/xml-field-name}" rows="20" cols="80" xml:space="preserve" 
onchange="changed=true;"><xsl:apply-templates select="."/> </textarea></td>
  @@ -39,5 +37,44 @@
                <br/>
     </xsl:template>
   
  +<!-- your template for previewing 'page' doctype content, handles the 'alpha' 
sub-editor for 'pre' behaviour -->
  +     <xsl:template match="editor[@sub='alpha']/instance[@behaviour='pre']/page" 
mode="sub-editor">
  +             <br/>
  +             <table bgcolor="#0086B2" border="0" cellspacing="1" cellpadding="5" 
width="95%">
  +                     <tr>
  +                             <td class="notes" colspan="2">Editor Preview</td>
  +                     </tr>
  +              <tr><td bgcolor="white"><xsl:apply-templates 
mode="editor-view"/></td></tr>
  +             </table>
  +             <br/>
  +             <table bgcolor="#0086B2" border="0" cellspacing="1" cellpadding="5">
  +                     <tr>
  +                             <td class="block-title" colspan="2">Confirm</td>
  +                     </tr>
  +                     <tr>
  +                             <td bgcolor="white">
  +                                     <form method="post">
  +                                             <xsl:attribute 
name="action"><xsl:value-of select="$command-base"/><xsl:value-of 
select="$config/command[@behaviour = 'put']"/></xsl:attribute>
  +                                             <table border="0" cellspacing="0" 
cellpadding="5" width="100%">
  +                                                     <tr>
  +                                                             <td colspan="2"><span 
class="block-title">XML content: </span><br/><textarea name="{$config/xml-field-name}" 
rows="6" cols="80" xml:space="preserve" onchange="changed=true;"><xsl:apply-templates 
select="."/> </textarea></td>
  +                                                     </tr>
  +                                                     <tr>
  +                                                             <td valign="middle">
  +                                                                     <span 
class="block-title">Save as: </span><br/><input type="text" name="target" 
value="{$newfile}" size="40" title="Note: to make a new directory, prepend the 
filename with a directory path"/>
  +                                                             </td>
  +                                                             <td align="right">
  +                                                                     <input 
type="hidden" name="xml-field-name" value="{$config/xml-field-name}"/>
  +                                                                     <input 
class="submit" type="submit" value="{$config/button[@behaviour = $behaviour]}"/>
  +                                                             </td>
  +                                                     </tr>
  +                                             </table>                               
                 
  +                                     </form>
  +                             </td>
  +                     </tr>
  +             </table>
  +             <br/>
  +             
  +  </xsl:template>
   
   </xsl:stylesheet>
  
  
  
  1.4       +43 -1     
xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/editor-bravo-components.xsl
  
  Index: editor-bravo-components.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/editor-bravo-components.xsl,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- editor-bravo-components.xsl       17 Mar 2002 16:10:25 -0000      1.3
  +++ editor-bravo-components.xsl       17 Mar 2002 21:26:55 -0000      1.4
  @@ -15,13 +15,55 @@
                        <tr>
                                <td bgcolor="white">
                                        <form method="post">
  -                                             <xsl:attribute 
name="action"><xsl:value-of select="$command-base"/><xsl:value-of 
select="$config/command[@behaviour = 'put']"/></xsl:attribute>
  +                                             <xsl:attribute 
name="action"><xsl:value-of select="$command-base"/><xsl:value-of 
select="$config/command[@behaviour = 'pre']"/></xsl:attribute>
                                                <table border="0" cellspacing="0" 
cellpadding="5" width="100%">
                                                        <tr>
                                                                <td><span 
class="block-title">Title: </span><br/><input name="title" size="40"  
onchange="changed=true;" value="{normalize-space(title)}"/></td>
                                                        </tr>
                                                        <tr>
                                                                <td colspan="2"><span 
class="block-title">Body: </span><br/><textarea name="content" rows="20" cols="80" 
xml:space="preserve" onchange="changed=true;"><xsl:apply-templates select="content/*" 
mode="bravo"/> </textarea></td>
  +                                                     </tr>
  +                                                     <tr>
  +                                                             <td valign="middle">
  +                                                                     <span 
class="block-title">Save as: </span><br/><input type="text" name="target" 
value="{$newfile}" size="40" title="Note: to make a new directory, prepend the 
filename with a directory path"/>
  +                                                             </td>
  +                                                             <td align="right">
  +                                                                     <input 
class="submit" type="submit" value="{$config/button[@behaviour = $behaviour]}"/>
  +                                                             </td>
  +                                                     </tr>
  +                                             </table>                               
                 
  +                                     </form> 
  +                             </td>
  +                     </tr>
  +             </table>
  +             <br/>
  +  </xsl:template>
  +
  +<!-- your template for previewing 'page' doctype content, handles the 'bravo' 
sub-editor for 'pre' behaviour -->
  +     <xsl:template match="editor[@sub='bravo']/instance[@behaviour='pre']/page" 
mode="sub-editor">
  +             <br/>
  +             <table bgcolor="#0086B2" border="0" cellspacing="1" cellpadding="5" 
width="95%">
  +                     <tr>
  +                             <td class="notes" colspan="2">Editor Preview</td>
  +                     </tr>
  +              <tr><td bgcolor="white"><xsl:apply-templates 
mode="editor-view"/></td></tr>
  +             </table>
  +             <br/>
  +             
  +             <table bgcolor="#0086B2" border="0" cellspacing="1" cellpadding="5">
  +                     <tr>
  +                             <td class="notes" colspan="2">Confirm</td>
  +                     </tr>
  +                     <tr>
  +                             <td bgcolor="white">
  +                                     <form method="post">
  +                                             <xsl:attribute 
name="action"><xsl:value-of select="$command-base"/><xsl:value-of 
select="$config/command[@behaviour = 'put']"/></xsl:attribute>
  +                                             <table border="0" cellspacing="0" 
cellpadding="5" width="100%">
  +                                                     <tr>
  +                                                             <td><span 
class="block-title">Title: </span><br/><input name="title" size="40"  
onchange="changed=true;" value="{normalize-space(title)}"/></td>
  +                                                     </tr>
  +                                                     <tr>
  +                                                             <td colspan="2"><span 
class="block-title">Body: </span><br/><textarea name="content" rows="6" cols="80" 
xml:space="preserve" onchange="changed=true;"><xsl:apply-templates select="content/*" 
mode="bravo"/> </textarea></td>
                                                        </tr>
                                                        <tr>
                                                                <td valign="middle">
  
  
  
  1.6       +11 -2     
xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/editor-components.xsl
  
  Index: editor-components.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/editor-components.xsl,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- editor-components.xsl     17 Mar 2002 16:10:25 -0000      1.5
  +++ editor-components.xsl     17 Mar 2002 21:26:55 -0000      1.6
  @@ -14,8 +14,17 @@
   
        <xsl:template match="instance[@behaviour='see']/page" mode="sub-editor">
                <br/>
  -             <table border="0" cellspacing="2" cellpadding="0" width="95%" 
bgcolor="white">
  -              <tr><td><xsl:apply-templates mode="editor-view"/></td></tr>
  +             <table bgcolor="#0086B2" border="0" cellspacing="1" cellpadding="5" 
width="95%">
  +                     <tr>
  +                             <td class="notes" colspan="2">Editor View</td>
  +                     </tr>
  +                     <tr>
  +                             <td bgcolor="white">
  +                             <table border="0" cellspacing="2" cellpadding="0" 
width="95%" bgcolor="white">
  +                              <tr><td><xsl:apply-templates 
mode="editor-view"/></td></tr>
  +                             </table>
  +                             </td>
  +                     </tr>
                </table>
                <br/>
     </xsl:template>
  
  
  
  1.6       +3 -7      
xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/editor-page2html.xsl
  
  Index: editor-page2html.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/editor-page2html.xsl,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- editor-page2html.xsl      17 Mar 2002 16:10:25 -0000      1.5
  +++ editor-page2html.xsl      17 Mar 2002 21:26:55 -0000      1.6
  @@ -8,13 +8,12 @@
   
    >
   
  -
        <!-- 
                This is the main Editor Stylesheet
                It adapts itself to the particular command being sent in the structure 
of the XML.
                It uses information stored in 'editor/docs/[sub-editor]-config.xml' to 
work out the commands, static strings etc.
        -->
  -
  +     
        <xsl:include href="editor-utils.xsl"/>                                         
                 <!-- utility templates and variables -->
        <xsl:include href="editor-components.xsl"/>                                    
         <!-- generic editor display templates -->
        <xsl:include href="editor-alpha-components.xsl"/>                       <!-- 
"alpha" sub-editor display templates -->
  @@ -101,7 +100,7 @@
        </table>
        </center>
   
  -      <!--   debug   <table>
  +<!-- debug   <table>
                                <tr>
                                        <td>target</td> <td><xsl:value-of 
select="$target"/></td>
                                </tr>
  @@ -111,10 +110,7 @@
                                <tr>
                                        <td>behaviour</td> <td><xsl:value-of 
select="$behaviour"/></td>
                                </tr>
  -                             <tr>
  -                                     <td>old-behaviour</td> <td><xsl:value-of 
select="$old-behaviour"/></td>
  -                             </tr>
  -                     </table> -->
  +                     </table>        -->
                <!-- / debug  -->
                
                 <p align="center">
  
  
  
  1.5       +2 -27     
xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/editor-utils.xsl
  
  Index: editor-utils.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/editor-utils.xsl,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- editor-utils.xsl  17 Mar 2002 16:10:25 -0000      1.4
  +++ editor-utils.xsl  17 Mar 2002 21:26:55 -0000      1.5
  @@ -5,27 +5,17 @@
   >
   
        <xsl:variable name="sub" select="/slash-edit/editor/@sub"/>
  +     <xsl:variable name="command-base" select="/slash-edit/editor/@command-base"/>
        <xsl:variable name="target" select="/slash-edit/editor/instance/@target"/>
        <xsl:variable name="behaviour" 
select="/slash-edit/editor/instance/@behaviour"/>
  -     <xsl:variable name="old-behaviour"><xsl:value-of  
select="/slash-edit/editor/instance/@old-behaviour"/></xsl:variable><!-- darn! this is 
a hack! -->
  -     <xsl:variable name="form-name" 
select="/slash-edit/editor/instance/@form-name"/>
   
   <!-- the aggregated editor-config document -->
        <xsl:variable name="config" select="/slash-edit/config"/>
   
  -<!-- the relative base for commands -->
  -     <xsl:variable name="command-base">
  -      <xsl:if test="$behaviour != 'put' and $old-behaviour != 'put'">
  -       <xsl:call-template name="find-base">
  -              <xsl:with-param name="path"><xsl:value-of 
select="$target"/></xsl:with-param>
  -       </xsl:call-template>
  -      </xsl:if>
  -     </xsl:variable>
  -
   <!-- Do we have a form on this page? -->
        <xsl:variable name="is-form">
                <xsl:choose>
  -                     <xsl:when test="$behaviour = 'get' or $behaviour = 
'new'">true</xsl:when>
  +                     <xsl:when test="$behaviour = 'get' or $behaviour = 'new' or 
$behaviour = 'pre'">true</xsl:when>
                        <xsl:otherwise>false</xsl:otherwise>
                </xsl:choose>
        </xsl:variable>
  @@ -39,21 +29,6 @@
                        <xsl:otherwise><xsl:value-of 
select="$config/default-new-file"/></xsl:otherwise>
                </xsl:choose>
        </xsl:variable>
  -
  -<!-- find the command base, relative to the current folder -->
  -     <xsl:template name="find-base">
  -             <xsl:param name="path"/>
  -             <xsl:param name="prefix"></xsl:param>
  -             <xsl:choose>
  -                     <xsl:when test="contains($path,'/')">
  -                             <xsl:call-template name="find-base">
  -                                     <xsl:with-param name="path"><xsl:value-of 
select="substring-after($path,'/')"/></xsl:with-param>
  -                                     <xsl:with-param name="prefix"><xsl:value-of 
select="concat($prefix,'../')"/></xsl:with-param>
  -                             </xsl:call-template>
  -                     </xsl:when>
  -                     <xsl:otherwise><xsl:value-of select="$prefix"/></xsl:otherwise>
  -             </xsl:choose>
  -     </xsl:template>
   
   <!-- copy anything -->
     <xsl:template match="@*|node()" priority="-2"><xsl:copy><xsl:apply-templates 
select="@*|node()"/></xsl:copy></xsl:template>
  
  
  
  1.2       +7 -6      
xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/editor2writer.xsl
  
  Index: editor2writer.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/editor2writer.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- editor2writer.xsl 17 Mar 2002 16:10:25 -0000      1.1
  +++ editor2writer.xsl 17 Mar 2002 21:26:55 -0000      1.2
  @@ -24,17 +24,18 @@
   
    
   <xsl:template match="editor">
  -     <editor sub="{@sub}">
  +     <editor>
  +             <xsl:copy-of select="@*"/>
                <xsl:choose>
  -                     <xsl:when test="validationResult/pattern/error">               
         
  -                             <instance behaviour="get" old-behaviour="put" 
target="{instance/@target}" form-name="{instance/@form-name}">
  +                     <xsl:when test="instance/@behaviour='put'">                    
 
  +                             <instance behaviour="{instance/@behaviour}" 
target="{instance/@target}"><source:write src="{concat($base,instance/@target)}" 
xml:space="preserve" xmlns:source="http://apache.org/cocoon/source/1.0";>
   <xsl:apply-templates select="instance/*"/>
  -                             </instance>
  +                             </source:write></instance>
                        </xsl:when>                     
                        <xsl:otherwise>
  -                             <instance behaviour="{instance/@behaviour}" 
target="{instance/@target}"><source:write src="{concat($base,instance/@target)}" 
xml:space="preserve" xmlns:source="http://apache.org/cocoon/source/1.0";>
  +                             <instance behaviour="{instance/@behaviour}" 
target="{instance/@target}">
   <xsl:apply-templates select="instance/*"/>
  -                             </source:write></instance>
  +                             </instance>
                        </xsl:otherwise>
                </xsl:choose>
                <xsl:apply-templates select="validationResult"/>
  
  
  
  1.4       +4 -8      
xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/file2editor.xsl
  
  Index: file2editor.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/file2editor.xsl,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- file2editor.xsl   17 Mar 2002 16:10:25 -0000      1.3
  +++ file2editor.xsl   17 Mar 2002 21:26:55 -0000      1.4
  @@ -3,23 +3,19 @@
   <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    >
  +     <xsl:include href="generation-utils.xsl"/>                                     
                         <!-- utility templates and variables -->
   
  -     <xsl:param name="sub"/>
        <xsl:param name="target"/>
  -     <xsl:param name="behaviour"/>
  -     <xsl:param name="form-name"/>
         
        <xsl:template match="/">
  -             <editor sub="{$sub}">
  -                     <instance behaviour="{$behaviour}" target="{$target}" 
form-name="{$form-name}">
  +             <editor sub="{$sub}" command-base="{$command-base}">
  +                     <instance behaviour="{$behaviour}" target="{$target}">
                                <xsl:copy>
                                        <xsl:apply-templates select="@*|*"/>
                                </xsl:copy>
                        </instance>
                </editor>
        </xsl:template>
  -<!-- copy anything -->
  -  <xsl:template match="@*|node()"><xsl:copy><xsl:apply-templates 
select="@*|node()"/></xsl:copy></xsl:template>
  -  <xsl:template match="text()"><xsl:value-of select="."/></xsl:template>
  +
   
   </xsl:stylesheet>
  
  
  
  1.4       +5 -44     
xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/request2editor.xsl
  
  Index: request2editor.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/request2editor.xsl,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- request2editor.xsl        17 Mar 2002 16:10:25 -0000      1.3
  +++ request2editor.xsl        17 Mar 2002 21:26:55 -0000      1.4
  @@ -5,7 +5,9 @@
     xmlns:request="http://xml.apache.org/cocoon/requestgenerator/2.0";
    >
   
  -     <xsl:param name="sub"/>
  +     <xsl:include href="generation-utils.xsl"/>                                     
                         <!-- utility templates and variables -->
  +
  +     <xsl:variable name="target" 
select="request:request/request:requestParameters/request:parameter[@name = 
'target']/request:value"/>
   
   <!-- 
   
  @@ -21,10 +23,9 @@
                
   -->
   
  -
   <xsl:template match="/">
  -<editor sub="{$sub}">
  -<instance behaviour="put" 
target="{request:request/request:requestParameters/request:parameter[@name = 
'target']/request:value}">
  +<editor sub="{$sub}" command-base="{$command-base}">
  +<instance behaviour="{$behaviour}" target="{$target}">
   <page><xsl:text>
    </xsl:text><title><xsl:value-of 
select="request:request/request:requestParameters/request:parameter[@name = 
'title']/request:value"/></title><xsl:text>
    </xsl:text><content><xsl:text>
  @@ -37,45 +38,5 @@
   </editor>
   </xsl:template>
   
  -<!-- convert double CRs to 'para' tags -->
  -<xsl:template name="cr2para">
  - <xsl:param name="text"/>
  - <xsl:choose>
  -  <xsl:when test="normalize-space(substring-before($text,'&#xD;&#xD;')) != ''">
  -  <para><xsl:call-template name="cr2br"><xsl:with-param name="text"><xsl:value-of 
select="substring-before($text,'&#xD;&#xD;')"/></xsl:with-param></xsl:call-template></para>
  -  <xsl:text>
  -  </xsl:text>
  -   <xsl:call-template name="cr2para">
  -    <xsl:with-param name="text"><xsl:value-of 
select="substring-after($text,'&#xD;&#xD;')"/></xsl:with-param>                        
        
  -   </xsl:call-template>
  -  </xsl:when>
  -  <xsl:when test="normalize-space($text) != ''">
  -  <para><xsl:call-template name="cr2br"><xsl:with-param name="text"><xsl:value-of 
select="$text"/></xsl:with-param></xsl:call-template></para>
  -  </xsl:when>
  - </xsl:choose>
  -</xsl:template>
  -
  -<!-- convert single CRs to 'br' tags -->
  -<xsl:template name="cr2br">
  - <xsl:param name="text"/>
  - <xsl:choose>
  -  <xsl:when test="normalize-space(substring-before($text,'&#xD;')) != ''">
  -<xsl:value-of select="normalize-space(substring-before($text,'&#xD;'))"/><br/>
  -<xsl:text>
  -</xsl:text>
  -   <xsl:call-template name="cr2br">
  -    <xsl:with-param name="text"><xsl:value-of 
select="substring-after($text,'&#xD;')"/></xsl:with-param>                             
  -   </xsl:call-template>
  -  </xsl:when>
  -  <xsl:when test="normalize-space($text) != ''"><xsl:value-of 
select="$text"/></xsl:when>
  - </xsl:choose>
  -</xsl:template>
  -
  -
  -
  -
  -<!-- copy anything -->
  -  <xsl:template match="@*|node()" priority="-2"><xsl:copy><xsl:apply-templates 
select="@*|node()"/></xsl:copy></xsl:template>
  -  <xsl:template match="text()" priority="-1"><xsl:value-of 
select="."/></xsl:template>
   
   </xsl:stylesheet>
  
  
  
  1.4       +3 -8      
xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/stream2editor.xsl
  
  Index: stream2editor.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/stream2editor.xsl,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- stream2editor.xsl 17 Mar 2002 16:10:25 -0000      1.3
  +++ stream2editor.xsl 17 Mar 2002 21:26:55 -0000      1.4
  @@ -3,8 +3,8 @@
   <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    >
  +     <xsl:include href="generation-utils.xsl"/>                                     
                         <!-- utility templates and variables -->
   
  -     <xsl:param name="sub"/>
        <xsl:param name="target"/>
   
   <!-- 
  @@ -13,17 +13,12 @@
                
   -->
        
  - 
   <xsl:template match="/">
  -<editor sub="{$sub}">
  -<instance behaviour="put" target="{$target}">
  +<editor sub="{$sub}" command-base="{$command-base}">
  +<instance behaviour="{$behaviour}" target="{$target}">
   <xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy>
   </instance>
   </editor>
   </xsl:template>
  -
  -<!-- copy anything -->
  -  <xsl:template match="@*|node()" priority="-2"><xsl:copy><xsl:apply-templates 
select="@*|node()"/></xsl:copy></xsl:template>
  -  <xsl:template match="text()" priority="-1"><xsl:value-of 
select="."/></xsl:template>
   
   </xsl:stylesheet>
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/generation-utils.xsl
  
  Index: generation-utils.xsl
  ===================================================================
  <?xml version="1.0"?>
  
  <xsl:stylesheet version="1.0" 
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  >
  
        <xsl:param name="sub"/>
        <xsl:param name="behaviour"/>
  
  <!-- the relative base for commands -->
        <xsl:variable name="command-base">
         <xsl:choose>
                 <xsl:when test="$behaviour = 'put'"></xsl:when>
                 <xsl:when test="$behaviour = 'pre'"></xsl:when>
                 <xsl:otherwise>
                        <xsl:call-template name="find-base">
                         <xsl:with-param name="path"><xsl:value-of 
select="$target"/></xsl:with-param>
                        </xsl:call-template>
                 </xsl:otherwise>
         </xsl:choose>
        </xsl:variable>
  
  <!-- find the command base, relative to the current folder -->
        <xsl:template name="find-base">
                <xsl:param name="path"/>
                <xsl:param name="prefix"></xsl:param>
                <xsl:choose>
                        <xsl:when test="contains($path,'/')">
                                <xsl:call-template name="find-base">
                                        <xsl:with-param name="path"><xsl:value-of 
select="substring-after($path,'/')"/></xsl:with-param>
                                        <xsl:with-param name="prefix"><xsl:value-of 
select="concat($prefix,'../')"/></xsl:with-param>
                                </xsl:call-template>
                        </xsl:when>
                        <xsl:otherwise><xsl:value-of select="$prefix"/></xsl:otherwise>
                </xsl:choose>
        </xsl:template>
  
  
  <!-- convert double CRs to 'para' tags -->
  <xsl:template name="cr2para">
   <xsl:param name="text"/>
   <xsl:choose>
    <xsl:when test="normalize-space(substring-before($text,'&#xD;&#xD;')) != ''">
    <para><xsl:call-template name="cr2br"><xsl:with-param name="text"><xsl:value-of 
select="substring-before($text,'&#xD;&#xD;')"/></xsl:with-param></xsl:call-template></para>
    <xsl:text>
    </xsl:text>
     <xsl:call-template name="cr2para">
      <xsl:with-param name="text"><xsl:value-of 
select="substring-after($text,'&#xD;&#xD;')"/></xsl:with-param>                        
 
     </xsl:call-template>
    </xsl:when>
    <xsl:when test="normalize-space($text) != ''">
    <para><xsl:call-template name="cr2br"><xsl:with-param name="text"><xsl:value-of 
select="$text"/></xsl:with-param></xsl:call-template></para>
    </xsl:when>
   </xsl:choose>
  </xsl:template>
  
  <!-- convert single CRs to 'br' tags -->
  <xsl:template name="cr2br">
   <xsl:param name="text"/>
   <xsl:choose>
    <xsl:when test="normalize-space(substring-before($text,'&#xD;')) != ''">
  <xsl:value-of select="normalize-space(substring-before($text,'&#xD;'))"/><br/>
  <xsl:text>
  </xsl:text>
     <xsl:call-template name="cr2br">
      <xsl:with-param name="text"><xsl:value-of 
select="substring-after($text,'&#xD;')"/></xsl:with-param>                             
 
     </xsl:call-template>
    </xsl:when>
    <xsl:when test="normalize-space($text) != ''"><xsl:value-of 
select="$text"/></xsl:when>
   </xsl:choose>
  </xsl:template>
  
  <!-- copy anything -->
    <xsl:template match="@*|node()" priority="-2"><xsl:copy><xsl:apply-templates 
select="@*|node()"/></xsl:copy></xsl:template>
    <xsl:template match="text()" priority="-1"><xsl:value-of 
select="."/></xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/editor/editor/stylesheets/validationFilter.xsl
  
  Index: validationFilter.xsl
  ===================================================================
  <?xml version="1.0"?>
  
  <xsl:stylesheet version="1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
   xmlns:sch="http://www.ascc.net/xml/schematron"; 
   xmlns:zvon="http://zvon.org/schematron";
   xmlns:request="http://xml.apache.org/cocoon/requestgenerator/2.0";
   >
  
  <!-- 
  
        This StyleSheet changes the behaviour of the Editor if the output of the 
Validator contains errors.
  
        NB. the indentation of these templates effects the output document
        
        NB. it can get tricky to decide which namespaces need to be in which 
stylesheet, 
        to make sure the wrong ones don't end up being written to source
                
  -->
  
  <xsl:variable name="behaviour">
        <xsl:choose>
                <xsl:when test="/editor/validationResult/pattern/error">get</xsl:when> 
                 
                <xsl:otherwise><xsl:value-of 
select="/editor/instance/@behaviour"/></xsl:otherwise>
        </xsl:choose>
  </xsl:variable>
   
  <xsl:template match="editor">
        <editor>
                <xsl:copy-of select="@*"/>
                <instance behaviour="{$behaviour}" target="{instance/@target}">
  <xsl:apply-templates select="instance/*"/>
                </instance>
                <xsl:apply-templates select="validationResult"/>
        </editor>
  </xsl:template>
  
  <!-- copy anything -->
    <xsl:template match="@*|node()" priority="-2"><xsl:copy><xsl:apply-templates 
select="@*|node()"/></xsl:copy></xsl:template>
    <xsl:template match="text()" priority="-1"><xsl:value-of 
select="."/></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