You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2012/12/20 16:55:27 UTC
svn commit: r1424548 [5/5] - in /webservices/axiom/branches/AXIOM-201: ./
etc/ legal/ modules/axiom-all/ modules/axiom-api/
modules/axiom-api/src/main/java/org/apache/axiom/om/
modules/axiom-api/src/main/java/org/apache/axiom/om/dom/
modules/axiom-api/...
Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-testutils/src/main/java/org/apache/axiom/testutils/stax/XMLStreamReaderComparator.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-testutils/src/main/java/org/apache/axiom/testutils/stax/XMLStreamReaderComparator.java?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-testutils/src/main/java/org/apache/axiom/testutils/stax/XMLStreamReaderComparator.java (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-testutils/src/main/java/org/apache/axiom/testutils/stax/XMLStreamReaderComparator.java Thu Dec 20 15:55:24 2012
@@ -46,6 +46,9 @@ import junit.framework.Assert;
public class XMLStreamReaderComparator extends Assert {
private final XMLStreamReader expected;
private final XMLStreamReader actual;
+ private boolean compareEntityReplacementValue = true;
+ private boolean compareCharacterEncodingScheme = true;
+ private boolean compareEncoding = true;
private final LinkedList path = new LinkedList();
/**
@@ -197,14 +200,39 @@ public class XMLStreamReaderComparator e
prefixes.add(prefix);
}
+ /**
+ * Specify whether the replacement value for entity references (as reported by
+ * {@link XMLStreamReader#getText()}) should be compared. The default value for this option is
+ * <code>true</code>.
+ *
+ * @param value
+ * <code>true</code> if the replacement value should be compared; <code>false</code>
+ * if replacement values for entity references are ignored
+ */
+ public void setCompareEntityReplacementValue(boolean value) {
+ compareEntityReplacementValue = value;
+ }
+
+ public void setCompareCharacterEncodingScheme(boolean value) {
+ compareCharacterEncodingScheme = value;
+ }
+
+ public void setCompareEncoding(boolean value) {
+ compareEncoding = value;
+ }
+
public void compare() throws Exception {
while (true) {
int eventType = ((Integer)assertSameResult("getEventType")).intValue();
if (eventType == XMLStreamReader.START_ELEMENT) {
path.addLast(expected.getName());
}
- assertSameResult("getCharacterEncodingScheme");
- assertSameResult("getEncoding", Normalizer.LOWER_CASE);
+ if (compareCharacterEncodingScheme) {
+ assertSameResult("getCharacterEncodingScheme");
+ }
+ if (compareEncoding) {
+ assertSameResult("getEncoding", Normalizer.LOWER_CASE);
+ }
Integer attributeCount = (Integer)assertSameResult("getAttributeCount");
// Test the behavior of the getAttributeXxx methods for all types of events,
// to check that an appropriate exception is thrown for events other than
@@ -255,7 +283,9 @@ public class XMLStreamReaderComparator e
assertSameResult("getPIData");
assertSameResult("getPITarget");
prefixes.add(assertSameResult("getPrefix"));
- assertSameResult("getText", eventType == XMLStreamReader.DTD ? Normalizer.DTD : Normalizer.IDENTITY);
+ if (eventType != XMLStreamReader.ENTITY_REFERENCE || compareEntityReplacementValue) {
+ assertSameResult("getText", eventType == XMLStreamReader.DTD ? Normalizer.DTD : Normalizer.IDENTITY);
+ }
Integer textLength = (Integer)assertSameResult("getTextLength");
Object[] textStart = invoke("getTextStart");
Object[] textCharacters = invoke("getTextCharacters");
Modified: webservices/axiom/branches/AXIOM-201/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/pom.xml?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/pom.xml (original)
+++ webservices/axiom/branches/AXIOM-201/pom.xml Thu Dec 20 15:55:24 2012
@@ -22,12 +22,14 @@
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
- <version>10</version>
+ <!-- Note: versions 10 to 12 declare a reportSet with reports
+ that we don't need/want; stick with version 9 -->
+ <version>9</version>
</parent>
<groupId>org.apache.ws.commons.axiom</groupId>
<artifactId>axiom</artifactId>
<name>Axiom</name>
- <version>1.2.14-SNAPSHOT</version>
+ <version>1.2.15-SNAPSHOT</version>
<packaging>pom</packaging>
<description>AXIOM API</description>
<url>http://ws.apache.org/axiom/</url>
@@ -251,7 +253,7 @@
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
- <version>3.0</version>
+ <version>3.2</version>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
@@ -486,6 +488,8 @@
<exclude>**/*.svg</exclude>
<!-- License file from Jaxen (see LEGAL-74 & WSCOMMONS-545) -->
<exclude>legal/jaxen-LICENSE.txt</exclude>
+ <!-- BSD style license -->
+ <exclude>legal/stax2-api-LICENSE.txt</exclude>
<!-- Files used by various developer tools -->
<exclude>*.sonarj</exclude>
<!-- File generated by maven-release-plugin -->
@@ -501,7 +505,7 @@
<plugins>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
- <version>2.1.1</version>
+ <version>2.6</version>
<reportSets>
<reportSet>
<reports>
Modified: webservices/axiom/branches/AXIOM-201/src/docbkx/userguide.xml
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/src/docbkx/userguide.xml?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/src/docbkx/userguide.xml (original)
+++ webservices/axiom/branches/AXIOM-201/src/docbkx/userguide.xml Thu Dec 20 15:55:24 2012
@@ -1515,7 +1515,7 @@ public InputStream getInputStream() thro
<methodname>getInputStream</methodname> <quote>destructive</quote>. Consider
the implementation shown in <xref linkend="InputStreamDataSource"/><footnote><para>The example
shown is actually a simplified version of code that is
- <ulink url="http://svn.apache.org/repos/asf/webservices/axis2/tags/java/v1.5/modules/kernel/src/org/apache/axis2/builder/unknowncontent/InputStreamDataSource.java">part of Axis2 1.5</ulink>.</para></footnote>.
+ <ulink url="http://svn.apache.org/repos/asf/axis/axis2/java/core/tags/v1.5/modules/kernel/src/org/apache/axis2/builder/unknowncontent/InputStreamDataSource.java">part of Axis2 1.5</ulink>.</para></footnote>.
It is clear that this data source can only be read once and that any subsequent call to
<methodname>getInputStream</methodname> will return an already closed input stream.
</para>
@@ -1648,15 +1648,15 @@ public InputStream getInputStream() thro
<para>
Experience indeed shows that the most challenging part in creating an
<classname>OMDataSource</classname> implementation is to write the
- <methodname>getReader</methodname> method. To avoid that difficulty some
- implementations simply build an Axiom tree and return the
+ <methodname>getReader</methodname> method. In the past, to avoid that difficulty some
+ implementations simply built an Axiom tree and returned the
<classname>XMLStreamReader</classname> provided by
- <methodname>OMElement#getXMLStreamReader()</methodname>. For example, some ADB
- (Axis2 Data Binding) versions use the following code<footnote><para>For the complete
- code, see <ulink url="http://svn.apache.org/repos/asf/webservices/axis2/tags/java/v1.5/modules/adb/src/org/apache/axis2/databinding/ADBDataSource.java"/>.</para></footnote>:
+ <methodname>OMElement#getXMLStreamReader()</methodname>. For example, older versions of ADB
+ (Axis2 Data Binding) used the following code<footnote><para>For the complete
+ code, see <ulink url="http://svn.apache.org/repos/asf/axis/axis2/java/core/tags/v1.5/modules/adb/src/org/apache/axis2/databinding/ADBDataSource.java"/>.</para></footnote>:
</para>
<example id="adb-getReader">
- <title><methodname>OMDataSource#getReader()</methodname> implementation used by ADB</title>
+ <title><methodname>OMDataSource#getReader()</methodname> implementation used in older ADB versions</title>
<programlisting>public XMLStreamReader getReader() throws XMLStreamException {
MTOMAwareOMBuilder mtomAwareOMBuilder = new MTOMAwareOMBuilder();
serialize(mtomAwareOMBuilder);
@@ -1664,39 +1664,28 @@ public InputStream getInputStream() thro
}</programlisting>
</example>
<para>
- The <classname>MTOMAwareOMBuilder</classname> class referenced by this code is a special
- implementation of <classname>XMLStreamWriter</classname> that builds an Axiom tree from the
- sequence of events send to it. The code than uses this Axiom tree to get the
- <classname>XMLStreamReader</classname> implementation. While this is a functionally correct
+ The <classname>MTOMAwareOMBuilder</classname> class referenced by this code was a special
+ implementation of <classname>XMLStreamWriter</classname> building an Axiom tree from the
+ sequence of events sent to it. The code than used this Axiom tree to get the
+ <classname>XMLStreamReader</classname> implementation. While this was a functionally correct
implementation of the <methodname>getReader</methodname> method, it is not a good
solution from a performance perspective and also contradicts some of the ideas on
which Axiom is based, namely that the object model should only be built when necessary.
</para>
<para>
- Indeed, it should not be necessary to build an intermediary tree when requesting a pull
- parser from the <classname>OMDataSource</classname> because all the required information
- is already present in the ADB beans. Worse, if the <classname>OMSourcedElement</classname>
- is expanded, the object model instance will be built twice: once by the
- <methodname>getReader</methodname> and once by Axiom itself!
+ Starting with Axiom 1.2.14, there is a solution to avoid this anti-pattern.
+ <classname>OMDataSource</classname> implementations that cannot provide a meaningful
+ <classname>XMLStreamReader</classname> instance should extend
+ <classname>org.apache.axiom.om.ds.AbstractPushOMDataSource</classname> and only
+ implement the <methodname>serialize</methodname> method.
+ <classname>OMSourcedElement</classname> will handle <classname>OMDataSource</classname> implementations extending this class
+ differently when it comes to expansion: instead of using <methodname>OMDataSource#getReader()</methodname> to
+ expand the element, it will use <methodname>OMDataSource#serialize(XMLStreamWriter)</methodname> (with a special
+ <classname>XMLStreamWriter</classname> that builds the descendants of the <classname>OMSourcedElement</classname>). Note that this means
+ that such an <classname>OMSourcedElement</classname> will be expanded instantly, and that deferred building of
+ the descendants is not applicable. Nevertheless, this approach is significantly more efficient
+ than using the OM-inside-OMDataSource anti-pattern.
</para>
- <para>
- While constructing an Axiom tree inside the <methodname>getReader</methodname> method is clearly
- an anti-pattern, at least in the case of ADB it is not as bad as it seems at first glance.
- The reason is that in the case which is the most relevant for performance
- (which is sending a Web Service response prepared using ADB), Axiom will only invoke
- the <methodname>serialize</methodname> method and not make use of
- <methodname>getReader</methodname>.
- </para>
- <note>
- <para>
- At the time of writing there is no general solution available to avoid the
- weak version of the OM-inside-OMDataSource anti-pattern in cases where it would be far
- too difficult to build a proper <classname>XMLStreamReader</classname>
- implementation. Future versions of Axiom may implement a solution that
- avoids the complexity of implementing <classname>XMLStreamReader</classname>
- without too much performance trade-offs.
- </para>
- </note>
</section>
<section>
<title>Strong version</title>
@@ -1718,17 +1707,9 @@ public InputStream getInputStream() thro
to pull the events from the reader returned by a call to
<methodname>getReader</methodname> and copy them to the
<classname>XMLStreamReader</classname>. The easiest and most efficient
- way to do this is using <classname>StreamingOMSerializer</classname>:
- </para>
- <example id="OMDataSource-serialize">
- <title>Proper implementation of the <methodname>OMDataSource#serialize</methodname> method</title>
-<programlisting>public void serialize(XMLStreamWriter xmlWriter)
- throws XMLStreamException {
- StreamingOMSerializer serializer = new StreamingOMSerializer();
- serializer.serialize(getReader(), xmlWriter);
-}</programlisting>
- </example>
- <para>
+ way to do this is to extend <classname>org.apache.axiom.om.ds.AbstractPullOMDataSource</classname>
+ (available in Axiom 1.2.14), which implements the <methodname>serialize</methodname>
+ method in exactly that way.
There is thus no need to build an intermediary object model in this case.
</para>
</listitem>
@@ -1736,7 +1717,7 @@ public InputStream getInputStream() thro
<para>
The <methodname>getReader</methodname> method also uses an intermediary
Axiom tree<footnote><para>See e.g.
- <ulink url="http://svn.apache.org/repos/asf/webservices/axis2/tags/java/v1.5/modules/kernel/src/org/apache/axis2/builder/unknowncontent/UnknownContentOMDataSource.java"/>.</para></footnote>.
+ <ulink url="http://svn.apache.org/repos/asf/axis/axis2/java/core/tags/v1.5/modules/kernel/src/org/apache/axis2/builder/unknowncontent/UnknownContentOMDataSource.java"/>.</para></footnote>.
In that case it doesn't make sense to use an <classname>OMSourcedElement</classname>
in the first place! At least it doesn't make sense if one assumes that
in general the <classname>OMSourcedElement</classname> will either be
@@ -1753,23 +1734,6 @@ public InputStream getInputStream() thro
method properly by transforming the raw or foreign data directly to StAX events written to the
<classname>XMLStreamWriter</classname>.
</para>
- <note>
- <para>
- Implementing the <methodname>serialize</methodname> method to serialize
- directly to an <classname>XMLStreamWriter</classname>
- instead of using an intermediary Axiom tree of course still leaves the question about
- the <methodname>getReader</methodname> method open.
- Since we are assuming that implementing <methodname>getReader</methodname>
- properly would be too complex (otherwise one could use the code shown in
- <xref linkend="OMDataSource-serialize"/> to avoid the
- OM-inside-OMDataSource anti-pattern entirely), one is forced to
- use the code shown in <xref linkend="adb-getReader"/> (and thus the weaker version of
- the anti-pattern). However this code depends on the <classname>MTOMAwareOMBuilder</classname>
- class which is part of <literal>axis2-adb</literal>. In some cases, depending on
- that library may not be an option. Therefore this class should probably
- be moved to Axiom.
- </para>
- </note>
</listitem>
</orderedlist>
<para>
Modified: webservices/axiom/branches/AXIOM-201/src/main/assembly/bin.xml
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/src/main/assembly/bin.xml?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/src/main/assembly/bin.xml (original)
+++ webservices/axiom/branches/AXIOM-201/src/main/assembly/bin.xml Thu Dec 20 15:55:24 2012
@@ -77,6 +77,8 @@
<include>org.apache.ws.commons.axiom:axiom-api</include>
<include>org.apache.ws.commons.axiom:axiom-impl</include>
<include>org.apache.ws.commons.axiom:axiom-dom</include>
+ <include>org.apache.ws.commons.axiom:axiom-compat</include>
+ <include>org.apache.ws.commons.axiom:axiom-jaxb</include>
<include>org.apache.ws.commons.axiom:axiom-c14n</include>
</includes>
<binaries>
@@ -86,6 +88,12 @@
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
+ <excludes>
+ <!-- This artifact is actually shaded into axiom-impl and axiom-dom -->
+ <exclude>org.apache.ws.commons.axiom:axiom-common-impl</exclude>
+ <!-- This dependency should be considered as provided by the application code -->
+ <exclude>javax.xml.bind:jaxb-api</exclude>
+ </excludes>
</dependencySet>
</dependencySets>
</binaries>
Modified: webservices/axiom/branches/AXIOM-201/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/src/site/apt/index.apt?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/src/site/apt/index.apt (original)
+++ webservices/axiom/branches/AXIOM-201/src/site/apt/index.apt Thu Dec 20 15:55:24 2012
@@ -57,6 +57,25 @@ Key Features
Latest Release
+ <<2nd December 2012 - Apache Axiom Verson 1.2.14 Released!>>
+
+ Axiom 1.2.14 contains fixes for more than twenty {{{https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311190&version=12318340}JIRA issues}}
+ as well as lots of other improvements.
+
+ Users upgrading to 1.2.14 should take into account the following changes:
+
+ * Axiom now uses Woodstox 4.1.x as StAX implementation (although 3.2.x and 4.0.x are still supported).
+
+ * <<<OMFactory>>> implementations for DOOM are now stateless.
+
+ * Several deprecated classes have been moved to a new JAR file named <<<axiom-compat>>> and are no
+ longer included in the core artifacts (<<<axiom-api>>>, <<<axiom-impl>>> and <<<axiom-dom>>>).
+
+ For more information about the possible impact on existing application code of these changes,
+ please refer to the {{{./userguide/ch04.html#changes-1.2.14}user guide}}.
+
+Previous Releases
+
<<2nd April 2012 - Apache Axiom Version 1.2.13 Released!>>
\[{{{http://ws.apache.org/axiom/download.cgi}Download Axiom 1.2.13}}\]
@@ -74,8 +93,6 @@ Latest Release
For more information about the possible impact on existing application code of the changes included in Axiom 1.2.13,
please refer to the {{{./userguide/ch04.html#changes-1.2.13}user guide}}.
-Previous Releases
-
<<2nd July 2011 - Apache Axiom Version 1.2.12 Released!>>
Axiom 1.2.12 contains fixes for the following JIRA issues:
Modified: webservices/axiom/branches/AXIOM-201/src/site/resources/css/site.css
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/src/site/resources/css/site.css?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/src/site/resources/css/site.css (original)
+++ webservices/axiom/branches/AXIOM-201/src/site/resources/css/site.css Thu Dec 20 15:55:24 2012
@@ -80,6 +80,10 @@ div#navcolumn > ul > li.expanded,
div#navcolumn > ul > li.none {
}
+div#navcolumn > ul > li.none {
+ text-indent: 0.4em;
+}
+
div#navcolumn > ul > li.expanded > ul > li.none > a,
div#navcolumn > ul > li.expanded > ul > li.none > strong {
padding-left: 0.3em;
Modified: webservices/axiom/branches/AXIOM-201/src/site/xdoc/download.xml.vm
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/src/site/xdoc/download.xml.vm?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/src/site/xdoc/download.xml.vm (original)
+++ webservices/axiom/branches/AXIOM-201/src/site/xdoc/download.xml.vm Thu Dec 20 15:55:24 2012
@@ -39,41 +39,51 @@
<div align="center">
<table class="bodyTable">
+ <thead>
+ <tr>
+ <th>Version</th>
+ <th>Distribution</th>
+ <th>Date</th>
+ <th>Status</th>
+ </tr>
+ </thead>
<tbody>
- <tr class="a">
- <td align="center" width="45">Name</td>
- <td align="center" width="300">Distribution</td>
- <td align="center" width="100">Date</td>
- <td align="center" width="200">Description</td>
- </tr>
-
- <tr class="b">
- <td align="center" valign="middle">
- <a name="1_2_13"></a>
- 1.2.13
- </td>
- <td>Source Distribution
- <a href="[preferred]/ws/axiom/1.2.13/axiom-1.2.13-source-release.zip">zip</a> |
- <a href="http://www.apache.org/dist/ws/axiom/1.2.13/axiom-1.2.13-source-release.zip.md5">MD5</a> |
- <a href="http://www.apache.org/dist/ws/axiom/1.2.13/axiom-1.2.13-source-release.zip.asc">PGP</a>
- <br/>
- Binary Distribution
- <a href="[preferred]/ws/axiom/1.2.13/axiom-1.2.13-bin.zip">zip</a> |
- <a href="http://www.apache.org/dist/ws/axiom/1.2.13/axiom-1.2.13-bin.zip.md5">MD5</a> |
- <a href="http://www.apache.org/dist/ws/axiom/1.2.13/axiom-1.2.13-bin.zip.asc">PGP</a>
-
- <br/>
+ <tr>
+ <td><a name="1_2_14"/>1.2.14</td>
+ <td>
+ Source Distribution
+ <a href="[preferred]/ws/axiom/1.2.14/axiom-1.2.14-source-release.zip">zip</a> |
+ <a href="http://www.apache.org/dist/ws/axiom/1.2.14/axiom-1.2.14-source-release.zip.md5">MD5</a> |
+ <a href="http://www.apache.org/dist/ws/axiom/1.2.14/axiom-1.2.14-source-release.zip.asc">PGP</a>
+ <br/>
+ Binary Distribution
+ <a href="[preferred]/ws/axiom/1.2.14/axiom-1.2.14-bin.zip">zip</a> |
+ <a href="http://www.apache.org/dist/ws/axiom/1.2.14/axiom-1.2.14-bin.zip.md5">MD5</a> |
+ <a href="http://www.apache.org/dist/ws/axiom/1.2.14/axiom-1.2.14-bin.zip.asc">PGP</a>
+ </td>
+ <td>02 - Dec - 2012</td>
+ <td>Mirrored</td>
+ </tr>
+ <tr>
+ <td><a name="1_2_13"/>1.2.13</td>
+ <td>
+ Source Distribution
+ <a href="http://archive.apache.org/dist/ws/axiom/1.2.13/axiom-1.2.13-source-release.zip">zip</a> |
+ <a href="http://archive.apache.org/dist/ws/axiom/1.2.13/axiom-1.2.13-source-release.zip.md5">MD5</a> |
+ <a href="http://archive.apache.org/dist/ws/axiom/1.2.13/axiom-1.2.13-source-release.zip.asc">PGP</a>
+ <br/>
+ Binary Distribution
+ <a href="http://archive.apache.org/dist/ws/axiom/1.2.13/axiom-1.2.13-bin.zip">zip</a> |
+ <a href="http://archive.apache.org/dist/ws/axiom/1.2.13/axiom-1.2.13-bin.zip.md5">MD5</a> |
+ <a href="http://archive.apache.org/dist/ws/axiom/1.2.13/axiom-1.2.13-bin.zip.asc">PGP</a>
</td>
<td>02 - Apr - 2012</td>
- <td>1.2.13 Release (Mirrored)</td>
+ <td>Archived</td>
</tr>
-
- <tr class="b">
- <td align="center" valign="middle">
- <a name="1_2_12"></a>
- 1.2.12
- </td>
- <td>Source Distribution
+ <tr>
+ <td><a name="1_2_12"/>1.2.12</td>
+ <td>
+ Source Distribution
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_12/axiom-1.2.12-source-release.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_12/axiom-1.2.12-source-release.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_12/axiom-1.2.12-source-release.zip.asc">PGP</a>
@@ -82,19 +92,14 @@
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_12/axiom-1.2.12-bin.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_12/axiom-1.2.12-bin.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_12/axiom-1.2.12-bin.zip.asc">PGP</a>
-
- <br/>
</td>
<td>02 - Jul - 2011</td>
- <td>1.2.12 Release (Archived)</td>
+ <td>Archived</td>
</tr>
-
- <tr class="b">
- <td align="center" valign="middle">
- <a name="1_2_11"></a>
- 1.2.11
- </td>
- <td>Source Distribution
+ <tr>
+ <td><a name="1_2_11"/>1.2.11</td>
+ <td>
+ Source Distribution
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_11/axiom-1.2.11-source-release.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_11/axiom-1.2.11-source-release.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_11/axiom-1.2.11-source-release.zip.asc">PGP</a>
@@ -103,19 +108,14 @@
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_11/axiom-1.2.11-bin.zip">zip</a> |
<a href="http://archive.apache.org/dist/dist/ws/commons/axiom/1_2_11/axiom-1.2.11-bin.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/dist/ws/commons/axiom/1_2_11/axiom-1.2.11-bin.zip.asc">PGP</a>
-
- <br/>
</td>
<td>03 - Feb - 2011</td>
- <td>1.2.11 Release (Archived)</td>
+ <td>Archived</td>
</tr>
-
- <tr class="b">
- <td align="center" valign="middle">
- <a name="1_2_10"></a>
- 1.2.10
- </td>
- <td>Source Distribution
+ <tr>
+ <td><a name="1_2_10"/>1.2.10</td>
+ <td>
+ Source Distribution
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_10/axiom-1.2.10-source-release.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_10/axiom-1.2.10-source-release.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_10/axiom-1.2.10-source-release.zip.asc">PGP</a>
@@ -124,19 +124,14 @@
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_10/axiom-1.2.10-bin.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_10/axiom-1.2.10-bin.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_10/axiom-1.2.10-bin.zip.asc">PGP</a>
-
- <br/>
</td>
<td>30 - Oct - 2010</td>
- <td>1.2.10 Release (Archived)</td>
+ <td>Archived</td>
</tr>
-
- <tr class="b">
- <td align="center" valign="middle">
- <a name="1_2_9"></a>
- 1.2.9
- </td>
- <td>Source Distribution
+ <tr>
+ <td><a name="1_2_9"/>1.2.9</td>
+ <td>
+ Source Distribution
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_9/axiom-1.2.9-source-release.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_9/axiom-1.2.9-source-release.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_9/axiom-1.2.9-source-release.zip.asc">PGP</a>
@@ -145,19 +140,14 @@
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_9/axiom-1.2.9-bin.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_9/axiom-1.2.9-bin.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_9/axiom-1.2.9-bin.zip.asc">PGP</a>
-
- <br/>
</td>
<td>13 - Jun - 2010</td>
- <td>1.2.9 Release (Archived)</td>
+ <td>Archived</td>
</tr>
-
- <tr class="b">
- <td align="center" valign="middle">
- <a name="1_2_8"></a>
- 1.2.8
- </td>
- <td>Source Distribution
+ <tr>
+ <td><a name="1_2_8"/>1.2.8</td>
+ <td>
+ Source Distribution
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_8/axiom-1.2.8-src.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_8/axiom-1.2.8-src.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_8/axiom-1.2.8-src.zip.asc">PGP</a>
@@ -166,19 +156,14 @@
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_8/axiom-1.2.8-bin.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_8/axiom-1.2.8-bin.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_8/axiom-1.2.8-bin.zip.asc">PGP</a>
-
- <br/>
</td>
<td>15 - Jan - 2009</td>
- <td>1.2.8 Release (Archived)</td>
+ <td>Archived</td>
</tr>
-
- <tr class="b">
- <td align="center" valign="middle">
- <a name="1_2_7"></a>
- 1.2.7
- </td>
- <td>Source Distribution
+ <tr>
+ <td><a name="1_2_7"/>1.2.7</td>
+ <td>
+ Source Distribution
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_7/axiom-1.2.7-src.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_7/axiom-1.2.7-src.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_7/axiom-1.2.7-src.zip.asc">PGP</a>
@@ -187,19 +172,14 @@
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_7/axiom-1.2.7-bin.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_7/axiom-1.2.7-bin.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_7/axiom-1.2.7-bin.zip.asc">PGP</a>
-
- <br/>
</td>
<td>20 - Apr - 2008</td>
- <td>1.2.7 Release (Archived)</td>
+ <td>Archived</td>
</tr>
-
- <tr class="b">
- <td align="center" valign="middle">
- <a name="1_2_6"></a>
- 1.2.6
- </td>
- <td>Source Distribution
+ <tr>
+ <td><a name="1_2_6"/>1.2.6</td>
+ <td>
+ Source Distribution
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_6/axiom-1.2.6-src.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_6/axiom-1.2.6-src.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_6/axiom-1.2.6-src.zip.asc">PGP</a>
@@ -208,19 +188,14 @@
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_6/axiom-1.2.6-bin.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_6/axiom-1.2.6-bin.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_6/axiom-1.2.6-bin.zip.asc">PGP</a>
-
- <br/>
</td>
<td>09 - Apr - 2008</td>
- <td>1.2.6 Release (Archived)</td>
+ <td>Archived</td>
</tr>
-
- <tr class="b">
- <td align="center" valign="middle">
- <a name="1_2_5"></a>
- 1.2.5
- </td>
- <td>Source Distribution
+ <tr>
+ <td><a name="1_2_5"/>1.2.5</td>
+ <td>
+ Source Distribution
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_5/axiom-1.2.5-src.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_5/axiom-1.2.5-src.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_5/axiom-1.2.5-src.zip.asc">PGP</a>
@@ -229,19 +204,14 @@
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_5/axiom-1.2.5-bin.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_5/axiom-1.2.5-bin.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_5/axiom-1.2.5-bin.zip.asc">PGP</a>
-
- <br/>
</td>
<td>05 - Jul - 2007</td>
- <td>1.2.5 Release (Archived)</td>
+ <td>Archived</td>
</tr>
-
- <tr class="b">
- <td align="center" valign="middle">
- <a name="1_2_4"></a>
- 1.2.4
- </td>
- <td>Source Distribution
+ <tr>
+ <td><a name="1_2_4"/>1.2.4</td>
+ <td>
+ Source Distribution
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_4/axiom-1.2.4-src.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_4/axiom-1.2.4-src.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_4/axiom-1.2.4-src.zip.asc">PGP</a>
@@ -250,20 +220,14 @@
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_4/axiom-1.2.4-bin.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_4/axiom-1.2.4-bin.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_4/axiom-1.2.4-bin.zip.asc">PGP</a>
-
- <br/>
</td>
<td>20 - Apr - 2007</td>
- <td>1.2.4 Release (Archived)</td>
+ <td>Archived</td>
</tr>
-
-
- <tr class="b">
- <td align="center" valign="middle">
- <a name="1_2_3"></a>
- 1.2.3
- </td>
- <td>Source Distribution
+ <tr>
+ <td><a name="1_2_3"/>1.2.3</td>
+ <td>
+ Source Distribution
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_3/axiom-1.2.3-src.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_3/axiom-1.2.3-src.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_3/axiom-1.2.3-src.zip.asc">PGP</a>
@@ -272,19 +236,14 @@
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_3/axiom-1.2.3-bin.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_3/axiom-1.2.3-bin.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_3/axiom-1.2.3-bin.zip.asc">PGP</a>
-
- <br/>
</td>
<td>03 - Apr - 2007</td>
- <td>1.2.3 Release (Archived)</td>
+ <td>Archived</td>
</tr>
-
- <tr class="b">
- <td align="center" valign="middle">
- <a name="1_2_2"></a>
- 1.2.2
- </td>
- <td>Source Distribution
+ <tr>
+ <td><a name="1_2_2"/>1.2.2</td>
+ <td>
+ Source Distribution
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_2/axiom-1.2.2-src.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_2/axiom-1.2.2-src.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_2/axiom-1.2.2-src.zip.asc">PGP</a>
@@ -293,20 +252,14 @@
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_2/axiom-1.2.2-bin.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_2/axiom-1.2.2-bin.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_2/axiom-1.2.2-bin.zip.asc">PGP</a>
-
- <br/>
</td>
<td>09 - Jan - 2007</td>
- <td>1.2.2 Release (Archived)</td>
+ <td>Archived</td>
</tr>
-
-
- <tr class="b">
- <td align="center" valign="middle">
- <a name="1_2_1"></a>
- 1.2.1
- </td>
- <td>Source Distribution
+ <tr>
+ <td><a name="1_2_1"/>1.2.1</td>
+ <td>
+ Source Distribution
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_1/axiom-1.2.1-src.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_1/axiom-1.2.1-src.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_1/axiom-1.2.1-src.zip.asc">PGP</a>
@@ -315,20 +268,14 @@
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_1/axiom-1.2.1-bin.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_1/axiom-1.2.1-bin.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2_1/axiom-1.2.1-bin.zip.asc">PGP</a>
-
- <br/>
</td>
<td>30 - Nov - 2006</td>
- <td>1.2.1 Release (Archived)</td>
+ <td>Archived</td>
</tr>
-
-
- <tr class="b">
- <td align="center" valign="middle">
- <a name="1_2"></a>
- 1.2
- </td>
- <td>Source Distribution
+ <tr>
+ <td><a name="1_2"/>1.2</td>
+ <td>
+ Source Distribution
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2/axiom-1.2-src.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2/axiom-1.2-src.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2/axiom-1.2-src.zip.asc">PGP</a>
@@ -337,18 +284,12 @@
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2/axiom-1.2-bin.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2/axiom-1.2-bin.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_2/axiom-1.2-bin.zip.asc">PGP</a>
-
- <br/>
</td>
<td>13 - Nov - 2006</td>
- <td>1.2 Release (Archived)</td>
+ <td>Archived</td>
</tr>
-
- <tr class="b">
- <td align="center" valign="middle">
- <a name="09"></a>
- 1.1.1
- </td>
+ <tr>
+ <td><a name="1_1_1"/>1.1.1</td>
<td>Source Distribution
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_1_1/axiom-1.1.1-src.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_1_1/axiom-1.1.1-src.zip.md5">MD5</a> |
@@ -358,19 +299,14 @@
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_1_1/axiom-1.1.1-bin.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_1_1/axiom-1.1.1-bin.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_1_1/axiom-1.1.1-bin.zip.asc">PGP</a>
-
- <br/>
</td>
<td>18 - Sep - 2006</td>
- <td>1.1.1 Release (Archived)</td>
+ <td>Archived</td>
</tr>
-
- <tr class="b">
- <td align="center" valign="middle">
- <a name="1_1"></a>
- 1.1
- </td>
- <td>Source Distribution
+ <tr>
+ <td><a name="1_1"/>1.1</td>
+ <td>
+ Source Distribution
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_1/axiom-1.1-src.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_1/axiom-1.1-src.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_1/axiom-1.1-src.zip.asc">PGP</a>
@@ -379,24 +315,14 @@
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_1/axiom-1.1-bin.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_1/axiom-1.1-bin.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_1/axiom-1.1-bin.zip.asc">PGP</a>
-
- <br/>
</td>
<td>15 - Sep - 2006</td>
- <td>1.1 Release (Archived)
- <br/>
- Note : This released was compiled using JDK 1.5 and will not work with JDK 1.4. Please
- move to Axiom 1.1.1.
- </td>
+ <td>Archived</td>
</tr>
-
-
- <tr class="b">
- <td align="center" valign="middle">
- <a name="1_0"></a>
- 1.0
- </td>
- <td>Source Distribution
+ <tr>
+ <td><a name="1_0"/>1.0</td>
+ <td>
+ Source Distribution
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_0/axiom-1.0-src.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_0/axiom-1.0-src.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_0/axiom-1.0-src.zip.asc">PGP</a>
@@ -405,20 +331,14 @@
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_0/axiom-1.0-bin.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_0/axiom-1.0-bin.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/1_0/axiom-1.0-bin.zip.asc">PGP</a>
-
- <br/>
</td>
<td>02 - May - 2006</td>
- <td>1.0 Release (Archived)</td>
+ <td>Archived</td>
</tr>
-
-
- <tr class="b">
- <td align="center" valign="middle">
- <a name="0_95"></a>
- 0.95
- </td>
- <td>Source Distribution
+ <tr>
+ <td><a name="0_95"/>0.95</td>
+ <td>
+ Source Distribution
<a href="http://archive.apache.org/dist/ws/commons/axiom/0_95/axiom-0.95-src.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/0_95/axiom-0.95-src.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/0_95/axiom-0.95-src.zip.asc">PGP</a>
@@ -427,13 +347,10 @@
<a href="http://archive.apache.org/dist/ws/commons/axiom/0_95/axiom-0.95-bin.zip">zip</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/0_95/axiom-0.95-bin.zip.md5">MD5</a> |
<a href="http://archive.apache.org/dist/ws/commons/axiom/0_95/axiom-0.95-bin.zip.asc">PGP</a>
-
- <br/>
</td>
<td>23 - Mar - 2006</td>
- <td>0.95 Release (Archived)</td>
+ <td>Archived</td>
</tr>
-
</tbody>
</table>
</div>