dom4j 1.6.1: New recipe (for Jalimo SVN).
authorRobert Schuster <robertschuster@fsfe.org>
Fri, 18 Sep 2009 14:04:01 +0000 (16:04 +0200)
committerRobert Schuster <robertschuster@fsfe.org>
Fri, 18 Sep 2009 14:04:01 +0000 (16:04 +0200)
dom4j-native 1.6.1: Dito.
jaxen 1.1.1: Dito.
xom 1.1: Dito.
xpp2 2.1.10: Dito.
xpp3 1.1.3.4.0: Dito.

recipes/xml-commons/dom4j-1.6.1/debian.patch [new file with mode: 0644]
recipes/xml-commons/dom4j_1.6.1.bb [new file with mode: 0644]
recipes/xml-commons/jaxen_1.1.1.bb [new file with mode: 0644]
recipes/xml-commons/jdom_1.1.bb [new file with mode: 0644]
recipes/xml-commons/xom-1.1/04_remove_sun_import.patch [new file with mode: 0644]
recipes/xml-commons/xom_1.1.bb [new file with mode: 0644]
recipes/xml-commons/xpp2_2.1.10.bb [new file with mode: 0644]
recipes/xml-commons/xpp3_1.1.3.4.O.bb [new file with mode: 0644]

diff --git a/recipes/xml-commons/dom4j-1.6.1/debian.patch b/recipes/xml-commons/dom4j-1.6.1/debian.patch
new file mode 100644 (file)
index 0000000..87fda85
--- /dev/null
@@ -0,0 +1,1628 @@
+--- dom4j-1.6.1+dfsg.orig/src/java/org/jaxen/dom4j/DocumentNavigator.java
++++ dom4j-1.6.1+dfsg/src/java/org/jaxen/dom4j/DocumentNavigator.java
+@@ -0,0 +1,501 @@
++package org.jaxen.dom4j;
++
++/*
++ * $Header: /home/projects/jaxen/scm/jaxen/src/java/main/org/jaxen/dom4j/DocumentNavigator.java,v 1.33 2006/07/03 13:17:30 elharo Exp $
++ * $Revision: 1.33 $
++ * $Date: 2006/07/03 13:17:30 $
++ *
++ * ====================================================================
++ *
++ * Copyright 2000-2005 bob mcwhirter & James Strachan.
++ * All rights reserved.
++ *
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions are
++ * met:
++ * 
++ *   * Redistributions of source code must retain the above copyright
++ *     notice, this list of conditions and the following disclaimer.
++ * 
++ *   * Redistributions in binary form must reproduce the above copyright
++ *     notice, this list of conditions and the following disclaimer in the
++ *     documentation and/or other materials provided with the distribution.
++ * 
++ *   * Neither the name of the Jaxen Project nor the names of its
++ *     contributors may be used to endorse or promote products derived 
++ *     from this software without specific prior written permission.
++ * 
++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
++ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
++ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
++ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
++ * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
++ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
++ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
++ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
++ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
++ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
++ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ * ====================================================================
++ * This software consists of voluntary contributions made by many
++ * individuals on behalf of the Jaxen Project and was originally
++ * created by bob mcwhirter <bob@werken.com> and
++ * James Strachan <jstrachan@apache.org>.  For more information on the
++ * Jaxen Project, please see <http://www.jaxen.org/>.
++ *
++ * $Id: DocumentNavigator.java,v 1.33 2006/07/03 13:17:30 elharo Exp $
++*/
++
++import java.util.ArrayList;
++import java.util.HashSet;
++import java.util.Iterator;
++import java.util.List;
++
++import org.dom4j.Attribute;
++import org.dom4j.Branch;
++import org.dom4j.CDATA;
++import org.dom4j.Comment;
++import org.dom4j.Document;
++import org.dom4j.DocumentException;
++import org.dom4j.Element;
++import org.dom4j.Namespace;
++import org.dom4j.Node;
++import org.dom4j.ProcessingInstruction;
++import org.dom4j.QName;
++import org.dom4j.Text;
++import org.dom4j.io.SAXReader;
++import org.jaxen.DefaultNavigator;
++import org.jaxen.FunctionCallException;
++import org.jaxen.NamedAccessNavigator;
++import org.jaxen.Navigator;
++import org.jaxen.XPath;
++import org.jaxen.JaxenConstants;
++import org.jaxen.saxpath.SAXPathException;
++import org.jaxen.util.SingleObjectIterator;
++
++/** 
++ * Interface for navigating around the DOM4J object model.
++ *
++ * <p>
++ * This class is not intended for direct usage, but is
++ * used by the Jaxen engine during evaluation.
++ * </p>
++ *
++ * @see XPath
++ *
++ * @author <a href="mailto:bob@werken.com">bob mcwhirter</a>
++ * @author Stephen Colebourne
++ */
++public class DocumentNavigator extends DefaultNavigator implements NamedAccessNavigator
++{
++    
++    /**
++     * 
++     */
++    private static final long serialVersionUID = 5582300797286535936L;
++    private transient SAXReader reader;
++
++    /** Singleton implementation.
++     */
++    private static class Singleton
++    {
++        /** Singleton instance.
++         */
++        private static DocumentNavigator instance = new DocumentNavigator();
++    }
++
++    /** Retrieve the singleton instance of this <code>DocumentNavigator</code>.
++     */
++    public static Navigator getInstance()
++    {
++        return Singleton.instance;
++    }
++
++    public boolean isElement(Object obj)
++    {
++        return obj instanceof Element;
++    }
++
++    public boolean isComment(Object obj)
++    {
++        return obj instanceof Comment;
++    }
++
++    public boolean isText(Object obj)
++    {
++        return ( obj instanceof Text 
++                 ||
++                 obj instanceof CDATA );
++    }
++
++    public boolean isAttribute(Object obj)
++    {
++        return obj instanceof Attribute;
++    }
++
++    public boolean isProcessingInstruction(Object obj)
++    {
++        return obj instanceof ProcessingInstruction;
++    }
++
++    public boolean isDocument(Object obj)
++    {
++        return obj instanceof Document;
++    }
++
++    public boolean isNamespace(Object obj)
++    {
++        return obj instanceof Namespace;
++    }
++
++    public String getElementName(Object obj)
++    {
++        Element elem = (Element) obj;
++
++        return elem.getName();
++    }
++
++    public String getElementNamespaceUri(Object obj)
++    {
++        Element elem = (Element) obj;
++        
++        String uri = elem.getNamespaceURI();
++        if ( uri == null)
++            return "";
++        else
++            return uri;
++    }
++
++    public String getElementQName(Object obj)
++    {
++        Element elem = (Element) obj;
++
++        return elem.getQualifiedName();
++    }
++
++    public String getAttributeName(Object obj)
++    {
++        Attribute attr = (Attribute) obj;
++
++        return attr.getName();
++    }
++
++    public String getAttributeNamespaceUri(Object obj)
++    {
++        Attribute attr = (Attribute) obj;
++
++        String uri = attr.getNamespaceURI();
++        if ( uri == null)
++            return "";
++        else
++            return uri;
++    }
++
++    public String getAttributeQName(Object obj)
++    {
++        Attribute attr = (Attribute) obj;
++
++        return attr.getQualifiedName();
++    }
++
++    public Iterator getChildAxisIterator(Object contextNode)
++    {
++        Iterator result = null;
++        if ( contextNode instanceof Branch )
++        {
++            Branch node = (Branch) contextNode;
++            result = node.nodeIterator();
++        }
++        if (result != null) {
++            return result;
++        }
++        return JaxenConstants.EMPTY_ITERATOR;
++    }
++
++    /**
++     * Retrieves an <code>Iterator</code> over the child elements that
++     * match the supplied name.
++     *
++     * @param contextNode      the origin context node
++     * @param localName        the local name of the children to return, always present
++     * @param namespacePrefix  the prefix of the namespace of the children to return
++     * @param namespaceURI     the uri of the namespace of the children to return
++     * 
++     * @return an Iterator that traverses the named children, or null if none
++     */
++    public Iterator getChildAxisIterator(
++            Object contextNode, String localName, String namespacePrefix, String namespaceURI) {
++
++        if ( contextNode instanceof Element ) {
++            Element node = (Element) contextNode;
++            return node.elementIterator(QName.get(localName, namespacePrefix, namespaceURI));
++        }
++        if ( contextNode instanceof Document ) {
++            Document node = (Document) contextNode;
++            Element el = node.getRootElement();
++            if (el == null || el.getName().equals(localName) == false) {
++                return JaxenConstants.EMPTY_ITERATOR;
++            }
++            if (namespaceURI != null) {
++                if (namespaceURI.equals(el.getNamespaceURI()) == false) {
++                    return JaxenConstants.EMPTY_ITERATOR;
++                }
++            }
++            return new SingleObjectIterator(el);
++        }
++
++        return JaxenConstants.EMPTY_ITERATOR;
++    }
++
++    public Iterator getParentAxisIterator(Object contextNode)
++    {
++        if ( contextNode instanceof Document )
++        {
++            return JaxenConstants.EMPTY_ITERATOR;
++        }
++
++        Node node = (Node) contextNode;
++
++        Object parent = node.getParent();
++
++        if ( parent == null )
++        {
++            parent = node.getDocument();
++        }
++        
++        return new SingleObjectIterator( parent );
++    }
++
++    public Iterator getAttributeAxisIterator(Object contextNode)
++    {
++        if ( ! ( contextNode instanceof Element ) )
++        {
++            return JaxenConstants.EMPTY_ITERATOR;
++        }
++
++        Element elem = (Element) contextNode;
++
++        return elem.attributeIterator();
++    }
++
++    /**
++     * Retrieves an <code>Iterator</code> over the attribute elements that
++     * match the supplied name.
++     *
++     * @param contextNode  the origin context node
++     * @param localName  the local name of the attributes to return, always present
++     * @param namespacePrefix  the prefix of the namespace of the attributes to return
++     * @param namespaceURI  the URI of the namespace of the attributes to return
++     * @return an Iterator that traverses the named attributes, not null
++     */
++    public Iterator getAttributeAxisIterator(
++            Object contextNode, String localName, String namespacePrefix, String namespaceURI) {
++
++        if ( contextNode instanceof Element ) {
++            Element node = (Element) contextNode;
++            Attribute attr = node.attribute(QName.get(localName, namespacePrefix, namespaceURI));
++            if (attr == null) {
++                return JaxenConstants.EMPTY_ITERATOR;
++            }
++            return new SingleObjectIterator(attr);
++        }
++        return JaxenConstants.EMPTY_ITERATOR;
++    }
++        
++    public Iterator getNamespaceAxisIterator(Object contextNode)
++    {
++        if ( ! ( contextNode instanceof Element ) )
++        {
++            return JaxenConstants.EMPTY_ITERATOR;
++        }
++
++        Element element = (Element) contextNode;
++        List nsList = new ArrayList();
++        HashSet prefixes = new HashSet();
++        for ( Element context = element; context != null; context = context.getParent() ) {
++            List declaredNS = new ArrayList(context.declaredNamespaces());
++            declaredNS.add(context.getNamespace());
++
++            for ( Iterator iter = context.attributes().iterator(); iter.hasNext(); )
++            {
++                Attribute attr = (Attribute) iter.next();
++                declaredNS.add(attr.getNamespace());
++            }
++
++            for ( Iterator iter = declaredNS.iterator(); iter.hasNext(); )
++            {
++                Namespace namespace = (Namespace) iter.next();
++                if (namespace != Namespace.NO_NAMESPACE)
++                {
++                    String prefix = namespace.getPrefix();
++                    if ( ! prefixes.contains( prefix ) ) {
++                        prefixes.add( prefix );
++                        nsList.add( namespace.asXPathResult( element ) );
++                    }
++                }
++            }
++        }
++        nsList.add( Namespace.XML_NAMESPACE.asXPathResult( element ) );
++        return nsList.iterator();
++    }
++
++    public Object getDocumentNode(Object contextNode)
++    {
++        if ( contextNode instanceof Document ) 
++        {
++            return contextNode;
++        }
++        else if ( contextNode instanceof Node ) 
++        {
++            Node node = (Node) contextNode;
++            return node.getDocument();
++        }
++        return null;
++    }
++
++    /** Returns a parsed form of the given XPath string, which will be suitable
++     *  for queries on DOM4J documents.
++     */
++    public XPath parseXPath (String xpath) throws SAXPathException
++    {
++        return new Dom4jXPath(xpath);
++    }
++
++    public Object getParentNode(Object contextNode)
++    {
++        if ( contextNode instanceof Node ) 
++        {
++            Node node = (Node) contextNode;
++            Object answer = node.getParent();
++            if ( answer == null ) 
++            {
++                answer = node.getDocument();
++                if (answer == contextNode) {
++                    return null;
++                }
++            }
++            return answer;            
++        }
++        return null;
++    }
++
++    public String getTextStringValue(Object obj)
++    {
++        return getNodeStringValue( (Node) obj );
++    }
++
++    public String getElementStringValue(Object obj)
++    {
++        return getNodeStringValue( (Node) obj );
++    }
++
++    public String getAttributeStringValue(Object obj)
++    {
++        return getNodeStringValue( (Node) obj );
++    }
++
++    private String getNodeStringValue(Node node)
++    {
++        return node.getStringValue();
++    }
++
++    public String getNamespaceStringValue(Object obj)
++    {
++        Namespace ns = (Namespace) obj;
++
++        return ns.getURI();
++    }
++
++    public String getNamespacePrefix(Object obj)
++    {
++        Namespace ns = (Namespace) obj;
++
++        return ns.getPrefix();
++    }
++
++    public String getCommentStringValue(Object obj)
++    {
++        Comment cmt = (Comment) obj;
++
++        return cmt.getText();
++    }
++    
++    public String translateNamespacePrefixToUri(String prefix, Object context)
++    {
++        Element element = null;
++        if ( context instanceof Element ) 
++        {
++            element = (Element) context;
++        }
++        else if ( context instanceof Node )
++        {
++            Node node = (Node) context;
++            element = node.getParent();
++        }
++        if ( element != null )
++        {
++            Namespace namespace = element.getNamespaceForPrefix( prefix );
++
++            if ( namespace != null ) 
++            {
++                return namespace.getURI();
++            }
++        }
++        return null;
++    }
++    
++    public short getNodeType(Object node) 
++    {
++        if ( node instanceof Node )
++        {
++            return ((Node) node).getNodeType();
++        }
++        return 0;
++    }
++    
++    public Object getDocument(String uri) throws FunctionCallException
++    {
++        try
++        {
++            return getSAXReader().read( uri );
++        }
++        catch (DocumentException e)
++        {
++            throw new FunctionCallException("Failed to parse document for URI: " + uri, e);
++        }
++    }
++
++    public String getProcessingInstructionTarget(Object obj)
++    {
++        ProcessingInstruction pi = (ProcessingInstruction) obj;
++
++        return pi.getTarget();
++    }
++
++    public String getProcessingInstructionData(Object obj)
++    {
++        ProcessingInstruction pi = (ProcessingInstruction) obj;
++
++        return pi.getText();
++    }
++    
++    // Properties
++    //-------------------------------------------------------------------------    
++    public SAXReader getSAXReader()
++    {
++        if ( reader == null ) 
++        {
++            reader = new SAXReader();
++            reader.setMergeAdjacentText( true );
++        }
++        return reader;
++    }
++    
++    public void setSAXReader(SAXReader reader)
++    {
++        this.reader = reader;
++    }
++    
++}
+--- dom4j-1.6.1+dfsg.orig/src/java/org/jaxen/dom4j/Dom4jXPath.java
++++ dom4j-1.6.1+dfsg/src/java/org/jaxen/dom4j/Dom4jXPath.java
+@@ -0,0 +1,94 @@
++/*
++ * $Header: /home/projects/jaxen/scm/jaxen/src/java/main/org/jaxen/dom4j/Dom4jXPath.java,v 1.8 2006/06/03 20:44:53 elharo Exp $
++ * $Revision: 1.8 $
++ * $Date: 2006/06/03 20:44:53 $
++ *
++ * ====================================================================
++ *
++ * Copyright 2000-2002 bob mcwhirter & James Strachan.
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions are
++ * met:
++ * 
++ *   * Redistributions of source code must retain the above copyright
++ *     notice, this list of conditions and the following disclaimer.
++ * 
++ *   * Redistributions in binary form must reproduce the above copyright
++ *     notice, this list of conditions and the following disclaimer in the
++ *     documentation and/or other materials provided with the distribution.
++ * 
++ *   * Neither the name of the Jaxen Project nor the names of its
++ *     contributors may be used to endorse or promote products derived 
++ *     from this software without specific prior written permission.
++ * 
++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
++ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
++ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
++ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
++ * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
++ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
++ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
++ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
++ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
++ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
++ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ * ====================================================================
++ * This software consists of voluntary contributions made by many 
++ * individuals on behalf of the Jaxen Project and was originally 
++ * created by bob mcwhirter <bob@werken.com> and 
++ * James Strachan <jstrachan@apache.org>.  For more information on the 
++ * Jaxen Project, please see <http://www.jaxen.org/>.
++ * 
++ * $Id: Dom4jXPath.java,v 1.8 2006/06/03 20:44:53 elharo Exp $
++ */
++
++
++
++package org.jaxen.dom4j;
++
++import org.jaxen.BaseXPath;
++import org.jaxen.JaxenException;
++
++/** An XPath implementation for the dom4j model
++ *
++ * <p>This is the main entry point for matching an XPath against a DOM
++ * tree.  You create a compiled XPath object, then match it against
++ * one or more context nodes using the {@link #selectNodes(Object)}
++ * method, as in the following example:</p>
++ *
++ * <pre>
++ * Node node = ...;
++ * XPath path = new Dom4jXPath("a/b/c");
++ * List results = path.selectNodes(node);
++ * </pre>
++ *
++ * @see BaseXPath
++ * @see <a href="http://dom4j.org/">The dom4j website</a>
++ *
++ * @author <a href="mailto:bob@werken.com">bob mcwhirter</a>
++ * @author <a href="mailto:jstachan@apache.org">James Strachan</a>
++ *
++ * @version $Revision: 1.8 $
++ */
++public class Dom4jXPath extends BaseXPath
++{
++    /**
++     * 
++     */
++    private static final long serialVersionUID = -75510941087659775L;
++
++    /** Construct given an XPath expression string.
++     *
++     *  @param xpathExpr the XPath expression
++     *
++     *  @throws JaxenException if there is a syntax error while
++     *          parsing the expression
++     */
++    public Dom4jXPath(String xpathExpr) throws JaxenException
++    {
++        super( xpathExpr, DocumentNavigator.getInstance() );
++    }
++} 
+--- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMAttribute.java
++++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMAttribute.java
+@@ -14,7 +14,10 @@
+ import org.w3c.dom.DOMException;\r
+ import org.w3c.dom.Document;\r
+ import org.w3c.dom.NamedNodeMap;\r
++import org.w3c.dom.Node;\r
+ import org.w3c.dom.NodeList;\r
++import org.w3c.dom.TypeInfo;\r
++import org.w3c.dom.UserDataHandler;\r
\r
+ /**\r
+  * <p>\r
+@@ -179,6 +182,76 @@
+     public org.w3c.dom.Element getOwnerElement() {\r
+         return DOMNodeHelper.asDOMElement(getParent());\r
+     }\r
++\r
++    public TypeInfo getSchemaTypeInfo() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isId() {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String getBaseURI() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public short compareDocumentPosition(Node other) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return 0;\r
++    }\r
++\r
++    public String getTextContent() throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public void setTextContent(String textContent) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      \r
++    }\r
++\r
++    public boolean isSameNode(Node other) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupPrefix(String namespaceURI) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isDefaultNamespace(String namespaceURI) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupNamespaceURI(String prefix) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isEqualNode(Node arg) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public Object getFeature(String feature, String version) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object setUserData(String key, Object data, UserDataHandler handler) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object getUserData(String key) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
+ }\r
\r
+ /*\r
+--- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMCDATA.java
++++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMCDATA.java
+@@ -14,7 +14,10 @@
+ import org.w3c.dom.DOMException;\r
+ import org.w3c.dom.Document;\r
+ import org.w3c.dom.NamedNodeMap;\r
++import org.w3c.dom.Node;\r
+ import org.w3c.dom.NodeList;\r
++import org.w3c.dom.Text;\r
++import org.w3c.dom.UserDataHandler;\r
\r
+ /**\r
+  * <p>\r
+@@ -225,6 +228,81 @@
+     protected CDATA createCDATA(String text) {\r
+         return new DOMCDATA(text);\r
+     }\r
++\r
++    public boolean isElementContentWhitespace() {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String getWholeText() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Text replaceWholeText(String content) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public String getBaseURI() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public short compareDocumentPosition(Node other) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return 0;\r
++    }\r
++\r
++    public String getTextContent() throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public void setTextContent(String textContent) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      \r
++    }\r
++\r
++    public boolean isSameNode(Node other) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupPrefix(String namespaceURI) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isDefaultNamespace(String namespaceURI) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupNamespaceURI(String prefix) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isEqualNode(Node arg) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public Object getFeature(String feature, String version) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object setUserData(String key, Object data, UserDataHandler handler) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object getUserData(String key) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
+ }\r
\r
+ /*\r
+--- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMComment.java
++++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMComment.java
+@@ -13,7 +13,9 @@
+ import org.w3c.dom.DOMException;\r
+ import org.w3c.dom.Document;\r
+ import org.w3c.dom.NamedNodeMap;\r
++import org.w3c.dom.Node;\r
+ import org.w3c.dom.NodeList;\r
++import org.w3c.dom.UserDataHandler;\r
\r
+ /**\r
+  * <p>\r
+@@ -187,6 +189,66 @@
+             throws DOMException {\r
+         DOMNodeHelper.replaceData(this, offset, count, arg);\r
+     }\r
++\r
++    public String getBaseURI() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public short compareDocumentPosition(Node other) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return 0;\r
++    }\r
++\r
++    public String getTextContent() throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public void setTextContent(String textContent) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      \r
++    }\r
++\r
++    public boolean isSameNode(Node other) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupPrefix(String namespaceURI) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isDefaultNamespace(String namespaceURI) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupNamespaceURI(String prefix) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isEqualNode(Node arg) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public Object getFeature(String feature, String version) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object setUserData(String key, Object data, UserDataHandler handler) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object getUserData(String key) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
+ }\r
\r
+ /*\r
+--- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMDocumentFactory.java
++++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMDocumentFactory.java
+@@ -174,6 +174,11 @@
+                     docType.getPublicId(), docType.getSystemId());\r
+         }\r
+     }\r
++\r
++    public Object getFeature(String arg0, String arg1) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
+ }\r
\r
\r
+@@ -213,4 +218,4 @@
+  * POSSIBILITY OF SUCH DAMAGE.\r
+  * \r
+  * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.\r
+- */
+\ No newline at end of file
++ */\r
+--- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMDocument.java
++++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMDocument.java
+@@ -15,12 +15,15 @@
\r
+ import org.w3c.dom.Attr;\r
+ import org.w3c.dom.CDATASection;\r
++import org.w3c.dom.DOMConfiguration;\r
+ import org.w3c.dom.DOMException;\r
+ import org.w3c.dom.Document;\r
+ import org.w3c.dom.EntityReference;\r
+ import org.w3c.dom.NamedNodeMap;\r
++import org.w3c.dom.Node;\r
+ import org.w3c.dom.NodeList;\r
+ import org.w3c.dom.ProcessingInstruction;\r
++import org.w3c.dom.UserDataHandler;\r
\r
+ /**\r
+  * <p>\r
+@@ -301,6 +304,136 @@
+             return super.getDocumentFactory();\r
+         }\r
+     }\r
++\r
++    public String getInputEncoding() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public String getXmlEncoding() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean getXmlStandalone() {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public void setXmlStandalone(boolean arg0) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      \r
++    }\r
++\r
++    public String getXmlVersion() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public void setXmlVersion(String arg0) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      \r
++    }\r
++\r
++    public boolean getStrictErrorChecking() {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public void setStrictErrorChecking(boolean arg0) {\r
++      // TODO Auto-generated method stub\r
++      \r
++    }\r
++\r
++    public String getDocumentURI() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public void setDocumentURI(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      \r
++    }\r
++\r
++    public Node adoptNode(Node arg0) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public DOMConfiguration getDomConfig() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public void normalizeDocument() {\r
++      // TODO Auto-generated method stub\r
++      \r
++    }\r
++\r
++    public Node renameNode(Node arg0, String arg1, String arg2) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public String getBaseURI() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public short compareDocumentPosition(Node arg0) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return 0;\r
++    }\r
++\r
++    public String getTextContent() throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public void setTextContent(String arg0) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      \r
++    }\r
++\r
++    public boolean isSameNode(Node arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupPrefix(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isDefaultNamespace(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupNamespaceURI(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isEqualNode(Node arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public Object getFeature(String arg0, String arg1) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object setUserData(String arg0, Object arg1, UserDataHandler arg2) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object getUserData(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
+ }\r
\r
+ /*\r
+--- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMDocumentType.java
++++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMDocumentType.java
+@@ -12,7 +12,9 @@
+ import org.w3c.dom.DOMException;\r
+ import org.w3c.dom.Document;\r
+ import org.w3c.dom.NamedNodeMap;\r
++import org.w3c.dom.Node;\r
+ import org.w3c.dom.NodeList;\r
++import org.w3c.dom.UserDataHandler;\r
\r
+ /**\r
+  * <p>\r
+@@ -177,6 +179,66 @@
+     public String getInternalSubset() {\r
+         return getElementName();\r
+     }\r
++\r
++    public String getBaseURI() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public short compareDocumentPosition(Node arg0) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return 0;\r
++    }\r
++\r
++    public String getTextContent() throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public void setTextContent(String arg0) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      \r
++    }\r
++\r
++    public boolean isSameNode(Node arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupPrefix(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isDefaultNamespace(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupNamespaceURI(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isEqualNode(Node arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public Object getFeature(String arg0, String arg1) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object setUserData(String arg0, Object arg1, UserDataHandler arg2) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object getUserData(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
+ }\r
\r
+ /*\r
+--- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMElement.java
++++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMElement.java
+@@ -16,11 +16,14 @@
+ import org.dom4j.QName;\r
+ import org.dom4j.tree.DefaultElement;\r
\r
++import org.w3c.dom.Attr;\r
+ import org.w3c.dom.DOMException;\r
+ import org.w3c.dom.Document;\r
+ import org.w3c.dom.NamedNodeMap;\r
+ import org.w3c.dom.Node;\r
+ import org.w3c.dom.NodeList;\r
++import org.w3c.dom.TypeInfo;\r
++import org.w3c.dom.UserDataHandler;\r
\r
+ /**\r
+  * <p>\r
+@@ -389,6 +392,86 @@
\r
+         return getDocumentFactory().createQName(localName, prefix, namespace);\r
+     }\r
++\r
++    public TypeInfo getSchemaTypeInfo() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public void setIdAttribute(String arg0, boolean arg1) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      \r
++    }\r
++\r
++    public void setIdAttributeNS(String arg0, String arg1, boolean arg2) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      \r
++    }\r
++\r
++    public void setIdAttributeNode(Attr arg0, boolean arg1) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      \r
++    }\r
++\r
++    public String getBaseURI() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public short compareDocumentPosition(Node arg0) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return 0;\r
++    }\r
++\r
++    public String getTextContent() throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public void setTextContent(String arg0) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      \r
++    }\r
++\r
++    public boolean isSameNode(Node arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupPrefix(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isDefaultNamespace(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupNamespaceURI(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isEqualNode(Node arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public Object getFeature(String arg0, String arg1) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object setUserData(String arg0, Object arg1, UserDataHandler arg2) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object getUserData(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
+ }\r
\r
+ /*\r
+--- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMEntityReference.java
++++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMEntityReference.java
+@@ -13,7 +13,9 @@
+ import org.w3c.dom.DOMException;\r
+ import org.w3c.dom.Document;\r
+ import org.w3c.dom.NamedNodeMap;\r
++import org.w3c.dom.Node;\r
+ import org.w3c.dom.NodeList;\r
++import org.w3c.dom.UserDataHandler;\r
\r
+ /**\r
+  * <p>\r
+@@ -166,6 +168,66 @@
+     public boolean hasAttributes() {\r
+         return DOMNodeHelper.hasAttributes(this);\r
+     }\r
++\r
++    public String getBaseURI() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public short compareDocumentPosition(Node arg0) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return 0;\r
++    }\r
++\r
++    public String getTextContent() throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public void setTextContent(String arg0) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      \r
++    }\r
++\r
++    public boolean isSameNode(Node arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupPrefix(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isDefaultNamespace(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupNamespaceURI(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isEqualNode(Node arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public Object getFeature(String arg0, String arg1) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object setUserData(String arg0, Object arg1, UserDataHandler arg2) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object getUserData(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
+ }\r
\r
+ /*\r
+--- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMNamespace.java
++++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMNamespace.java
+@@ -13,7 +13,9 @@
+ import org.w3c.dom.DOMException;\r
+ import org.w3c.dom.Document;\r
+ import org.w3c.dom.NamedNodeMap;\r
++import org.w3c.dom.Node;\r
+ import org.w3c.dom.NodeList;\r
++import org.w3c.dom.UserDataHandler;\r
\r
+ /**\r
+  * <p>\r
+@@ -140,6 +142,66 @@
+     public boolean hasAttributes() {\r
+         return DOMNodeHelper.hasAttributes(this);\r
+     }\r
++\r
++    public String getBaseURI() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public short compareDocumentPosition(Node arg0) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return 0;\r
++    }\r
++\r
++    public String getTextContent() throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public void setTextContent(String arg0) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      \r
++    }\r
++\r
++    public boolean isSameNode(Node arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupPrefix(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isDefaultNamespace(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupNamespaceURI(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isEqualNode(Node arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public Object getFeature(String arg0, String arg1) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object setUserData(String arg0, Object arg1, UserDataHandler arg2) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object getUserData(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
+ }\r
\r
+ /*\r
+--- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMProcessingInstruction.java
++++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMProcessingInstruction.java
+@@ -15,7 +15,9 @@
+ import org.w3c.dom.DOMException;\r
+ import org.w3c.dom.Document;\r
+ import org.w3c.dom.NamedNodeMap;\r
++import org.w3c.dom.Node;\r
+ import org.w3c.dom.NodeList;\r
++import org.w3c.dom.UserDataHandler;\r
\r
+ /**\r
+  * <p>\r
+@@ -177,6 +179,66 @@
+         }\r
+     }\r
\r
++    public String getBaseURI() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public short compareDocumentPosition(Node arg0) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return 0;\r
++    }\r
++\r
++    public String getTextContent() throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public void setTextContent(String arg0) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      \r
++    }\r
++\r
++    public boolean isSameNode(Node arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupPrefix(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isDefaultNamespace(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupNamespaceURI(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isEqualNode(Node arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public Object getFeature(String arg0, String arg1) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object setUserData(String arg0, Object arg1, UserDataHandler arg2) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object getUserData(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
+     // Implementation methods\r
+     // -------------------------------------------------------------------------\r
+ }\r
+--- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/dom/DOMText.java
++++ dom4j-1.6.1+dfsg/src/java/org/dom4j/dom/DOMText.java
+@@ -14,7 +14,9 @@
+ import org.w3c.dom.DOMException;\r
+ import org.w3c.dom.Document;\r
+ import org.w3c.dom.NamedNodeMap;\r
++import org.w3c.dom.Node;\r
+ import org.w3c.dom.NodeList;\r
++import org.w3c.dom.UserDataHandler;\r
\r
+ /**\r
+  * <p>\r
+@@ -224,6 +226,81 @@
+     protected Text createText(String text) {\r
+         return new DOMText(text);\r
+     }\r
++\r
++    public boolean isElementContentWhitespace() {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String getWholeText() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public org.w3c.dom.Text replaceWholeText(String arg0) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public String getBaseURI() {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public short compareDocumentPosition(Node arg0) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return 0;\r
++    }\r
++\r
++    public String getTextContent() throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public void setTextContent(String arg0) throws DOMException {\r
++      // TODO Auto-generated method stub\r
++      \r
++    }\r
++\r
++    public boolean isSameNode(Node arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupPrefix(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isDefaultNamespace(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public String lookupNamespaceURI(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public boolean isEqualNode(Node arg0) {\r
++      // TODO Auto-generated method stub\r
++      return false;\r
++    }\r
++\r
++    public Object getFeature(String arg0, String arg1) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object setUserData(String arg0, Object arg1, UserDataHandler arg2) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
++\r
++    public Object getUserData(String arg0) {\r
++      // TODO Auto-generated method stub\r
++      return null;\r
++    }\r
+ }\r
\r
+ /*\r
+--- dom4j-1.6.1+dfsg.orig/src/java/org/dom4j/tree/NamespaceCache.java
++++ dom4j-1.6.1+dfsg/src/java/org/dom4j/tree/NamespaceCache.java
+@@ -26,42 +26,46 @@
+  * @version $Revision: 1.15 $\r
+  */\r
+ public class NamespaceCache {\r
+-    private static final String CONCURRENTREADERHASHMAP_CLASS\r
+-            = "EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap";\r
++    private static final String BACKPORT_CONCURRENTHASHMAP_CLASS\r
++        = "edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap";\r
++    private static final String OSWEGO_CONCURRENTHASHMAP_CLASS\r
++        = "EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap";\r
\r
+     /**\r
+      * Cache of {@link Map}instances indexed by URI which contain caches of\r
+      * {@link Namespace}for each prefix\r
+      */\r
+-    protected static Map cache;\r
++    protected static Map cache = newConcurrentHashMap();\r
\r
+     /**\r
+      * Cache of {@link Namespace}instances indexed by URI for default\r
+      * namespaces with no prefixes\r
+      */\r
+-    protected static Map noPrefixCache;\r
++    protected static Map noPrefixCache = newConcurrentHashMap();\r
\r
+-    static {\r
++    protected static Map newConcurrentHashMap()\r
++    {\r
+         /* Try the java.util.concurrent.ConcurrentHashMap first. */\r
+         try {\r
+             Class clazz = Class\r
+                     .forName("java.util.concurrent.ConcurrentHashMap");\r
+             Constructor construct = clazz.getConstructor(new Class[] {\r
+                     Integer.TYPE, Float.TYPE, Integer.TYPE });\r
+-            cache = (Map) construct.newInstance(new Object[] {new Integer(11),\r
++            return (Map) construct.newInstance(new Object[] {new Integer(11),\r
+                     new Float(0.75f), new Integer(1) });\r
+-            noPrefixCache = (Map) construct.newInstance(new Object[] {\r
+-                    new Integer(11), new Float(0.75f), new Integer(1) });\r
+         } catch (Throwable t1) {\r
+-            /* Try to use the util.concurrent library (if in classpath) */\r
+             try {\r
+-                Class clazz = Class.forName(CONCURRENTREADERHASHMAP_CLASS);\r
+-                cache = (Map) clazz.newInstance();\r
+-                noPrefixCache = (Map) clazz.newInstance();\r
++                /* Try to use the backport-util-concurrent library */\r
++                Class clazz = Class.forName(BACKPORT_CONCURRENTHASHMAP_CLASS);\r
++                return (Map) clazz.newInstance();\r
+             } catch (Throwable t2) {\r
+-                /* If previous implementations fail, use internal one */\r
+-                cache = new ConcurrentReaderHashMap();\r
+-                noPrefixCache = new ConcurrentReaderHashMap();\r
++                try {\r
++                    /* Try to use the oswego concurrent library */\r
++                    Class clazz = Class.forName(OSWEGO_CONCURRENTHASHMAP_CLASS);\r
++                    return (Map) clazz.newInstance();\r
++                } catch (Throwable t3) {\r
++                    return null;\r
++                }\r
+             }\r
+         }\r
+     }\r
+@@ -154,7 +158,7 @@
+                 answer = (Map) cache.get(uri);\r
\r
+                 if (answer == null) {\r
+-                    answer = new ConcurrentReaderHashMap();\r
++                    answer = newConcurrentHashMap();\r
+                     cache.put(uri, answer);\r
+                 }\r
+             }\r
diff --git a/recipes/xml-commons/dom4j_1.6.1.bb b/recipes/xml-commons/dom4j_1.6.1.bb
new file mode 100644 (file)
index 0000000..343e1d9
--- /dev/null
@@ -0,0 +1,30 @@
+DESCRIPTION = "dom4j is a simple and flexible Java library for working with XML, XPath and XSLT"
+LICENSE = "BSD"
+
+HOMEPAGE = "http://dom4j.org
+
+DEPENDS = "fastjar-native xerces-j xalan-j xpp2 xpp3 jaxen"
+
+SRC_URI = "\
+       ${SOURCEFORGE_MIRROR}/dom4j/${P}.tar.gz \
+       http://apache.org/dist/ws/jaxme/source/ws-jaxme-0.5.2-src.tar.gz \
+       file://debian.patch;patch=1 \
+       "
+
+inherit java-library
+
+do_compile() {
+  mkdir -p build
+
+  oe_makeclasspath cp -s xercesImpl xalan2 xpp2 xpp3 jaxen
+       scp="src/java:${WORKDIR}/ws-jaxme-0.5.2/src/api"
+
+  javac -sourcepath $scp -cp $cp -d build `find src/java -name "*.java" -and -not -wholename "*datatype*"`
+  (cd src && find org -name "*.properties" -exec cp {} ../build/{} \;)
+
+       rm -rf build/org/w3c
+       rm -rf build/javax
+
+  fastjar -C build -c -f ${JARFILENAME} .
+}
+
diff --git a/recipes/xml-commons/jaxen_1.1.1.bb b/recipes/xml-commons/jaxen_1.1.1.bb
new file mode 100644 (file)
index 0000000..d78f303
--- /dev/null
@@ -0,0 +1,28 @@
+DESCRIPTION = "XPath library written in Java"
+LICENSE = "BSD"
+
+HOMEPAGE = "http://jaxen.codehaus.org/
+
+DEPENDS = "fastjar-native xerces-j xom"
+
+SRC_URI = "\
+       http://dist.codehaus.org/jaxen/distributions/jaxen-${PV}-src.tar.gz \
+       http://www.jdom.org/dist/binary/archive/jdom-1.1.tar.gz \
+       "
+
+inherit java-library
+
+do_compile() {
+  mkdir -p build
+
+  oe_makeclasspath cp -s xercesImpl xom
+       scp="src/java/main:${WORKDIR}/jdom-1.1/src/java"
+
+  javac -sourcepath $scp -cp $cp -d build `find src/java/main -name "*.java" -and -not -wholename "*dom4j*"`
+  (cd src && find org -name "*.properties" -exec cp {} ../build/{} \;)
+
+       rm -rf build/org/jdom
+
+  fastjar -C build -c -f ${JARFILENAME} .
+}
+
diff --git a/recipes/xml-commons/jdom_1.1.bb b/recipes/xml-commons/jdom_1.1.bb
new file mode 100644 (file)
index 0000000..e4be922
--- /dev/null
@@ -0,0 +1,23 @@
+DESCRIPTION = "Parses, manipulates, and outputs XML using standard Java constructs"
+LICENSE = "BSD"
+
+HOMEPAGE = "http://jdom.org/
+
+DEPENDS = "fastjar-native jaxen"
+
+SRC_URI = "\
+       http://www.jdom.org/dist/binary/archive/jdom-${PV}.tar.gz \
+       "
+
+inherit java-library
+
+do_compile() {
+  mkdir -p build
+
+  oe_makeclasspath cp -s jaxen
+
+  javac -sourcepath src/java -cp $cp -d build `find src/java -name "*.java"`
+
+  fastjar -C build -c -f ${JARFILENAME} .
+}
+
diff --git a/recipes/xml-commons/xom-1.1/04_remove_sun_import.patch b/recipes/xml-commons/xom-1.1/04_remove_sun_import.patch
new file mode 100644 (file)
index 0000000..71f659d
--- /dev/null
@@ -0,0 +1,27 @@
+diff -Nur xom-1.1/src15/nu/xom/JDK15XML1_0Parser.java xom-1.1.new/src15/nu/xom/JDK15XML1_0Parser.java
+--- xom-1.1/src15/nu/xom/JDK15XML1_0Parser.java        2004-08-17 19:18:30.000000000 +0530
++++ xom-1.1.new/src15/nu/xom/JDK15XML1_0Parser.java    2007-11-13 15:25:08.000000000 +0530
+@@ -24,9 +24,9 @@
+ import org.xml.sax.SAXException;
+-import com.sun.org.apache.xerces.internal.parsers.SAXParser;
+-import com.sun.org.apache.xerces.internal.parsers.DTDConfiguration;
+-import com.sun.org.apache.xerces.internal.impl.Constants
++import org.apache.xerces.parsers.SAXParser;
++import org.apache.xerces.parsers.DTDConfiguration;
++import org.apache.xerces.impl.Constants
+ ;
+ /**
+  * <p>
+@@ -47,8 +47,8 @@
+       
+         super(new DTDConfiguration());
+         // workaround for Java 1.5 beta 2 bugs
+-        com.sun.org.apache.xerces.internal.util.SecurityManager manager 
+-          = new com.sun.org.apache.xerces.internal.util.SecurityManager();
++        org.apache.xerces.util.SecurityManager manager 
++          = new org.apache.xerces.util.SecurityManager();
+         setProperty(Constants.XERCES_PROPERTY_PREFIX + Constants.SECURITY_MANAGER_PROPERTY, manager);
+         
+     }
diff --git a/recipes/xml-commons/xom_1.1.bb b/recipes/xml-commons/xom_1.1.bb
new file mode 100644 (file)
index 0000000..1ef64a4
--- /dev/null
@@ -0,0 +1,37 @@
+DESCRIPTION = "Tree-based API for processing XML with Java"
+LICENSE = "LGPL"
+
+HOMEPAGE = "http://xom.nu"
+
+SRC_URI = "\
+       http://www.cafeconleche.org/XOM/${P}-src.tar.gz \
+       http://dist.codehaus.org/jaxen/distributions/jaxen-1.1.1-src.tar.gz \
+       file://04_remove_sun_import.patch;patch=1 \
+       "
+
+S = "${WORKDIR}/XOM"
+
+inherit java-library
+
+DEPENDS = "fastjar-native xerces-j xalan-j"
+
+do_compile() {
+  mkdir -p build
+
+       oe_makeclasspath cp -s xercesImpl xalan2
+  cp=build:$cp
+
+       scp="${WORKDIR}/jaxen-1.1.1/src/java/main"
+                 
+  javac -sourcepath src:$scp -cp $cp -d build `find src -name "*.java" -and -not \( -wholename "*tests*" -or -wholename "*samples*" -or -wholename "*tools*" \)`
+  javac -sourcepath fatsrc:$scp -cp $cp -d build `find fatsrc -name "*.java" -and -not \( -wholename "*tests*" -or -wholename "*samples*" -or -wholename "*tools*" \)`
+  javac -sourcepath src15:$scp -cp $cp -d build `find src15 -name "*.java" -and -not \( -wholename "*tests*" -or -wholename "*samples*" -or -wholename "*tools*" \)`
+
+  (cd src && find . -name "*.properties" -exec cp {} ../build/{} \;)
+
+       #       Remove Jaxen classes from build
+       rm -rf build/org/jaxen
+       rm -rf build/org/w3c
+
+  fastjar -C build -c -f ${JARFILENAME} .
+}
diff --git a/recipes/xml-commons/xpp2_2.1.10.bb b/recipes/xml-commons/xpp2_2.1.10.bb
new file mode 100644 (file)
index 0000000..0321ea6
--- /dev/null
@@ -0,0 +1,31 @@
+DESCRIPTION = "Streaming pull XML parser for java"
+LICENSE = "BSD-like"
+
+HOMEPAGE = "http://www.extreme.indiana.edu/xgws/xsoap/xpp/"
+
+SRC_URI = "http://www.extreme.indiana.edu/xgws/xsoap/xpp/download/PullParser2/PullParser2.1.10.tgz"
+
+S = "${WORKDIR}/PullParser${PV}"
+
+inherit java-library
+
+DEPENDS = "fastjar-native virtual/javac-native"
+
+do_compile() {
+       if [ -d build-oe ]; then
+               rm -rf build-oe
+       fi
+  mkdir -p build-oe
+
+       sourcepath="src/java/drivers/jaxp11:src/java/drivers/sax2:src/java/impl/factory:src/java/impl/format:src/java/impl/node:src/java/impl/pullparser:src/java/impl/tag:src/java/intf"
+
+       findpath="${sourcepath//:/ }"
+
+  javac -sourcepath $sourcepath -d build-oe `find $findpath -name "*.java"`
+
+       mkdir -p build-oe/META-INF/services
+       cp src/java/drivers/jaxp11/META-INF/services/javax.xml.parsers.SAXParserFactory build-oe/META-INF/services
+       cp src/java/impl/factory/META-INF/services/org.gjt.xpp.XmlPullParserFactory build-oe/META-INF/services
+
+  fastjar -C build-oe -c -f ${JARFILENAME} .
+}
diff --git a/recipes/xml-commons/xpp3_1.1.3.4.O.bb b/recipes/xml-commons/xpp3_1.1.3.4.O.bb
new file mode 100644 (file)
index 0000000..ff8b13d
--- /dev/null
@@ -0,0 +1,50 @@
+DESCRIPTION = "Streaming pull XML parser for Java (3rd edition)"
+LICENSE = "BSD-like"
+
+HOMEPAGE = "http://www.extreme.indiana.edu/xgws/xsoap/xpp/mxp1"
+
+SRC_URI = "http://www.extreme.indiana.edu/dist/java-repository/xpp3/distributions/${P}_src.tgz"
+
+inherit java-library
+
+DEPENDS = "fastjar-native virtual/javac-native"
+
+PACKAGES = "libxpp3-xpath-java ${JPN}"
+
+do_compile() {
+       if [ -d build-oe ]; then
+               rm -rf build-oe
+       fi
+  mkdir -p build-oe
+
+       sourcepath="src/java/api:src/java/builder:src/java/dom2_builder:src/java/mxp1_min:src/java/mxp1_standard:src/java/parser_pool:src/java/sax2_driver:src/java/serializer_impl:src/java/util:src/java/wrapper"
+       findpath="${sourcepath//:/ }"
+
+  javac -sourcepath $sourcepath -d build-oe `find $findpath -name "*.java"`
+
+       mkdir -p build-oe/META-INF/services
+       cp src/java/mxp1_standard/META-INF/services/org.xml* build-oe/META-INF/services
+  fastjar -C build-oe -c -f ${JARFILENAME} .
+
+       if [ -d build-xpath ]; then
+               rm -rf build-xpath
+       fi
+  mkdir -p build-xpath
+
+       sourcepath="src/java/xpath"
+       findpath="${sourcepath//:/ }"
+  javac -sourcepath $sourcepath -cp build-oe -d build-xpath `find $findpath -name "*.java"`
+
+  fastjar -C build-xpath -c -f xpp3-xpath-${PV}.jar .
+}
+
+do_install_append() {
+       oe_jarinstall xpp3-xpath-${PV}.jar xpp3-xpath.jar
+}
+
+do_stage_append() {
+       oe_jarinstall -s xpp3-xpath-${PV}.jar xpp3-xpath.jar
+}
+
+FILES_libxpp3-xpath-java = "${datadir}/java/xpp3-xpath*"
+