You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by vg...@apache.org on 2003/05/08 07:05:22 UTC
cvs commit: cocoon-2.1/src/webapp/samples/hello-world samples.xml sitemap.xmap
vgritsenko 2003/05/07 22:05:22
Modified: src/java/org/apache/cocoon/serialization
ZipArchiveSerializer.java
src/webapp sitemap.xmap
src/webapp/samples/hello-world samples.xml sitemap.xmap
Added: src/webapp/samples/hello-world/style/xsl page2sxw.xsl
Log:
Add OpenOffice Writer Hello World sample.
Fix ZipSerializer: ensure no start/end element is called after exception.
Revision Changes Path
1.1 cocoon-2.1/src/webapp/samples/hello-world/style/xsl/page2sxw.xsl
Index: page2sxw.xsl
===================================================================
<?xml version="1.0"?>
<!--+
| This stylesheets transforms hello world XML page to document to ZIP serializer.
| After the serializer, result is OpenOffice Writer document (sxw).
|
| @author <a href="mailto:vgritsenko@apache.org>Vadim Gritsenko</a>
| @version CVS $Id: page2sxw.xsl,v 1.1 2003/05/08 05:05:22 vgritsenko Exp $
+-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:zip="http://apache.org/cocoon/zip-archive/1.0"
xmlns:text="http://openoffice.org/2000/text">
<xsl:template match="page">
<zip:archive>
<!--
<!DOCTYPE office:document-content PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "office.dtd">
-->
<zip:entry name="content.xml" serializer="xml">
<office:document-content xmlns:office="http://openoffice.org/2000/office"
xmlns:style="http://openoffice.org/2000/style"
xmlns:text="http://openoffice.org/2000/text"
xmlns:table="http://openoffice.org/2000/table"
xmlns:draw="http://openoffice.org/2000/drawing"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:number="http://openoffice.org/2000/datastyle"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:chart="http://openoffice.org/2000/chart"
xmlns:dr3d="http://openoffice.org/2000/dr3d"
xmlns:math="http://www.w3.org/1998/Math/MathML"
xmlns:form="http://openoffice.org/2000/form"
xmlns:script="http://openoffice.org/2000/script"
office:class="text" office:version="1.0">
<office:script/>
<office:font-decls>
<style:font-decl style:name="Arial Unicode MS" fo:font-family="'Arial Unicode MS'" style:font-pitch="variable"/>
<style:font-decl style:name="HG Mincho Light J" fo:font-family="'HG Mincho Light J'" style:font-pitch="variable"/>
<style:font-decl style:name="Thorndale" fo:font-family="Thorndale" style:font-family-generic="roman" style:font-pitch="variable"/>
<style:font-decl style:name="Albany" fo:font-family="Albany" style:font-family-generic="swiss" style:font-pitch="variable"/>
</office:font-decls>
<office:automatic-styles/>
<office:body>
<text:sequence-decls>
<text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
<text:sequence-decl text:display-outline-level="0" text:name="Table"/>
<text:sequence-decl text:display-outline-level="0" text:name="Text"/>
<text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
</text:sequence-decls>
<text:h text:style-name="Heading 1" text:level="1"><xsl:value-of select="title"/></text:h>
<xsl:apply-templates/>
</office:body>
</office:document-content>
</zip:entry>
<!--
<!DOCTYPE office:document-meta PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "office.dtd">
-->
<zip:entry name="meta.xml" serializer="xml">
<office:document-meta xmlns:office="http://openoffice.org/2000/office"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:meta="http://openoffice.org/2000/meta"
office:version="1.0">
<office:meta>
<meta:generator>OpenOffice.org 1.0.3 (Win32)</meta:generator>
<dc:title><xsl:value-of select="title"/></dc:title>
<dc:subject>Cocoon Sample Document</dc:subject>
<meta:creation-date>2003-05-07T22:59:08</meta:creation-date>
<dc:date>2003-05-07T23:01:22</dc:date>
<dc:language>en-US</dc:language>
<meta:editing-cycles>3</meta:editing-cycles>
<meta:editing-duration>PT2M21S</meta:editing-duration>
<meta:user-defined meta:name="Info 1"/>
<meta:user-defined meta:name="Info 2"/>
<meta:user-defined meta:name="Info 3"/>
<meta:user-defined meta:name="Info 4"/>
<meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="1" meta:paragraph-count="2" meta:word-count="7" meta:character-count="34"/>
</office:meta>
</office:document-meta>
</zip:entry>
<!--
<!DOCTYPE office:document-settings PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "office.dtd">
-->
<zip:entry name="settings.xml" serializer="xml">
<office:document-settings xmlns:office="http://openoffice.org/2000/office"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:config="http://openoffice.org/2001/config"
office:version="1.0">
<office:settings>
<config:config-item-set config:name="view-settings">
<config:config-item config:name="ViewAreaTop" config:type="int">0</config:config-item>
<config:config-item config:name="ViewAreaLeft" config:type="int">0</config:config-item>
<config:config-item config:name="ViewAreaWidth" config:type="int">26222</config:config-item>
<config:config-item config:name="ViewAreaHeight" config:type="int">15004</config:config-item>
<config:config-item config:name="ShowRedlineChanges" config:type="boolean">true</config:config-item>
<config:config-item config:name="ShowHeaderWhileBrowsing" config:type="boolean">false</config:config-item>
<config:config-item config:name="ShowFooterWhileBrowsing" config:type="boolean">false</config:config-item>
<config:config-item config:name="InBrowseMode" config:type="boolean">false</config:config-item>
<config:config-item-map-indexed config:name="Views">
<config:config-item-map-entry>
<config:config-item config:name="ViewId" config:type="string">view2</config:config-item>
<config:config-item config:name="ViewLeft" config:type="int">9202</config:config-item>
<config:config-item config:name="ViewTop" config:type="int">4410</config:config-item>
<config:config-item config:name="VisibleLeft" config:type="int">0</config:config-item>
<config:config-item config:name="VisibleTop" config:type="int">0</config:config-item>
<config:config-item config:name="VisibleRight" config:type="int">26220</config:config-item>
<config:config-item config:name="VisibleBottom" config:type="int">15002</config:config-item>
<config:config-item config:name="ZoomType" config:type="short">0</config:config-item>
<config:config-item config:name="ZoomFactor" config:type="short">100</config:config-item>
<config:config-item config:name="IsSelectedFrame" config:type="boolean">false</config:config-item>
</config:config-item-map-entry>
</config:config-item-map-indexed>
</config:config-item-set>
<config:config-item-set config:name="configuration-settings">
<config:config-item config:name="AddParaTableSpacing" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintReversed" config:type="boolean">false</config:config-item>
<config:config-item config:name="LinkUpdateMode" config:type="short">1</config:config-item>
<config:config-item config:name="CharacterCompressionType" config:type="short">0</config:config-item>
<config:config-item config:name="PrintSingleJobs" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintPaperFromSetup" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintLeftPages" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrintTables" config:type="boolean">true</config:config-item>
<config:config-item config:name="ChartAutoUpdate" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrintControls" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrinterSetup" config:type="base64Binary">kgP+/1xcdmdyaXRzZW5rb3BjMlxIUCBMYXNlckpldCA1TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd2luc3Bvb2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAEA2AIAAAAAAAAFAAhSAAAEdAAAM1ROVwEACABcXHZncml0c2Vua29wYzJcSFAgTGFzZXJKZXQgNUwAAAEEAAWcADQCQ++ABQEAAQCaCzQIZAABAA8AWAIBAAEAWAIDAAEAQTQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAIAAAABAAAA/////wAAAAAAAAAAAAAAAAAAAABESU5VIgAAADQCAACjWpOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</config:config-item>
<config:config-item config:name="PrintAnnotationMode" config:type="short">0</config:config-item>
<config:config-item config:name="ApplyUserData" config:type="boolean">true</config:config-item>
<config:config-item config:name="FieldAutoUpdate" config:type="boolean">true</config:config-item>
<config:config-item config:name="SaveVersionOnClose" config:type="boolean">false</config:config-item>
<config:config-item config:name="SaveGlobalDocumentLinks" config:type="boolean">false</config:config-item>
<config:config-item config:name="IsKernAsianPunctuation" config:type="boolean">false</config:config-item>
<config:config-item config:name="AlignTabStopPosition" config:type="boolean">false</config:config-item>
<config:config-item config:name="CurrentDatabaseDataSource" config:type="string">Addresses</config:config-item>
<config:config-item config:name="PrinterName" config:type="string">\\vgritsenkopc2\HP LaserJet 5L</config:config-item>
<config:config-item config:name="PrintFaxName" config:type="string"/>
<config:config-item config:name="PrintRightPages" config:type="boolean">true</config:config-item>
<config:config-item config:name="AddParaTableSpacingAtStart" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintProspect" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintGraphics" config:type="boolean">true</config:config-item>
<config:config-item config:name="CurrentDatabaseCommandType" config:type="int">0</config:config-item>
<config:config-item config:name="PrintPageBackground" config:type="boolean">true</config:config-item>
<config:config-item config:name="CurrentDatabaseCommand" config:type="string">Contacts</config:config-item>
<config:config-item config:name="PrintDrawings" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrintBlackFonts" config:type="boolean">false</config:config-item>
</config:config-item-set>
</office:settings>
</office:document-settings>
</zip:entry>
<!--
<!DOCTYPE office:document-styles PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "office.dtd">
-->
<zip:entry name="styles.xml" serializer="xml">
<office:document-styles xmlns:office="http://openoffice.org/2000/office"
xmlns:style="http://openoffice.org/2000/style"
xmlns:text="http://openoffice.org/2000/text"
xmlns:table="http://openoffice.org/2000/table"
xmlns:draw="http://openoffice.org/2000/drawing"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:number="http://openoffice.org/2000/datastyle"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:chart="http://openoffice.org/2000/chart"
xmlns:dr3d="http://openoffice.org/2000/dr3d"
xmlns:math="http://www.w3.org/1998/Math/MathML"
xmlns:form="http://openoffice.org/2000/form"
xmlns:script="http://openoffice.org/2000/script"
office:version="1.0">
<office:font-decls>
<style:font-decl style:name="Arial Unicode MS" fo:font-family="'Arial Unicode MS'" style:font-pitch="variable"/>
<style:font-decl style:name="HG Mincho Light J" fo:font-family="'HG Mincho Light J'" style:font-pitch="variable"/>
<style:font-decl style:name="Thorndale" fo:font-family="Thorndale" style:font-family-generic="roman" style:font-pitch="variable"/>
<style:font-decl style:name="Albany" fo:font-family="Albany" style:font-family-generic="swiss" style:font-pitch="variable"/>
</office:font-decls>
<office:styles>
<style:default-style style:family="graphics">
<style:properties draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" fo:color="#000000" style:font-name="Thorndale" fo:font-size="12pt" fo:language="en" fo:country="US" style:font-name-asian="HG Mincho Light J" style:font-size-asian="12pt" style:language-asian="none" style:country-asian="none" style:font-name-complex="Arial Unicode MS" style:font-size-complex="12pt" style:language-complex="none" style:country-complex="none" style:text-autospace="ideograph-alpha" style:punctuation-wrap="simple" style:line-break="strict">
<style:tab-stops/>
</style:properties>
</style:default-style>
<style:default-style style:family="paragraph">
<style:properties fo:color="#000000" style:font-name="Thorndale" fo:font-size="12pt" fo:language="en" fo:country="US" style:font-name-asian="HG Mincho Light J" style:font-size-asian="12pt" style:language-asian="none" style:country-asian="none" style:font-name-complex="Arial Unicode MS" style:font-size-complex="12pt" style:language-complex="none" style:country-complex="none" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2" fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="2.205cm" style:writing-mode="lr-tb"/>
</style:default-style>
<style:style style:name="Standard" style:family="paragraph" style:class="text"/>
<style:style style:name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text">
<style:properties fo:margin-top="0cm" fo:margin-bottom="0.212cm"/>
</style:style>
<style:style style:name="Heading" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text body" style:class="text">
<style:properties fo:margin-top="0.423cm" fo:margin-bottom="0.212cm" style:font-name="Albany" fo:font-size="14pt" style:font-name-asian="HG Mincho Light J" style:font-size-asian="14pt" style:font-name-complex="Arial Unicode MS" style:font-size-complex="14pt" fo:keep-with-next="true"/>
</style:style>
<style:style style:name="Heading 1" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text body" style:class="text">
<style:properties fo:font-size="115%" fo:font-weight="bold" style:font-size-asian="115%" style:font-weight-asian="bold" style:font-size-complex="115%" style:font-weight-complex="bold"/>
</style:style>
<text:outline-style>
<text:outline-level-style text:level="1" style:num-format=""/>
<text:outline-level-style text:level="2" style:num-format=""/>
<text:outline-level-style text:level="3" style:num-format=""/>
<text:outline-level-style text:level="4" style:num-format=""/>
<text:outline-level-style text:level="5" style:num-format=""/>
<text:outline-level-style text:level="6" style:num-format=""/>
<text:outline-level-style text:level="7" style:num-format=""/>
<text:outline-level-style text:level="8" style:num-format=""/>
<text:outline-level-style text:level="9" style:num-format=""/>
<text:outline-level-style text:level="10" style:num-format=""/>
</text:outline-style>
<text:footnotes-configuration style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="document"/>
<text:endnotes-configuration style:num-format="i" text:start-value="0"/>
<text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5"/>
</office:styles>
<office:automatic-styles>
<style:page-master style:name="pm1"><style:properties fo:page-width="21.59cm" fo:page-height="27.94cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2.54cm" fo:margin-bottom="2.54cm" fo:margin-left="3.175cm" fo:margin-right="3.175cm" style:footnote-max-height="0cm"><style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:adjustment="left" style:rel-width="25%" style:color="#000000"/></style:properties><style:header-style/><style:footer-style/></style:page-master>
</office:automatic-styles>
<office:master-styles>
<style:master-page style:name="Standard" style:page-master-name="pm1"/>
</office:master-styles>
</office:document-styles>
</zip:entry>
<!--
<!DOCTYPE manifest:manifest PUBLIC "-//OpenOffice.org//DTD Manifest 1.0//EN" "Manifest.dtd">
-->
<zip:entry name="META-INF/manifest.xml" serializer="xml">
<manifest:manifest xmlns:manifest="http://openoffice.org/2001/manifest">
<manifest:file-entry manifest:media-type="application/vnd.sun.xml.writer" manifest:full-path="/"/>
<manifest:file-entry manifest:media-type="" manifest:full-path="Pictures/"/>
<manifest:file-entry manifest:media-type="text/xml" manifest:full-path="content.xml"/>
<manifest:file-entry manifest:media-type="text/xml" manifest:full-path="styles.xml"/>
<manifest:file-entry manifest:media-type="text/xml" manifest:full-path="meta.xml"/>
<manifest:file-entry manifest:media-type="text/xml" manifest:full-path="settings.xml"/>
</manifest:manifest>
</zip:entry>
</zip:archive>
</xsl:template>
<xsl:template match="title">
</xsl:template>
<xsl:template match="content">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="para">
<text:p text:style-name="Text body"><xsl:apply-templates/></text:p>
</xsl:template>
<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.2 +38 -17 cocoon-2.1/src/java/org/apache/cocoon/serialization/ZipArchiveSerializer.java
Index: ZipArchiveSerializer.java
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/serialization/ZipArchiveSerializer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ZipArchiveSerializer.java 9 Mar 2003 00:09:37 -0000 1.1
+++ ZipArchiveSerializer.java 8 May 2003 05:05:22 -0000 1.2
@@ -150,6 +150,12 @@
private NamespaceSupport nsSupport = new NamespaceSupport();
/**
+ * Store exception
+ */
+ private SAXException exception = null;
+
+
+ /**
* @see org.apache.avalon.framework.component.Composable#compose(ComponentManager)
*/
public void compose(ComponentManager manager) throws ComponentException {
@@ -199,30 +205,37 @@
*/
public void startElement(String namespaceURI, String localName, String qName, Attributes atts)
throws SAXException {
+
+ // Damage control. Sometimes one exception is just not enough...
+ if (this.exception != null) {
+ throw this.exception;
+ }
+
switch (state) {
- case START_STATE :
+ case START_STATE:
// expecting "zip" as the first element
if (namespaceURI.equals(ZIP_NAMESPACE) && localName.equals("archive")) {
this.nsSupport.pushContext();
this.state = IN_ZIP_STATE;
} else {
- throw new SAXException(
- "Expecting 'archive' root element (got '" + localName + "')");
+ throw this.exception =
+ new SAXException("Expecting 'archive' root element (got '" + localName + "')");
}
break;
- case IN_ZIP_STATE :
+ case IN_ZIP_STATE:
// expecting "entry" element
if (namespaceURI.equals(ZIP_NAMESPACE) && localName.equals("entry")) {
this.nsSupport.pushContext();
// Get the source
addEntry(atts);
} else {
- throw new SAXException("Expecting 'entry' element (got '" + localName + "')");
+ throw this.exception =
+ new SAXException("Expecting 'entry' element (got '" + localName + "')");
}
break;
- case IN_CONTENT_STATE :
+ case IN_CONTENT_STATE:
this.contentDepth++;
super.startElement(namespaceURI, localName, qName, atts);
break;
@@ -248,20 +261,21 @@
protected void addEntry(Attributes atts) throws SAXException {
String name = atts.getValue("name");
if (name == null) {
- throw new SAXException("No name given to the Zip entry");
+ throw this.exception =
+ new SAXException("No name given to the Zip entry");
}
String src = atts.getValue("src");
String serializerType = atts.getValue("serializer");
if (src == null && serializerType == null) {
- throw new SAXException(
- "No source nor serializer given for the Zip entry '" + name + "'");
+ throw this.exception =
+ new SAXException("No source nor serializer given for the Zip entry '" + name + "'");
}
if (src != null && serializerType != null) {
- throw new SAXException(
- "Cannot specify both 'src' and 'serializer' on a Zip entry '" + name + "'");
+ throw this.exception =
+ new SAXException("Cannot specify both 'src' and 'serializer' on a Zip entry '" + name + "'");
}
Source source = null;
@@ -302,7 +316,7 @@
});
// Set it as the current XMLConsumer
- this.setConsumer(serializer);
+ setConsumer(serializer);
// start its document
this.serializer.startDocument();
@@ -310,7 +324,6 @@
// and give it any namespaces already declared
Enumeration prefixes = this.nsSupport.getPrefixes();
while (prefixes.hasMoreElements()) {
-
String prefix = (String) prefixes.nextElement();
super.startPrefixMapping(prefix, this.nsSupport.getURI(prefix));
}
@@ -322,9 +335,9 @@
} catch (RuntimeException re) {
throw re;
} catch (SAXException se) {
- throw se;
+ throw this.exception = se;
} catch (Exception e) {
- throw new SAXException(e);
+ throw this.exception = new SAXException(e);
} finally {
this.resolver.release( source );
}
@@ -335,6 +348,12 @@
*/
public void endElement(String namespaceURI, String localName, String qName)
throws SAXException {
+
+ // Damage control. Sometimes one exception is just not enough...
+ if (this.exception != null) {
+ throw this.exception;
+ }
+
if (state == IN_CONTENT_STATE) {
super.endElement(namespaceURI, localName, qName);
this.contentDepth--;
@@ -354,7 +373,7 @@
try {
this.zipOutput.closeEntry();
} catch (IOException ioe) {
- throw new SAXException(ioe);
+ throw this.exception = new SAXException(ioe);
}
super.setConsumer(null);
@@ -381,10 +400,12 @@
throw new SAXException(ioe);
}
}
+
/**
* @see org.apache.avalon.excalibur.pool.Recyclable#recycle()
*/
public void recycle() {
+ this.exception = null;
if (this.serializer != null) {
this.selector.release(this.serializer);
}
1.15 +5 -1 cocoon-2.1/src/webapp/sitemap.xmap
Index: sitemap.xmap
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/webapp/sitemap.xmap,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- sitemap.xmap 8 May 2003 00:05:04 -0000 1.14
+++ sitemap.xmap 8 May 2003 05:05:22 -0000 1.15
@@ -127,6 +127,10 @@
</map:serializer>
<map:serializer logger="sitemap.serializer.text" mime-type="text/plain" name="text" src="org.apache.cocoon.serialization.TextSerializer"/>
<map:serializer logger="sitemap.serializer.vrml" mime-type="model/vrml" name="vrml" src="org.apache.cocoon.serialization.TextSerializer"/>
+ <map:serializer logger="sitemap.serializer.sxw" mime-type="application/vnd.sun.xml.writer" name="sxw" src="org.apache.cocoon.serialization.ZipArchiveSerializer"/>
+ <map:serializer logger="sitemap.serializer.sxc" mime-type="application/vnd.sun.xml.calc" name="sxc" src="org.apache.cocoon.serialization.ZipArchiveSerializer"/>
+ <map:serializer logger="sitemap.serializer.sxd" mime-type="application/vnd.sun.xml.draw" name="sxd" src="org.apache.cocoon.serialization.ZipArchiveSerializer"/>
+ <map:serializer logger="sitemap.serializer.sxi" mime-type="application/vnd.sun.xml.impress" name="sxi" src="org.apache.cocoon.serialization.ZipArchiveSerializer"/>
</map:serializers>
<!--+
1.5 +7 -1 cocoon-2.1/src/webapp/samples/hello-world/samples.xml
Index: samples.xml
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/webapp/samples/hello-world/samples.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- samples.xml 7 May 2003 14:22:47 -0000 1.4
+++ samples.xml 8 May 2003 05:05:22 -0000 1.5
@@ -57,6 +57,12 @@
need a VoiceML-capable agent to hear this).
</sample>
</group>
+
+ <group name="Hello Office!">
+ <sample name="OpenOffice Writer" href="hello.sxw">
+ This page shows how a simple XML page can be presented in OpenOffice Writer document format.
+ </sample>
+ </group>
<group name="Hello World Web Service">
<sample name="Web Service" href="hello.service">
1.7 +7 -1 cocoon-2.1/src/webapp/samples/hello-world/sitemap.xmap
Index: sitemap.xmap
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/webapp/samples/hello-world/sitemap.xmap,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- sitemap.xmap 7 May 2003 04:57:13 -0000 1.6
+++ sitemap.xmap 8 May 2003 05:05:22 -0000 1.7
@@ -72,6 +72,12 @@
<map:serialize type="xml"/>
</map:match>
+ <map:match pattern="hello.sxw">
+ <map:generate src="content/hello.xml"/>
+ <map:transform src="style/xsl/page2sxw.xsl"/>
+ <map:serialize type="sxw"/>
+ </map:match>
+
</map:pipeline>
</map:pipelines>