This commit was manufactured by cvs2svn to create tag
'Xalan-C_1_5_1'.
diff --git a/samples/SimpleXPathAPI/SimpleXPathAPI.cpp b/samples/SimpleXPathAPI/SimpleXPathAPI.cpp
index 6dbe88d..c2c6f0a 100644
--- a/samples/SimpleXPathAPI/SimpleXPathAPI.cpp
+++ b/samples/SimpleXPathAPI/SimpleXPathAPI.cpp
@@ -19,7 +19,8 @@
-#include <DOMSupport/XalanDocumentPrefixResolver.hpp>
+#include <XalanDOM/XalanDocument.hpp>
+#include <XalanDOM/XalanElement.hpp>
@@ -34,6 +35,44 @@
+XALAN_USING_XALAN(XalanNode)
+XALAN_USING_XALAN(XalanElement)
+
+
+
+const XalanElement*
+getPrefixResolver(const XalanNode* node)
+{
+ if (node == 0)
+ {
+ return 0;
+ }
+ else if (node->getNodeType() == XalanNode::ELEMENT_NODE)
+ {
+#if defined(XALAN_OLD_STYLE_CASTS)
+ return (const XalanElement*)node;
+#else
+ return static_cast<const XalanElement*>(node);
+#endif
+ }
+ else if (node->getNodeType() == XalanNode::DOCUMENT_NODE)
+ {
+ XALAN_USING_XALAN(XalanDocument)
+
+#if defined(XALAN_OLD_STYLE_CASTS)
+ return ((const XalanDocument*)node)->getDocumentElement();
+#else
+ return static_cast<const XalanDocument*>(node)->getDocumentElement();
+#endif
+ }
+ else
+ {
+ return getPrefixResolver(node->getParentNode());
+ }
+}
+
+
+
int
main(
int argc,
@@ -68,7 +107,6 @@
XALAN_USING_XERCES(LocalFileInputSource)
XALAN_USING_XALAN(XalanDocument)
- XALAN_USING_XALAN(XalanDocumentPrefixResolver)
XALAN_USING_XALAN(XalanDOMString)
XALAN_USING_XALAN(XalanNode)
XALAN_USING_XALAN(XalanSourceTreeInit)
@@ -96,8 +134,6 @@
theLiaison.parseXMLStream(theInputSource);
assert(theDocument != 0);
- XalanDocumentPrefixResolver thePrefixResolver(theDocument);
-
XPathEvaluator theEvaluator;
// OK, let's find the context node...
@@ -106,7 +142,7 @@
theDOMSupport,
theDocument,
XalanDOMString(argv[2]).c_str(),
- thePrefixResolver);
+ theDocument->getDocumentElement());
if (theContextNode == 0)
{
@@ -126,7 +162,7 @@
theDOMSupport,
theContextNode,
XalanDOMString(argv[3]).c_str(),
- thePrefixResolver));
+ getPrefixResolver(theContextNode)));
assert(theResult.null() == false);
diff --git a/samples/SimpleXPathAPI/foo.xml b/samples/SimpleXPathAPI/foo.xml
index 04a6c89..14f51a8 100644
--- a/samples/SimpleXPathAPI/foo.xml
+++ b/samples/SimpleXPathAPI/foo.xml
@@ -1,13 +1,13 @@
<?xml version="1.0"?>
-<foo:doc xmlns:foo="http://www.foo.com">
- <foo:name first="David" last="Marston">Mr. Marston</foo:name>
- <foo:name first="David" last="Bertoni">Mr. Bertoni</foo:name>
- <foo:name first="Donald" last="Leslie">Mr. Leslie</foo:name>
- <foo:name first="Emily" last="Farmer">Ms. Farmer</foo:name>
- <foo:name first="Myriam" last="Midy">Ms. Midy</foo:name>
- <foo:name first="Paul" last="Dick">Mr. Dick</foo:name>
- <foo:name first="Scott" last="Boag">Mr. Boag</foo:name>
- <foo:name first="Shane" last="Curcuru">Mr. Curcuru</foo:name>
- <foo:name first="Joseph" last="Kesselman">Mr. Kesselman</foo:name>
- <foo:name first="Stephen" last="Auriemma">Mr. Auriemma</foo:name>
-</foo:doc>
+<doc>
+ <name first="David" last="Marston">Mr. Marston</name>
+ <name first="David" last="Bertoni">Mr. Bertoni</name>
+ <name first="Donald" last="Leslie">Mr. Leslie</name>
+ <name first="Emily" last="Farmer">Ms. Farmer</name>
+ <name first="Myriam" last="Midy">Ms. Midy</name>
+ <name first="Paul" last="Dick">Mr. Dick</name>
+ <name first="Scott" last="Boag">Mr. Boag</name>
+ <name first="Shane" last="Curcuru">Mr. Curcuru</name>
+ <name first="Joseph" last="Kesselman">Mr. Kesselman</name>
+ <name first="Stephen" last="Auriemma">Mr. Auriemma</name>
+</doc>
\ No newline at end of file
diff --git a/src/DOMSupport/XalanDocumentPrefixResolver.cpp b/src/DOMSupport/XalanDocumentPrefixResolver.cpp
deleted file mode 100644
index 839f92b..0000000
--- a/src/DOMSupport/XalanDocumentPrefixResolver.cpp
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2003 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. 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.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
- * ITS 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 Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Class header file...
-#include "XalanDocumentPrefixResolver.hpp"
-
-
-
-#include <XalanDOM/XalanAttr.hpp>
-#include <XalanDOM/XalanElement.hpp>
-#include <XalanDOM/XalanNamedNodeMap.hpp>
-
-
-
-#include <DOMSupport/DOMServices.hpp>
-
-
-
-XALAN_CPP_NAMESPACE_BEGIN
-
-
-
-XalanDocumentPrefixResolver::XalanDocumentPrefixResolver(
- const XalanDocument* theDocument,
- const XalanDOMString& theURI) :
- m_namespaces(),
- m_uri(theURI)
-{
- assert(theDocument != 0);
-
- NamespaceNodesTreeWalker theWalker(m_namespaces);
-
- theWalker.traverse(theDocument);
-}
-
-
-
-XalanDocumentPrefixResolver::~XalanDocumentPrefixResolver()
-{
-}
-
-
-
-const XalanDOMString*
-XalanDocumentPrefixResolver::getNamespaceForPrefix(const XalanDOMString& prefix) const
-{
- const NamespacesMapType::const_iterator i = m_namespaces.find(&prefix);
-
- if (i == m_namespaces.end())
- {
- return 0;
- }
- else
- {
- const AttributeVectorType& theVector = (*i).second;
- assert(theVector.size() > 0);
-
- if (theVector.size() == 1)
- {
- assert(theVector.front() != 0);
-
- return &(theVector.front()->getNodeValue());
- }
- else
- {
- return duplicateBinding(theVector);
- }
- }
-}
-
-
-
-const XalanDOMString&
-XalanDocumentPrefixResolver::getURI() const
-{
- return m_uri;
-}
-
-
-
-const XalanDOMString*
-XalanDocumentPrefixResolver::duplicateBinding(const AttributeVectorType& theVector) const
-{
- assert(theVector.front() != 0);
-
- return &(theVector.front()->getNodeValue());
-}
-
-
-
-XalanDocumentPrefixResolver::NamespaceNodesTreeWalker::NamespaceNodesTreeWalker(NamespacesMapType& theMap) :
- TreeWalker(),
- m_map(theMap)
-{
-}
-
-
-
-XalanDocumentPrefixResolver::NamespaceNodesTreeWalker::~NamespaceNodesTreeWalker()
-{
-}
-
-
-
-bool
-XalanDocumentPrefixResolver::NamespaceNodesTreeWalker::startNode(const XalanNode* node)
-{
- assert(node != 0);
-
- switch(node->getNodeType())
- {
- case XalanNode::ELEMENT_NODE:
- {
- const XalanElement* theElementNode =
-#if defined(XALAN_OLD_STYLE_CASTS)
- (const XalanElement*)node;
-#else
- static_cast<const XalanElement*>(node);
-#endif
-
- const XalanNamedNodeMap* const atts = theElementNode->getAttributes();
- assert(atts != 0);
-
- const unsigned int theSize = atts->getLength();
-
- for (unsigned int i = 0; i < theSize; ++i)
- {
- assert(atts->item(i) != 0 && atts->item(i)->getNodeType() == XalanNode::ATTRIBUTE_NODE);
-
- const XalanAttr* const theAttr =
-#if defined(XALAN_OLD_STYLE_CASTS)
- (const XalanAttr*)atts->item(i);
-#else
- static_cast<const XalanAttr*>(atts->item(i));
-#endif
-
- if (DOMServices::isNamespaceDeclaration(*theAttr) == true)
- {
- m_map[&theAttr->getLocalName()].push_back(theAttr);
- }
- }
- }
- break;
-
- default:
- // Do nothing...
- break;
- }
-
- return false;
-}
-
-
-
-bool
-XalanDocumentPrefixResolver::NamespaceNodesTreeWalker::startNode(XalanNode* node)
-{
- assert(node != 0);
-
-#if defined(XALAN_OLD_STYLE_CASTS)
- return startNode((const XalanNode*)node);
-#else
- return startNode(const_cast<const XalanNode*>(node));
-#endif
-}
-
-
-
-bool
-XalanDocumentPrefixResolver::NamespaceNodesTreeWalker::endNode(const XalanNode* /* node */)
-{
- return false;
-}
-
-
-
-bool
-XalanDocumentPrefixResolver::NamespaceNodesTreeWalker::endNode(XalanNode* /* node */)
-{
- return false;
-}
-
-
-
-XALAN_CPP_NAMESPACE_END
diff --git a/src/DOMSupport/XalanDocumentPrefixResolver.hpp b/src/DOMSupport/XalanDocumentPrefixResolver.hpp
deleted file mode 100644
index 82d9552..0000000
--- a/src/DOMSupport/XalanDocumentPrefixResolver.hpp
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2003 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. 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.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
- * ITS 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 Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(XALANDOCUMENTPREFIXRESOLVER_HEADER_GUARD_1357924680)
-#define XALANDOCUMENTPREFIXRESOLVER_HEADER_GUARD_1357924680
-
-
-
-// Base include file. Must be first.
-#include <DOMSupport/DOMSupportDefinitions.hpp>
-
-
-
-#include <map>
-#include <vector>
-
-
-
-#include <XalanDOM/XalanDOMString.hpp>
-
-
-
-#include <PlatformSupport/PrefixResolver.hpp>
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-#include <Include/STLHelper.hpp>
-
-
-
-#include <DOMSupport/TreeWalker.hpp>
-
-
-
-XALAN_CPP_NAMESPACE_BEGIN
-
-
-
-class XalanAttr;
-class XalanDocument;
-
-
-
-class XALAN_DOMSUPPORT_EXPORT XalanDocumentPrefixResolver : public PrefixResolver
-{
-public:
-
-#if defined(XALAN_NO_STD_NAMESPACE)
- typedef vector<const XalanNode*> AttributeVectorType;
-
- typedef map<const XalanDOMString*,
- AttributeVectorType,
- pointer_less<XalanDOMString> > NamespacesMapType;
-#else
- typedef std::vector<const XalanNode*> AttributeVectorType;
-
- typedef std::map<const XalanDOMString*,
- AttributeVectorType,
- pointer_less<XalanDOMString> > NamespacesMapType;
-#endif
-
- /**
- * Constructor.
- *
- * @param theDocument The XalanDocument instance to use for namespace bindings.
- * @param theURI The base URI for the instance. This is rarely needed, but can be provided if the URI for the XalanDocument instance is known.
- */
- XalanDocumentPrefixResolver(
- const XalanDocument* theDocument,
- const XalanDOMString& theURI = XalanDOMString());
-
- virtual
- ~XalanDocumentPrefixResolver();
-
-
- virtual const XalanDOMString*
- getNamespaceForPrefix(const XalanDOMString& prefix) const;
-
- virtual const XalanDOMString&
- getURI() const;
-
- /**
- * A utility class to walk the XalanDocument instance and look for attribute nodes that declare namespaces.
- */
- class NamespaceNodesTreeWalker : public TreeWalker
- {
- public:
-
- NamespaceNodesTreeWalker(NamespacesMapType& theMap);
-
- virtual
- ~NamespaceNodesTreeWalker();
-
- protected:
-
- virtual bool
- startNode(const XalanNode* node);
-
- virtual bool
- startNode(XalanNode* node);
-
- virtual bool
- endNode(const XalanNode* node);
-
- virtual bool
- endNode(XalanNode* node);
-
- private:
-
- NamespacesMapType& m_map;
- };
-
-
-protected:
-
- /**
- * This function is called when more than one binding exists for a given prefix.
- * The default behavior uses the first binding, but a deriving class can change
- * that behavior by overriding.
- *
- * @param theVector The vector associated with the namespace prefix.
- * @return A pointer to a const XalanDOMString containing the desired binding, or NULL.
- */
- virtual const XalanDOMString*
- duplicateBinding(const AttributeVectorType& theVector) const;
-
-private:
-
- NamespacesMapType m_namespaces;
-
- const XalanDOMString m_uri;
-};
-
-
-
-XALAN_CPP_NAMESPACE_END
-
-
-
-#endif // XALANDOCUMENTPREFIXRESOLVER_HEADER_GUARD_1357924680
diff --git a/src/PlatformSupport/AttributeListImpl.cpp b/src/PlatformSupport/AttributeListImpl.cpp
index 7b53dff..b87112b 100644
--- a/src/PlatformSupport/AttributeListImpl.cpp
+++ b/src/PlatformSupport/AttributeListImpl.cpp
@@ -408,9 +408,12 @@
const XMLCh* const theNewValueEnd = AttributeVectorEntry::endArray(value) + 1;
+ const XMLChVectorType::size_type theNewSize =
+ XMLChVectorType::size_type(theNewValueEnd - value);
+
// If necessary, create the a new vector and swap them. Otherwise,
// just copy the new data in.
- if ((*i)->m_Value.capacity() < XMLChVectorType::size_type(theNewValueEnd - value))
+ if ((*i)->m_Value.capacity() < theNewSize)
{
XMLChVectorType theNewValue(value, theNewValueEnd);
@@ -418,6 +421,8 @@
}
else
{
+ (*i)->m_Value.resize(theNewSize);
+
copy(value, theNewValueEnd, (*i)->m_Value.begin());
}
}
diff --git a/src/PlatformSupport/DOMStringHelper.cpp b/src/PlatformSupport/DOMStringHelper.cpp
index 690828a..bc801db 100644
--- a/src/PlatformSupport/DOMStringHelper.cpp
+++ b/src/PlatformSupport/DOMStringHelper.cpp
@@ -1328,7 +1328,7 @@
theInputEnd,
theOutputIterator,
#if defined(XALAN_NON_ASCII_PLATFORM)
- DecimalNumberTranscodeTransform<char, XalanDOMChar>());
+ HexadecimalNumberTranscodeTransform<char, XalanDOMChar>());
#else
IdentityTransform<char, XalanDOMChar>());
#endif
diff --git a/src/XPath/FunctionDoc.hpp b/src/XPath/FunctionDoc.hpp
deleted file mode 100644
index 6e72d3d..0000000
--- a/src/XPath/FunctionDoc.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. 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.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
- * ITS 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 Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-#if !defined(FUNCTIONDOC_HEADER_GUARD_1357924680)
-#define FUNCTIONDOC_HEADER_GUARD_1357924680
-
-
-
-// Base header file. Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
-
-
-
-#include <vector>
-
-
-
-#include <PlatformSupport/DOMStringHelper.hpp>
-
-
-
-// Base class header file...
-#include <XPath/Function.hpp>
-
-
-/**
- * XPath implementation of "document" function.
- */
-//
-// These are all inline, even though
-// there are virtual functions, because we expect that they will only be
-// needed by the XSLT class.
-class XALAN_XSLT_EXPORT FunctionDoc : public Function
-{
-public:
-
- // These methods are inherited from Function ...
-
- virtual XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- const DOM_Node& context,
- int /* opPos */,
- const XObjectArgVectorType& args)
- {
- executionContext.error("Document() function implementation has been replaced by xslt/FunctionDocument!",
- context);
-
- return executionContext.getXObjectFactory().createNull();
- }
-
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
- virtual Function*
-#else
- virtual FunctionDoc*
-#endif
- clone() const
- {
- return new FunctionDoc(*this);
- }
-
-private:
-
- // Not implemented...
- FunctionDoc&
- operator=(const FunctionDoc&);
-
- bool
- operator==(const FunctionDoc&) const;
-};
-
-
-
-#endif // FUNCTIONDOC_HEADER_GUARD_1357924680
diff --git a/src/XPath/MutableNodeRefList.cpp b/src/XPath/MutableNodeRefList.cpp
index d721be7..19b74e5 100644
--- a/src/XPath/MutableNodeRefList.cpp
+++ b/src/XPath/MutableNodeRefList.cpp
@@ -420,7 +420,14 @@
if (theIndex < theCurrentIndex)
{
- last = current - 1;
+ if (current == begin)
+ {
+ break;
+ }
+ else
+ {
+ last = current - 1;
+ }
}
else if (theIndex > theCurrentIndex)
{
diff --git a/src/XPath/XObject.cpp b/src/XPath/XObject.cpp
index c69b2de..4fc80ec 100644
--- a/src/XPath/XObject.cpp
+++ b/src/XPath/XObject.cpp
@@ -682,7 +682,7 @@
const double theRHS,
const CompareFunction& theCompareFunction)
{
- bool theResult = false;
+ bool theResult = false;
const NodeRefListBase::size_type len1 = theLHSNodeSet.getLength();
diff --git a/src/XSLT/NamespacesHandler.hpp b/src/XSLT/NamespacesHandler.hpp
index e6979a0..3e63389 100644
--- a/src/XSLT/NamespacesHandler.hpp
+++ b/src/XSLT/NamespacesHandler.hpp
@@ -109,7 +109,7 @@
isActive(const XalanDOMString& thePrefix) const = 0;
};
- class Namespace
+ class XALAN_XSLT_EXPORT Namespace
{
public:
@@ -186,7 +186,7 @@
const XalanDOMString* m_uri;
};
- class NamespaceExtended : public Namespace
+ class XALAN_XSLT_EXPORT NamespaceExtended : public Namespace
{
public:
diff --git a/src/XSLT/XalanTemplate.cpp b/src/XSLT/XalanTemplate.cpp
index aed91a6..cfcd9eb 100644
--- a/src/XSLT/XalanTemplate.cpp
+++ b/src/XSLT/XalanTemplate.cpp
@@ -104,11 +104,7 @@
#include <PlatformSupport/PrintWriter.hpp>
#include <PlatformSupport/XalanOutputStream.hpp>
#include <PlatformSupport/XalanUnicode.hpp>
-#include <PlatformSupport/XalanDOMStringCache.hpp>
-
-
-
-#include <DOMSupport/XalanDocumentPrefixResolver.hpp>
+#include <PlatformSupport/XalanDOMStringCache.hpp>