Title: Message
Hi
because I did not found an example for embed SVG in a HTML file with Cocoon, I used a lot of time to build the configuration files below. But now I have it. Maybe the script helps someone else in the same situation.
Regards
Sarah Windler
 
<!-- Begin script  -->
 
<!-- sitemap.xmap -->
<?xml version="1.0"?>
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
 <!-- =========================== Components ================================ -->
 <map:components>
  <map:matchers default="wildcard"/>
  <map:transformer logger="sitemap.transformer.extractor" name="extractor" 
           src=""/>
 <map:action logger="sitemap.action.form-validator" name="form-validator" 
           src=""/>
  <map:generators default="file"/>
  <map:transformers default="xslt"/>
  <map:readers default="resource"/>
  <map:serializers default="html"/>
 </map:components>
 <!-- ========================= Pipelines ================================= -->
 <map:pipelines>
  <map:pipeline>
   <map:match pattern="">
    <map:redirect-to uri="index.html"/>
   </map:match>
   <map:match pattern="index.html">
    <map:act type="form-validator">
     <map:parameter name="descriptor" value="docs/form-descriptor.xml"/>
     <map:parameter name="validate-set" value="select"/>
     <map:generate type="serverpages" src=""/>
     <map:transform src=""/>
     <map:transform type="extractor"/>
     <map:transform src=""/>
     <map:serialize/>
    </map:act>
    <map:generate type="serverpages" src=""/>
    <map:transform src=""/>
    <map:serialize/>
   </map:match>
   <map:match pattern="images/*.svg">
    <map:generate type="extractor" src=""/>
    <map:serialize/>
   </map:match>
  </map:pipeline>
 </map:pipelines>
</map:sitemap>
<!-- end of sitemap.xmap -->
 
<!-- index.xsp -->
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsp:page language="java" xmlns:xsp="http://apache.org/xsp"
        xmlns:xsp-formval="http://apache.org/xsp/form-validator/2.0">
 <document>
   <xsp:logic>
        String entryString = new String("");
  </xsp:logic>
  <form handler="index.html">
    <row txt="Enter a text:">
    <text name="entryString" size="20">
     <xsp:attribute name="value">
      <xsp:expr>entryString</xsp:expr>
     </xsp:attribute>
    </text>
   </row>
   <submit name="Run"/>
  </form>
 </document>
</xsp:page>
<!-- end of index.xsp -->
 
<!-- form-descriptor.xml -->
<?xml version="1.0"?>
<root>
 <parameter name="entryString" type="string"/>
 <constraint-set name="select">
  <validate name="entryString" nullable="no"/>
 </constraint-set>
</root>
<!-- end of form-descriptor.xml -->
 
<!-- result.xsp -->
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsp:page language="java" xmlns:xsp="http://apache.org/xsp">
 <document>
  <xsp:logic>
       String entryString = request.getParameter("entryString");
  </xsp:logic>
  <graph>
      <row><xsp:expr>entryString</xsp:expr></row>
  </graph>
 </document>
</xsp:page>
<!-- end of result.xsp -->
 
<!-- svg2html.xsl -->
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                                                  xmlns:svg="http://www.w3.org/2000/svg"
                                                   xmlns:xlink="http://www.w3.org/1999/xlink">           
     <xsl:import href=""/>       
     <xsl:variable name="width"  select="600"/>
     <xsl:variable name="height" select="200"/>                          
     <xsl:variable name="box-width"  select="200"/>
     <xsl:variable name="box-height" select="120"/> 
  <xsl:template match="graph">
   <svg:svg width="{$width}" height="{$height}" viewBox="0 0 {$width} {$height}">
        <svg:defs>         
             <svg:g id="box">
             <svg:rect x="0"  y="0" width="{$box-width}" height="{$box-height}"
                          style="stroke: blue; fill: lightblue;">
             </svg:rect>
             <svg:text style="stroke-opacity:0.25;"
                     x="{ $box-width div 2}"
                     y="{$box-height div 2}"><xsl:value-of select="."/>
                     <animate attributeName="x" from="0" to="{ $box-width -70}"
                                      dur="10s" repeatCount="indefinite"/>         
                          </svg:text>   
           </svg:g>
       </svg:defs>
        <svg:use xlink:href="" x="100" y="50"/>
  </svg:svg>
 </xsl:template>
</xsl:stylesheet>
<!-- end of svg2html.xsl -->
 
<!-- fragment-extractor.xsl -->
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:fe="http://apache.org/cocoon/fragmentextractor/2.0">
 <xsl:template match="//fe:fragment">
  <embed src=""mailto:images/[EMAIL PROTECTED]">images/[EMAIL PROTECTED]" name="SVGEmbed" width="600" height="200"
                  type="image/svg+xml"
pluginspage="http::/www.adobe.com/svg/viewer/install/"/>
 </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>
<!-- end of fragmen-extractor.xsl -->

<!-- index.xsl -->
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="
http://www.w3.org/1999/XSL/Transform">
  <xsl:import href=""/>
  <xsl:template match="form">
    <form name="
[EMAIL PROTECTED]}" action=""mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]}" method="POST">
         <xsl:apply-templates/>
    </form>
  </xsl:template>
  <xsl:template match="row">
    <p><xsl:value-of select="@txt"/><br /><xsl:apply-templates/></p>
  </xsl:template>
  <xsl:template match="submit">
   <input type="submit" name="
[EMAIL PROTECTED]}" value="[EMAIL PROTECTED]"/>
  </xsl:template>
  <xsl:template match="text">
    <input type="text" name="
[EMAIL PROTECTED]}" size="[EMAIL PROTECTED]}">
      <xsl:attribute name="value">
         <xsl:value-of select="normalize-space(@value)"/> 
      </xsl:attribute>
    </input>    
  </xsl:template>
</xsl:stylesheet>
<!-- end of index.xsl -->
 
<!-- template2html.xsl -->
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="
http://www.w3.org/1999/XSL/Transform"> 
   <xsl:template match="/">
    <html>
         <head>
             <title>Embed SVG</title>
         </head>
         <body  bgcolor="#ffffff">
            <h2>Embed SVG in HTML</h2>
            <p><xsl:apply-templates/></p>
            <hr></hr>
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                 <tr>
                     <td align="left"><font face="arial,helvetica,sanserif" size="-1"><i>
                           Revised: 13. Juni 2003 (sw)</i></font></td>
                     <td align="right"><font face="arial,helvetica,sanserif" size="-1"><i>
                           Build with <a href="">Cocoonhttp://xml.apache.org/cocoon/index.html">Cocoon</a>.
                           </i></font>
                     </td>
                 </tr>
            </table>
         </body>
     </html>
  </xsl:template>
</xsl:stylesheet>
<!-- end of template2html.xsl -->
 
<!-- End of script -->

Reply via email to