Jakarta Tomcat5.0+Apache Cocoon2.1.3开发初步指南二--开发篇(1)

类别:Java 点击:0 评论:0 推荐:
Jakarta Tomcat5.0+Apache Cocoon2.1.3开发初步指南二--开发篇 (1)

       Author:Junnef Jin

       Date:    2003/11/25

       E_mail:[email protected]

开发一个简单的程序:

下面我们来开发一个简单的程序,这个例子参考了Cocoon帮助文档中的一个例子,如果你已经按照Jakarta Tomcat5.0+Apache Cocoon2.1.3开发初步指南一--安装篇做了,那么通过下面的链接可以看到英文原例:

http://localhost:8080/cocoon/docs/howto/howto-html-pdf-publishing.html

下面一步一步来创建这个程序。

9、创建程序目录

在部署到Tomcat中的那个cocoon文件夹下,新建一个目录,命名为html-pdf。

10、创建XML文档

在html-pdf文件夹下创建如下两个文件:

pageOne.xml

 

<?xml version="1.0" encoding="iso-8859-1"?>

<page>

  <title>This is the pageOne.xml example</title>

  <s1 title="Section one">

     <p>This is the text of section one</p>

  </s1>

</page> 

pageTwo.xml

 

<?xml version="1.0" encoding="iso-8859-1"?>

<page>

  <title>This is the pageTwo.xml example</title>

  <s1 title="Yes, it works">

     <p>Now you're hopefully seeing pageTwo in HTML or PDF</p>

  </s1>

</page> 

11、为HTML文件创建XSLT转换器

在html-pdf文件夹下创建

doc2html.xsl 

<?xml version="1.0" encoding="iso-8859-1"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

 

<!-- generate HTML skeleton on root element -->

<xsl:template match="/">

  <html>

    <head>

      <title><xsl:apply-templates select="page/title"/></title>

    </head>

    <body>

        <xsl:apply-templates/>

    </body>

  </html>

</xsl:template>

 

<!-- story is used later by the Meerkat example -->

<xsl:template match="p|story">

    <p><xsl:apply-templates/></p>

</xsl:template>

 

<!-- convert sections to HTML headings -->

<xsl:template match="s1">

    <h1><xsl:apply-templates select="@title"/></h1>

    <xsl:apply-templates/>

</xsl:template>

 

</xsl:stylesheet> 

12、创建站点地图文件

这个文件是cocoon2中的两个重要配置文件之一,且必须命名为sitemap.xmap,放到该模块的根目录下,这里,放到html-pdf下,文件内容如下: 

<?xml version="1.0" encoding="iso-8859-1"?>

<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">

  <!-- define the Cocoon processing pipelines -->

  <map:pipelines>

     <map:pipeline>

         <!-- respond to *.html requests with

                 our docs processed by doc2html.xsl -->

         <map:match pattern="*.html">

            <map:generate src="{1}.xml"/>

            <map:transform src="doc2html.xsl"/>

            <map:serialize type="html"/>

         </map:match>

         <!-- later, respond to *.pdf requests with

                 our docs processed by doc2pdf.xsl -->

         <map:match pattern="*.pdf">

            <map:generate src="{1}.xml"/>

            <map:transform src="doc2pdf.xsl"/>

            <map:serialize type="fo2pdf"/>

         </map:match>

     </map:pipeline>

  </map:pipelines>

</map:sitemap>

 

13、现在可以测试我们程序的HTML版面了

在IE地址栏中输入下面的链接,将会看到如图所示的页面

http://localhost:8080/cocoon/html-pdf/pageOne.html

http://localhost:8080/cocoon/html-pdf/pageTwo.html

高兴吧,刚开始而已,下面我们会有更多的收获。

待续。

本文地址:http://com.8s8s.com/it/it16996.htm