You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jaxme-dev@ws.apache.org by jo...@apache.org on 2006/10/27 23:09:03 UTC
svn commit: r468544 [22/22] - in /webservices/jaxme/site: ./ apidocs/
apidocs/javax/xml/ apidocs/javax/xml/bind/ apidocs/javax/xml/bind/helpers/
apidocs/javax/xml/bind/util/ apidocs/javax/xml/namespace/
apidocs/org/apache/ws/jaxme/ apidocs/org/apache/w...
Modified: webservices/jaxme/site/manual/ch02s02.html
URL: http://svn.apache.org/viewvc/webservices/jaxme/site/manual/ch02s02.html?view=diff&rev=468544&r1=468543&r2=468544
==============================================================================
--- webservices/jaxme/site/manual/ch02s02.html (original)
+++ webservices/jaxme/site/manual/ch02s02.html Fri Oct 27 14:08:31 2006
@@ -1,9 +1,9 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Marshalling objects</title><meta content="DocBook XSL Stylesheets V1.68.1" name="generator"><link rel="start" href="index.html" title="The JaxMe 2 manual"><link rel="up" href="ch02.html" title="Chapter 2. Reference"><link rel="prev" href="ch02.html" title="Chapter 2. Reference"><link rel="next" href="apa.html" title="Appendix A. License"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Marshalling objects</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ch02.html">Prev</a> </td><th align="center" width="60%">Chapter 2. Reference</th><td align="right" width="20%"> <a accesskey="n" href="apa.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlep
age"><div><div><h2 class="title" style="clear: both"><a name="N102F9"></a>Marshalling objects</h2></div></div></div><p>This section describes the various ways of marshalling JaxMe objects and
+<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Marshalling objects</title><meta content="DocBook XSL Stylesheets V1.71.1" name="generator"><link rel="start" href="index.html" title="The JaxMe 2 manual"><link rel="up" href="ch02.html" title="Chapter 2. Reference"><link rel="prev" href="ch02.html" title="Chapter 2. Reference"><link rel="next" href="apa.html" title="Appendix A. License"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Marshalling objects</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ch02.html">Prev</a> </td><th align="center" width="60%">Chapter 2. Reference</th><td align="right" width="20%"> <a accesskey="n" href="apa.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlep
age"><div><div><h2 class="title" style="clear: both"><a name="N10306"></a>Marshalling objects</h2></div></div></div><p>This section describes the various ways of marshalling JaxMe objects and
how to configure the marshalling process. Note, that this section uses both
methods and features, which are specified by JAXB and others, which are
proprietary to JaxMe. Explicit remarks will tell you about the latter,
- so that you are still able to write 100% portable code.</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N102FE"></a>Marshaller methods</h3></div></div></div><p>The following methods are specified by JAXB. We'll present each method,
- followed by a small piece of example code.</p><div class="variablelist"><p class="title"><b>Marshaller methods</b></p><dl><dt><span class="term"><code class="function">public void marshal(Object, OutputStream) throws JAXBException</code></span></dt><dd><p>Marshals the object into the given <code class="classname">java.io.OutputStream</code>.</p><div class="example"><a name="N10311"></a><p class="title"><b>Example 2.1. Marshalling into an OutputStream</b></p><pre class="programlisting">
+ so that you are still able to write 100% portable code.</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N1030B"></a>Marshaller methods</h3></div></div></div><p>The following methods are specified by JAXB. We'll present each method,
+ followed by a small piece of example code.</p><div class="variablelist"><p class="title"><b>Marshaller methods</b></p><dl><dt><span class="term"><code class="function">public void marshal(Object, OutputStream) throws JAXBException</code></span></dt><dd><p>Marshals the object into the given <code class="classname">java.io.OutputStream</code>.</p><div class="example"><a name="N1031E"></a><p class="title"><b>Example 2.1. Marshalling into an OutputStream</b></p><div class="example-contents"><pre class="programlisting">
public void writeToFile(
JAXBContext pContext,
Object pObject,
@@ -19,11 +19,11 @@
fos.close();
}
- </pre></div><p>The important thing to note in our case is the use of an encoding.
+ </pre></div></div><br class="example-break"><p>The important thing to note in our case is the use of an encoding.
Depending on the encoding, the <code class="classname">Marshaller</code> will convert
characters (16 bit entities) into bytes (8 bit entities). The encoding may
also have influence on the marshallers decision, which characters to escape
- using <span class="token">&#ddd;</span> or not.</p></dd><dt><span class="term"><code class="function">public void marshal(Object, Writer) throws JAXBException</code></span></dt><dd><p>Marshals the object into the given <code class="classname">java.io.Writer</code>.</p><div class="example"><a name="N1032A"></a><p class="title"><b>Example 2.2. Marshalling into a Writer</b></p><pre class="programlisting">
+ using <span class="token">&#ddd;</span> or not.</p></dd><dt><span class="term"><code class="function">public void marshal(Object, Writer) throws JAXBException</code></span></dt><dd><p>Marshals the object into the given <code class="classname">java.io.Writer</code>.</p><div class="example"><a name="N10337"></a><p class="title"><b>Example 2.2. Marshalling into a Writer</b></p><div class="example-contents"><pre class="programlisting">
public void writeToFile(
JAXBContext pContext,
Object pObject,
@@ -40,9 +40,9 @@
fw.close();
}
- </pre></div><p>This example is almost equivalent to the previous example with an <code class="classname">OutputStream</code>
+ </pre></div></div><br class="example-break"><p>This example is almost equivalent to the previous example with an <code class="classname">OutputStream</code>
as the target. In practice, the result may be slightly different anyways, for example, because the
- <code class="classname">Marshaller</code> may choose a different set of characters to escape.</p><div class="example"><a name="N10338"></a><p class="title"><b>Example 2.3. Marshalling into a <code class="classname">String</code></b></p><pre class="programlisting">
+ <code class="classname">Marshaller</code> may choose a different set of characters to escape.</p><div class="example"><a name="N10345"></a><p class="title"><b>Example 2.3. Marshalling into a <code class="classname">String</code></b></p><div class="example-contents"><pre class="programlisting">
public String asString(
JAXBContext pContext,
Object pObject)
@@ -57,7 +57,7 @@
return sw.toString();
}
- </pre></div><p>The example shows, how to convert a JaxMe object into a <code class="classname">String</code>. Note
+ </pre></div></div><br class="example-break"><p>The example shows, how to convert a JaxMe object into a <code class="classname">String</code>. Note
that the use of an encoding still applies, although there occurs no conversion from characters into
bytes. (In the former example using the <code class="classname">FileWriter</code> there has been an implicit
conversion, because any file is in fact a byte stream.) However, the <code class="classname">Marshaller</code>
@@ -66,7 +66,7 @@
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>The <code class="classname">node</code> must be ready to accept an element as a child.
Suitable nodes are, for example, documents, document fragments, or elements.</div>
As an example, we'll demonstrate how to convert the JaxMe object into an instance
- of <code class="classname">org.w3c.dom.Document</code>.</p><div class="example"><a name="N1035F"></a><p class="title"><b>Example 2.4. </b></p><pre class="programlisting">
+ of <code class="classname">org.w3c.dom.Document</code>.</p><div class="example"><a name="N1036C"></a><p class="title"><b>Example 2.4. </b></p><div class="example-contents"><pre class="programlisting">
public Document asDOMDocument(
JAXBContext pContext,
Object pObject,
@@ -82,7 +82,7 @@
return result;
}
- </pre></div><p>Note, that no encoding issues arise in this example, because the DOM tree
+ </pre></div></div><br class="example-break"><p>Note, that no encoding issues arise in this example, because the DOM tree
is an abstract representation of the XML documents, much like JaxMe objects.
However, the same issues are still to be applied, if you serialize the DOM tree
into an <code class="classname">OutputStream</code> or <code class="classname">Writer</code>.</p></dd><dt><span class="term"><code class="function">public void marshal(Object, org.xml.sax.ContentHandler) throws JAXBException</code></span></dt><dd><p>This method is by far the most powerfull of all the marshaller methods: A ContentHandler
@@ -91,7 +91,7 @@
is implemented by the <code class="classname">XMLWriter</code>, which is just an extension of the
<code class="classname">ContentHandler</code>. As an example, we'll demonstrate how to transform a
JaxMe object using an XSL stylesheet, writing the result into an <code class="classname">OutputStream</code>:
- </p><div class="example"><a name="N1037C"></a><p class="title"><b>Example 2.5. Transformation of a JaxMe object using an XSL stylesheet</b></p><pre class="programlisting">
+ </p><div class="example"><a name="N10389"></a><p class="title"><b>Example 2.5. Transformation of a JaxMe object using an XSL stylesheet</b></p><div class="example-contents"><pre class="programlisting">
public void transformToFile(JAXBContext pContext,
Object pObject,
TransformerFactory pFactory,
@@ -118,7 +118,7 @@
Marshaller marshaller = pContext.createMarshaller();
marshaller.marshal(pObject, handler);
}
- </pre></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The SAX ContentHandler receives an abstract representation of the JaxMe object. So there's no
+ </pre></div></div><br class="example-break"><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The SAX ContentHandler receives an abstract representation of the JaxMe object. So there's no
need to set the <code class="classname">Marshaller</code>'s encoding. This is the same as in the
DOM example.</p><p>However, the above example contains in fact two transformations: The first one is the
stylesheet transformation, performed by the <code class="varname">transformerHandler</code>.
@@ -132,13 +132,13 @@
implementations are the <code class="classname">StreamResult</code> (writing to an
<code class="classname">OutputStream</code> or <code class="classname">Writer</code>), the
<code class="classname">DOMResult</code> (creating a DOM tree), and the <code class="classname">SAXResult</code>,
- which fires <span class="acronym">SAX</span> events into a <code class="classname">ContentHandler</code>.</p><p>In theory, a <code class="classname">Result</code> can encapsulate arbitrary destinations. In
+ which fires <acronym class="acronym">SAX</acronym> events into a <code class="classname">ContentHandler</code>.</p><p>In theory, a <code class="classname">Result</code> can encapsulate arbitrary destinations. In
practice one is restricted to the above standard cases, because the <code class="classname">Result</code>
has no useful methods at all. In other words, a new implementation can only be used, if all
users of the <code class="classname">Result</code> know how to deal with it. In our case the users
include <span class="application">JaxMe</span>.</p><p>The above limitations are best described, if we use the <span class="application">JaxMe</span>
- implementation of the method as an example:</p><div class="example"><a name="N103D1"></a><p class="title"><b>Example 2.6. <span class="application">JaxMe</span>'s implementation of the <code class="classname">Result</code>
- destination</b></p><pre class="programlisting">
+ implementation of the method as an example:</p><div class="example"><a name="N103DE"></a><p class="title"><b>Example 2.6. <span class="application">JaxMe</span>'s implementation of the <code class="classname">Result</code>
+ destination</b></p><div class="example-contents"><pre class="programlisting">
public void marshal(Object pObject, Result pResult)
throws JAXBException {
@@ -185,17 +185,17 @@
", only SAXResult, StreamResult and DOMResult are supported.");
}
}
- </pre></div><p>In other words, the method is implemented as a thin wrapper around the
+ </pre></div></div><br class="example-break"><p>In other words, the method is implemented as a thin wrapper around the
others we've seen so far. (Funny enough, it would have been possible to go the
other way and implement all others as wrappers around this one. However, that
would require the presence of an XSLT implementation at runtime and most
- possibly quite inefficient.</p></dd></dl></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N103DF"></a>Marshaller properties</h3></div></div></div><p>In the previous section we've already seen how to configure the <code class="classname">Marshaller</code>'s
+ possibly quite inefficient.</p></dd></dl></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N103EC"></a>Marshaller properties</h3></div></div></div><p>In the previous section we've already seen how to configure the <code class="classname">Marshaller</code>'s
encoding by setting a <span class="token">property</span>. In this section we'll present a complete list of all
the properties supported by the <span class="application">JaxMe</span> <code class="classname">Marshaller</code>.
- </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="N103F1"></a><span class="acronym">JAXB</span> standard <code class="classname">Marshaller</code> properties</h4></div></div></div><p>The following properties are part by the <span class="acronym">JAXB</span> specification. In other
- words: You are safe to use them with any <span class="acronym">JAXB</span> compliant implementation,
+ </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="N103FE"></a><acronym class="acronym">JAXB</acronym> standard <code class="classname">Marshaller</code> properties</h4></div></div></div><p>The following properties are part by the <acronym class="acronym">JAXB</acronym> specification. In other
+ words: You are safe to use them with any <acronym class="acronym">JAXB</acronym> compliant implementation,
including <span class="application">JaxMe</span>. Whenever possible, we recommend to use only this
- properties and no others.</p><div class="variablelist"><p class="title"><b><span class="acronym">JAXB</span> standard <code class="classname">Marshaller</code> properties</b></p><dl><dt><span class="term"><span class="token">jaxb.encoding</span>, </span><span class="term"><code class="classname">Marshaller</code>.<code class="constant">JAXB_ENCODING</code></span></dt><dd><p>As we have already seen, this property specifies the encoding used by the
+ properties and no others.</p><div class="variablelist"><p class="title"><b><acronym class="acronym">JAXB</acronym> standard <code class="classname">Marshaller</code> properties</b></p><dl><dt><span class="term"><span class="token">jaxb.encoding</span>, </span><span class="term"><code class="classname">Marshaller</code>.<code class="constant">JAXB_ENCODING</code></span></dt><dd><p>As we have already seen, this property specifies the encoding used by the
<code class="classname">Marshaller</code>, if applicable. The encoding is used to determine
<div class="itemizedlist"><ul type="disc"><li>when a character will be escaped using the notation &#ddd; and</li><li>if the method <code class="function">marshal(Object, OutputStream)</code> is used,
how the character is converted into bytes</li></ul></div></p><p>For example, if we have the encoding <code class="constant">ISO-8859-1</code> (also known as
@@ -225,7 +225,7 @@
</pre>
The following example turns off the default handling and creates a String containing
- unformatted XML:</p><div class="example"><a name="N10458"></a><p class="title"><b>Example 2.7. Creating unformatted XML</b></p><pre class="programlisting">
+ unformatted XML:</p><div class="example"><a name="N10465"></a><p class="title"><b>Example 2.7. Creating unformatted XML</b></p><div class="example-contents"><pre class="programlisting">
public String asUnformattedString(
JAXBContext pContext,
Object pObject,
@@ -242,9 +242,9 @@
return sw.toString();
}
- </pre></div></dd></dl></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="N1045E"></a><span class="application">JaxMe</span> specific <code class="classname">Marshaller</code>properties</h4></div></div></div><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3>The following properties must not be used for portable applications, because they are
+ </pre></div></div><br class="example-break"></dd></dl></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="N1046B"></a><span class="application">JaxMe</span> specific <code class="classname">Marshaller</code>properties</h4></div></div></div><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3>The following properties must not be used for portable applications, because they are
proprietary to <span class="application">JaxMe</span>.</div><div class="variablelist"><p class="title"><b><span class="application">JaxMe</span> specific <code class="classname">Marshaller</code>properties</b></p><dl><dt><span class="term"><span class="token">jaxme.datatype.converter</span>, </span><span class="term"><code class="classname">JMControllerImpl</code>.<code class="constant">JAXME_DATATYPE_CONVERTER</code></span></dt><dd><p>The <code class="classname">javax.xml.bind.DatatypeConverterInterface</code> is used by
- <span class="acronym">JAXB</span> implementations to convert various data types into strings
+ <acronym class="acronym">JAXB</acronym> implementations to convert various data types into strings
and vice versa. For example, there is a method <code class="function">parseInt(String)</code>,
converting the given string into a primitive integer. Likewise, there is a reverse
method <code class="function">printInt(int)</code>, converting the same integer back into a
@@ -267,7 +267,7 @@
If your XML instances conform to the XML Schema format, it is most likely that you won't
have interoperability problems with foreign software. Fact is, however, that
not all of us are working in a multinational environment and prefer human readable
- formats and local time.</p><div class="example"><a name="N104BF"></a><p class="title"><b>Example 2.8. Using a custom datatype converter</b></p><pre class="programlisting">
+ formats and local time.</p><div class="example"><a name="N104CC"></a><p class="title"><b>Example 2.8. Using a custom datatype converter</b></p><div class="example-contents"><pre class="programlisting">
// Create a subclass of the JaxMe datatype converter, overriding its parseDateTime() and
// printDateTime() methods.
public class MyDatatypeConverter extends org.apache.ws.jaxme.impl.DatatypeConverterImpl {
@@ -318,24 +318,24 @@
return sw.toString();
}
- </pre></div><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3>The above example may cause problems, because it depends on a suitable implementation
+ </pre></div></div><br class="example-break"><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3>The above example may cause problems, because it depends on a suitable implementation
of the local date format. For example, in some asiatic locales, the default format will
contain local characters. The effect is, that you'll need to specify a proper encoding.
<span class="token">UTF-8</span> is always the recommended choice.
</div></dd><dt><span class="term"><span class="token">jaxme.indentation.separator</span>, </span><span class="term"><code class="classname">JMMarshallerImpl</code>.<code class="constant">JAXME_INDENTATION_SEPARATOR</code></span></dt><dd><p>This property is used in conjunction with formatted output. If formatted output is
turned on, it contains the string which is used as a line terminator. The property is
- ignored, if formatted output is turned off or marshalling to a <span class="acronym">DOM</span>
- tree or <span class="acronym">SAX</span> <code class="classname">ContentHander</code> occurs.</p><p>The default property value is <span class="token">Line Feed</span> (<span class="acronym">ASCII</span> 10,
+ ignored, if formatted output is turned off or marshalling to a <acronym class="acronym">DOM</acronym>
+ tree or <acronym class="acronym">SAX</acronym> <code class="classname">ContentHander</code> occurs.</p><p>The default property value is <span class="token">Line Feed</span> (<acronym class="acronym">ASCII</acronym> 10,
or <span class="token">\n</span>), which is
the standard on Linux or Unix. On Windows the standard is <span class="token">Carriage Return</span>,
- followed by a <span class="token">Line Feed</span> (<span class="acronym">ASCII</span> 13 and 10, or
+ followed by a <span class="token">Line Feed</span> (<acronym class="acronym">ASCII</acronym> 13 and 10, or
<span class="token">\r\n</span>). Rumours are, they are even using a single <span class="token">Carriage Return</span>
on some Apple Macintosh boxes.</p><p>If you want to see the problem live, just take a file with Unix line terminators
and open it in the Windows application <span class="application">Notepad</span>. No matter,
which version of Windows you choose, it remains the same after 20 years of development:
You'll see a text file containing a single line and where you'd expect the lines being
splitted, the editor will show you black boxes only. But rumbling doesn't help, we've got
- to live with it.</p><p>The following example shows how to turn on Windows line terminators:</p><div class="example"><a name="N10502"></a><p class="title"><b>Example 2.9. Turning on Windows line terminators</b></p><pre class="programlisting">
+ to live with it.</p><p>The following example shows how to turn on Windows line terminators:</p><div class="example"><a name="N1050F"></a><p class="title"><b>Example 2.9. Turning on Windows line terminators</b></p><div class="example-contents"><pre class="programlisting">
public String asUnformattedString(
JAXBContext pContext,
Object pObject,
@@ -351,10 +351,10 @@
return sw.toString();
}
- </pre></div></dd><dt><span class="term"><span class="token">jaxme.indentation.string</span>, </span><span class="term"><code class="classname">JMMarshallerImpl</code>.<code class="constant">JAXME_INDENTATION_STRING</code></span></dt><dd><p>This property is used in conjunction with formatted output. If formatted output is
+ </pre></div></div><br class="example-break"></dd><dt><span class="term"><span class="token">jaxme.indentation.string</span>, </span><span class="term"><code class="classname">JMMarshallerImpl</code>.<code class="constant">JAXME_INDENTATION_STRING</code></span></dt><dd><p>This property is used in conjunction with formatted output. If formatted output is
turned on, it contains the string which is used to indent one element: By default " " (two
blanks). The property is ignored, if formatted output is turned off or when marshalling
- to a <span class="acronym">DOM</span> tree or <span class="acronym">SAX</span> <code class="classname">ContentHandler</code>
+ to a <acronym class="acronym">DOM</acronym> tree or <acronym class="acronym">SAX</acronym> <code class="classname">ContentHandler</code>
occurs.</p><p>To demonstrate the effect, we'll show two example documents. First an instance with
default indentation:
<pre class="programlisting">
@@ -401,7 +401,7 @@
By default JaxMe does not create such a declaration, because that would make it difficult
to embed the resulting XML into a larger document.</p><p>An XML declaration is particularly important, if you use another encoding than
<code class="constant">UTF-8</code>. In that case you should consider a declaration as
- mandatory.</p><p>The property has no effect, when marshalling to DOM trees, or SAX handlers.</p><div class="example"><a name="N10572"></a><p class="title"><b>Example 2.10. Enabling an XML declaration</b></p><pre class="programlisting">
+ mandatory.</p><p>The property has no effect, when marshalling to DOM trees, or SAX handlers.</p><div class="example"><a name="N1057F"></a><p class="title"><b>Example 2.10. Enabling an XML declaration</b></p><div class="example-contents"><pre class="programlisting">
// Convert a JaxMe object into a String, using the above converter
public String asString(JAXBContext pContext, Object pObject)
throws JAXBException {
@@ -415,7 +415,7 @@
return sw.toString();
}
- </pre></div></dd><dt><span class="term"><code class="constant">jaxme.xml.writer</code>, </span><span class="term"><span class="application">JMMarshallerImpl</span>.<code class="constant">JAXME_XML_WRITER</code></span></dt><dd><p>If the above properties still don't satisfy your needs, this property is your
+ </pre></div></div><br class="example-break"></dd><dt><span class="term"><code class="constant">jaxme.xml.writer</code>, </span><span class="term"><span class="application">JMMarshallerImpl</span>.<code class="constant">JAXME_XML_WRITER</code></span></dt><dd><p>If the above properties still don't satisfy your needs, this property is your
friend. It allows to take complete control on the created XML document, when
marshalling to an <code class="classname">OutputStream</code> or <code class="classname">Writer</code>.
(It takes no effect otherwise.)</p><p>The property value is an instance of <code class="classname">java.lang.Class</code>
@@ -427,7 +427,7 @@
encoding, escaping all Unicode points above 126.</p></dd><dt><span class="term"><code class="classname">org.apache.ws.jaxme.impl.CharSetXMLWriter</code></span></dt><dd><p>This implementation is used, whenever you are running Java 1.4 or newer.
It is internally using the class <code class="classname">java.nio.charset.CharsetEncoder</code>
to determine the Unicode points being escaped.</p></dd><dt><span class="term"><code class="classname">org.apache.ws.jaxme.impl.PassThroughXMLWriter</code></span></dt><dd><p>This implementation does no escaping at all.</p></dd></dl></div></p><p>As an example, we'll write and use and <code class="classname">XMLWriter</code> which is
- escaping the german Umlauts, but no other characters.</p><div class="example"><a name="N105BD"></a><p class="title"><b>Example 2.11. Implementation of an XMLWriter escaping german Umlauts</b></p><pre class="programlisting">
+ escaping the german Umlauts, but no other characters.</p><div class="example"><a name="N105CA"></a><p class="title"><b>Example 2.11. Implementation of an XMLWriter escaping german Umlauts</b></p><div class="example-contents"><pre class="programlisting">
public class UmlautXMLWriter extends org.apache.ws.jaxme.impl.XMLWriterImpl {
protected boolean canEncode(char c) {
switch (c) {
@@ -458,4 +458,4 @@
return sw.toString();
}
- </pre></div></dd></dl></div></div></div></div><div class="navfooter"><hr><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="ch02.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="ch02.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="apa.html">Next</a></td></tr><tr><td valign="top" align="left" width="40%">Chapter 2. Reference </td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td valign="top" align="right" width="40%"> Appendix A. License</td></tr></table></div></body></html>
\ No newline at end of file
+ </pre></div></div><br class="example-break"></dd></dl></div></div></div></div><div class="navfooter"><hr><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="ch02.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="ch02.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="apa.html">Next</a></td></tr><tr><td valign="top" align="left" width="40%">Chapter 2. Reference </td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td valign="top" align="right" width="40%"> Appendix A. License</td></tr></table></div></body></html>
\ No newline at end of file
Modified: webservices/jaxme/site/manual/go01.html
URL: http://svn.apache.org/viewvc/webservices/jaxme/site/manual/go01.html?view=diff&rev=468544&r1=468543&r2=468544
==============================================================================
--- webservices/jaxme/site/manual/go01.html (original)
+++ webservices/jaxme/site/manual/go01.html Fri Oct 27 14:08:31 2006
@@ -1,4 +1,4 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Glossary</title><meta content="DocBook XSL Stylesheets V1.68.1" name="generator"><link rel="start" href="index.html" title="The JaxMe 2 manual"><link rel="up" href="index.html" title="The JaxMe 2 manual"><link rel="prev" href="apb.html" title="Appendix B. FAQ"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Glossary</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="apb.html">Prev</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> </td></tr></table><hr></div><div class="glossary"><div class="titlepage"><div><div><h2 class="title"><a name="N106CA"></a>Glossary</h2></div></div></div><dl><dt><a name="BSDLicense"></a>BSD License</dt><dd><p>One of the worlds most important open sour
ce licenses, originally developed
+<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Glossary</title><meta content="DocBook XSL Stylesheets V1.71.1" name="generator"><link rel="start" href="index.html" title="The JaxMe 2 manual"><link rel="up" href="index.html" title="The JaxMe 2 manual"><link rel="prev" href="apb.html" title="Appendix B. FAQ"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Glossary</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="apb.html">Prev</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> </td></tr></table><hr></div><div class="glossary"><div class="titlepage"><div><div><h2 class="title"><a name="N106D7"></a>Glossary</h2></div></div></div><dl><dt><a name="BSDLicense"></a>BSD License</dt><dd><p>One of the worlds most important open sour
ce licenses, originally developed
for BSD Unix. It is very liberal: Basically it allows you to redistribute both sources and binaries,
as you want. Unlike the GPL you may even sell derivated works. See also
<a href="http://www.opensource.org/licenses/bsd-license.php" target="_top">
Modified: webservices/jaxme/site/manual/index.html
URL: http://svn.apache.org/viewvc/webservices/jaxme/site/manual/index.html?view=diff&rev=468544&r1=468543&r2=468544
==============================================================================
--- webservices/jaxme/site/manual/index.html (original)
+++ webservices/jaxme/site/manual/index.html Fri Oct 27 14:08:31 2006
@@ -1,2 +1,2 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>The JaxMe 2 manual</title><meta content="DocBook XSL Stylesheets V1.68.1" name="generator"><link rel="start" href="index.html" title="The JaxMe 2 manual"><link rel="next" href="pr01.html" title="Introduction"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">The JaxMe 2 manual</th></tr><tr><td align="left" width="20%"> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="pr01.html">Next</a></td></tr></table><hr></div><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="N10002"></a>The JaxMe 2 manual</h1></div><div><div class="author"><h3 class="author"><span class="firstname">Jochen</span> <span class="surname">Wiedmann</span></h3></div></div><div><p c
lass="copyright">Copyright © 2003-2004 The Apache Software Foundation</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="preface"><a href="pr01.html">Introduction</a></span></dt><dt><span class="chapter"><a href="ch01.html">1. First steps</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch01.html#N10037">Generating Java Code</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch01.html#N1003C">Creating a JaxMe Schema</a></span></dt><dt><span class="sect2"><a href="ch01.html#N10053">Running The Generator</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch01s02.html">Working with XML</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch01s02.html#N10120">Writing XML Documents</a></span></dt><dt><span class="sect2"><a href="ch01s02.html#N10151">Reading XML</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch02.html">2. Reference</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch
02.html#N10199">The JaxMe Ant Task</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#N102E4">The Up-to-date check</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s02.html">Marshalling objects</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s02.html#N102FE">Marshaller methods</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#N103DF">Marshaller properties</a></span></dt></dl></dd></dl></dd><dt><span class="appendix"><a href="apa.html">A. License</a></span></dt><dt><span class="appendix"><a href="apb.html">B. FAQ</a></span></dt><dt><span class="glossary"><a href="go01.html">Glossary</a></span></dt></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>2.1. <a href="ch02.html#N101AE">Attributes of the JaxMe ant task</a></dt><dt>2.2. <a href="ch02.html#N10246">Nested elements of the JaxMe ant task</a></dt></dl></div><div class="list-of-examples"><p><b>List of Examples</b></p><dl><dt>2.1. <a href="ch02s02.htm
l#N10311">Marshalling into an OutputStream</a></dt><dt>2.2. <a href="ch02s02.html#N1032A">Marshalling into a Writer</a></dt><dt>2.3. <a href="ch02s02.html#N10338">Marshalling into a <code class="classname">String</code></a></dt><dt>2.4. <a href="ch02s02.html#N1035F"></a></dt><dt>2.5. <a href="ch02s02.html#N1037C">Transformation of a JaxMe object using an XSL stylesheet</a></dt><dt>2.6. <a href="ch02s02.html#N103D1"><span class="application">JaxMe</span>'s implementation of the <code class="classname">Result</code>
- destination</a></dt><dt>2.7. <a href="ch02s02.html#N10458">Creating unformatted XML</a></dt><dt>2.8. <a href="ch02s02.html#N104BF">Using a custom datatype converter</a></dt><dt>2.9. <a href="ch02s02.html#N10502">Turning on Windows line terminators</a></dt><dt>2.10. <a href="ch02s02.html#N10572">Enabling an XML declaration</a></dt><dt>2.11. <a href="ch02s02.html#N105BD">Implementation of an XMLWriter escaping german Umlauts</a></dt><dt>A.1. <a href="apa.html#N10614"></a></dt></dl></div></div><div class="navfooter"><hr><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="pr01.html">Next</a></td></tr><tr><td valign="top" align="left" width="40%"> </td><td align="center" width="20%"> </td><td valign="top" align="right" width="40%"> Introduction</td></tr></table></div></body></html>
\ No newline at end of file
+<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>The JaxMe 2 manual</title><meta content="DocBook XSL Stylesheets V1.71.1" name="generator"><link rel="start" href="index.html" title="The JaxMe 2 manual"><link rel="next" href="pr01.html" title="Introduction"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">The JaxMe 2 manual</th></tr><tr><td align="left" width="20%"> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="pr01.html">Next</a></td></tr></table><hr></div><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="N10002"></a>The JaxMe 2 manual</h1></div><div><div class="author"><h3 class="author"><span class="firstname">Jochen</span> <span class="surname">Wiedmann</span></h3></div></div><div><p c
lass="copyright">Copyright © 2003-2004 The Apache Software Foundation</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="preface"><a href="pr01.html">Introduction</a></span></dt><dt><span class="chapter"><a href="ch01.html">1. First steps</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch01.html#N10037">Generating Java Code</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch01.html#N1003C">Creating a JaxMe Schema</a></span></dt><dt><span class="sect2"><a href="ch01.html#N10053">Running The Generator</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch01s02.html">Working with XML</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch01s02.html#N10120">Writing XML Documents</a></span></dt><dt><span class="sect2"><a href="ch01s02.html#N10151">Reading XML</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch02.html">2. Reference</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch
02.html#N10199">The JaxMe Ant Task</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#N102F1">The Up-to-date check</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s02.html">Marshalling objects</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s02.html#N1030B">Marshaller methods</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#N103EC">Marshaller properties</a></span></dt></dl></dd></dl></dd><dt><span class="appendix"><a href="apa.html">A. License</a></span></dt><dt><span class="appendix"><a href="apb.html">B. FAQ</a></span></dt><dt><span class="glossary"><a href="go01.html">Glossary</a></span></dt></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>2.1. <a href="ch02.html#N101AE">Attributes of the JaxMe ant task</a></dt><dt>2.2. <a href="ch02.html#N10246">Nested elements of the JaxMe ant task</a></dt></dl></div><div class="list-of-examples"><p><b>List of Examples</b></p><dl><dt>2.1. <a href="ch02s02.htm
l#N1031E">Marshalling into an OutputStream</a></dt><dt>2.2. <a href="ch02s02.html#N10337">Marshalling into a Writer</a></dt><dt>2.3. <a href="ch02s02.html#N10345">Marshalling into a <code class="classname">String</code></a></dt><dt>2.4. <a href="ch02s02.html#N1036C"></a></dt><dt>2.5. <a href="ch02s02.html#N10389">Transformation of a JaxMe object using an XSL stylesheet</a></dt><dt>2.6. <a href="ch02s02.html#N103DE"><span class="application">JaxMe</span>'s implementation of the <code class="classname">Result</code>
+ destination</a></dt><dt>2.7. <a href="ch02s02.html#N10465">Creating unformatted XML</a></dt><dt>2.8. <a href="ch02s02.html#N104CC">Using a custom datatype converter</a></dt><dt>2.9. <a href="ch02s02.html#N1050F">Turning on Windows line terminators</a></dt><dt>2.10. <a href="ch02s02.html#N1057F">Enabling an XML declaration</a></dt><dt>2.11. <a href="ch02s02.html#N105CA">Implementation of an XMLWriter escaping german Umlauts</a></dt><dt>A.1. <a href="apa.html#N10621"></a></dt></dl></div></div><div class="navfooter"><hr><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="pr01.html">Next</a></td></tr><tr><td valign="top" align="left" width="40%"> </td><td align="center" width="20%"> </td><td valign="top" align="right" width="40%"> Introduction</td></tr></table></div></body></html>
\ No newline at end of file
Modified: webservices/jaxme/site/manual/pr01.html
URL: http://svn.apache.org/viewvc/webservices/jaxme/site/manual/pr01.html?view=diff&rev=468544&r1=468543&r2=468544
==============================================================================
--- webservices/jaxme/site/manual/pr01.html (original)
+++ webservices/jaxme/site/manual/pr01.html Fri Oct 27 14:08:31 2006
@@ -1,4 +1,4 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Introduction</title><meta content="DocBook XSL Stylesheets V1.68.1" name="generator"><link rel="start" href="index.html" title="The JaxMe 2 manual"><link rel="up" href="index.html" title="The JaxMe 2 manual"><link rel="prev" href="index.html" title="The JaxMe 2 manual"><link rel="next" href="ch01.html" title="Chapter 1. First steps"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Introduction</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="index.html">Prev</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="ch01.html">Next</a></td></tr></table><hr></div><div class="preface" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="N10011"></
a>Introduction</h2></div></div></div><p>JaxMe 2 is a Java source generator. It is used as the base of XML
+<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Introduction</title><meta content="DocBook XSL Stylesheets V1.71.1" name="generator"><link rel="start" href="index.html" title="The JaxMe 2 manual"><link rel="up" href="index.html" title="The JaxMe 2 manual"><link rel="prev" href="index.html" title="The JaxMe 2 manual"><link rel="next" href="ch01.html" title="Chapter 1. First steps"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Introduction</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="index.html">Prev</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="ch01.html">Next</a></td></tr></table><hr></div><div class="preface" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="N10011"></
a>Introduction</h2></div></div></div><p>JaxMe 2 is a Java source generator. It is used as the base of XML
application frameworks. Using JaxMe can generate code that can:
<div class="itemizedlist"><ul type="disc"><li>Convert XML documents into Java beans and back to XML documents again.</li><li>Persist those Java beans into a datastore. It is recommended to use
an XML database as a backend, but relational databases are supported
Modified: webservices/jaxme/site/news.html
URL: http://svn.apache.org/viewvc/webservices/jaxme/site/news.html?view=diff&rev=468544&r1=468543&r2=468544
==============================================================================
--- webservices/jaxme/site/news.html (original)
+++ webservices/jaxme/site/news.html Fri Oct 27 14:08:31 2006
@@ -276,6 +276,10 @@
<dl>
+<dt>2006-Oct-24: JaxMe 0.5.2 released</dt>
+
+<dd>Bug fix release, mainly dedicated to composition of multiple schemas</dd>
+
<dt>2006-Jan-06: JaxMe 0.5.1 released</dt>
<dd>Patch release, adding preliminary support for external binding files.</dd>
Modified: webservices/jaxme/site/news.pdf
URL: http://svn.apache.org/viewvc/webservices/jaxme/site/news.pdf?view=diff&rev=468544&r1=468543&r2=468544
==============================================================================
Binary files - no diff available.
Modified: webservices/jaxme/site/release.html
URL: http://svn.apache.org/viewvc/webservices/jaxme/site/release.html?view=diff&rev=468544&r1=468543&r2=468544
==============================================================================
--- webservices/jaxme/site/release.html (original)
+++ webservices/jaxme/site/release.html Fri Oct 27 14:08:31 2006
@@ -358,7 +358,7 @@
<li>Wait one day, until the Apache mirrors are in sync.</li>
-<li>Update the files mirrors.ehtml and news.xml in the directory
+<li>Update the file news.xml in the directory
src/documentation/content/xdocs of the ws-site repository.</li>
<li>Announce the new release on <a href="http://freshmeat.net/">FreshMeat</a>.
Modified: webservices/jaxme/site/release.pdf
URL: http://svn.apache.org/viewvc/webservices/jaxme/site/release.pdf?view=diff&rev=468544&r1=468543&r2=468544
==============================================================================
Binary files - no diff available.
---------------------------------------------------------------------
To unsubscribe, e-mail: jaxme-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: jaxme-dev-help@ws.apache.org