You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by ve...@apache.org on 2009/03/16 22:19:01 UTC

svn commit: r755007 - in /webservices/commons/trunk/modules/axiom/src/site: fml/ fml/faq.fml site.xml

Author: veithen
Date: Mon Mar 16 21:19:00 2009
New Revision: 755007

URL: http://svn.apache.org/viewvc?rev=755007&view=rev
Log:
Added a FAQ section to the Maven site with two questions recently discussed on the mailing list.

Added:
    webservices/commons/trunk/modules/axiom/src/site/fml/
    webservices/commons/trunk/modules/axiom/src/site/fml/faq.fml
Modified:
    webservices/commons/trunk/modules/axiom/src/site/site.xml

Added: webservices/commons/trunk/modules/axiom/src/site/fml/faq.fml
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/src/site/fml/faq.fml?rev=755007&view=auto
==============================================================================
--- webservices/commons/trunk/modules/axiom/src/site/fml/faq.fml (added)
+++ webservices/commons/trunk/modules/axiom/src/site/fml/faq.fml Mon Mar 16 21:19:00 2009
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faqs xmlns="http://maven.apache.org/FML/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://maven.apache.org/FML/1.0 http://maven.apache.org/xsd/fml-1.0.xsd"
+      title="Frequently (and less frequently) Asked Questions"
+      toplink="false">
+    <part id="general">
+        <faq id="geronimo_deps">
+            <question>
+                I'm working with Maven and I have a dependency problem with the JavaMail and Activation
+                implementation from Sun and Geronimo. What's happening?
+            </question>
+            <answer>
+                <p>Axiom requires the Java Activation Framework and the JavaMail API to work. There are two
+                commonly used incarnations of these libraries: one is Sun's reference implementation, the other
+                is part of the <a href="http://geronimo.apache.org/">Geronimo</a> project. Axiom declares
+                dependencies on the Geronimo versions (though that might
+                <a href="https://issues.apache.org/jira/browse/WSCOMMONS-417">change</a> in the future).
+                If your project uses another library that depends on JAF and/or JavaMail, but that refers
+                to Sun's implementation, your project will end up with dependencies on two different
+                artifacts implementing the same API.</p>
+                <p>If you prefer Sun's implementations, then you should change the declaration of the
+                Axiom dependencies in your POM file as follow:</p> 
+<source><![CDATA[
+<dependency>
+    <groupId>org.apache.ws.commons.axiom</groupId>
+    <artifactId>axiom-xxx</artifactId>
+    <version>1.2.x</version>
+    <exclusions>
+        <exclusion>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-activation_1.1_spec</artifactId>
+        </exclusion>
+        <exclusion>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-javamail_1.4_spec</artifactId>
+        </exclusion>
+    </exclusions>
+</dependency>
+]]></source>
+                <p>If you prefer Geronimo's implementation, then you need to identify the libraries
+                depending on Sun's artifacts (<code>javax.activation:activation</code> and
+                <code>javax.mail:mail</code>) and add the relevant exclusions. You can use
+                <code>mvn dependency:tree</code> to easily identify where a transitive dependency
+                comes from.</p>
+                <p>The choice between Sun's and Geronimo's implementation is to a large extend
+                a question of belief. Note however that the <code>geronimo-javamail_1.4_spec</code>
+                artifact used by Axiom only contains the JavaMail API, while Sun's library
+                bundles the API together with the providers for IMAP and POP3. Depending on your
+                use case that might be an advantage or disadvantage.</p>
+            </answer>
+        </faq>
+        <faq id="dom">
+            <question>
+                I'm using Axiom, but I need to integrate with a library using DOM. What can I do?
+            </question>
+            <answer>
+                <p>There are currently two solutions:</p>
+                <ol>
+                    <li>Axiom separates API and implementation. The default implementation is called
+                    LLOM (Linked List Object Model) and provided by the <code>axiom-impl</code>
+                    artifact. There is also a second implementation called DOOM (DOM over OM) that
+                    implements both the Axiom API and DOM. It is provided by the <code>axiom-dom</code>
+                    artifact. You can use this implementation to integrate with DOM based code.
+                    Note however that the DOM implementation provided by DOOM is not perfect. In
+                    particular it doesn't implement DOM 3.</li>
+                    <li>Starting with version 1.2.8, Axiom has
+                    <a href="apidocs/org/apache/axiom/om/impl/jaxp/OMSource.html"><code>OMSource</code></a> and
+                    <a href="apidocs/org/apache/axiom/om/impl/jaxp/OMResult.html"><code>OMResult</code></a>
+                    classes which are implementations of JAXP's
+                    <a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/transform/Source.html"><code>Source</code></a> and
+                    <a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/transform/Result.html"><code>Result</code></a>
+                    classes. You can use these to transform an Axiom tree into DOM (using
+                    a standard implementation of DOM) and vice-versa. These two classes are based on
+                    <a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/transform/sax/SAXSource.html">SAXSource</a> and
+                    <a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/transform/sax/SAXResult.html">SAXResult</a>,
+                    which means that you loose the deferred parsing capabilities of Axiom, but in many cases this will be
+                    acceptable.</li>
+                </ol>
+            </answer>
+        </faq>
+    </part>
+</faqs>

Modified: webservices/commons/trunk/modules/axiom/src/site/site.xml
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/src/site/site.xml?rev=755007&r1=755006&r2=755007&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/src/site/site.xml (original)
+++ webservices/commons/trunk/modules/axiom/src/site/site.xml Mon Mar 16 21:19:00 2009
@@ -40,6 +40,7 @@
                 <item name="Changes" href="changes.html"/>
                 <item name="OM Tutorial" href="OMTutorial.html"/>
                 <item name="Javadocs" href="/apidocs/index.html"/>
+                <item name="FAQ" href="faq.html"/>
                 <item name="View Source" href="http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/?root=Apache-SVN"/>
             </item>
             <item name="Project Information">