Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

This commit was manufactured by cvs2svn to create tag

'Xalan-C_1_3_0'.

git-svn-id: https://svn.apache.org/repos/asf/xalan/c/tags/Xalan-C_1_3_0@340554 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information...
commit b4f9cca283c47c41d7273b1af1431c413eba7f86 1 parent d3facaf
No Author authored
View
112 src/XPath/XPathException.cpp
@@ -0,0 +1,112 @@
+/*
+ * 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/>.
+ */
+// Class header file.
+#include "XPathException.hpp"
+
+
+
+const XalanDOMString XPathException::s_emptyString;
+
+
+
+XPathException::XPathException(
+ const XalanDOMString& message,
+ const XalanDOMString& theURI,
+ int theLineNumber,
+ int theColumnNumber,
+ const XalanNode* styleNode,
+ const XalanDOMString& theType) :
+ XSLException(message, theURI, theLineNumber, theColumnNumber, theType),
+ m_styleNode(styleNode)
+{
+}
+
+
+
+XPathException::XPathException(
+ const XalanDOMString& message,
+ const XalanNode* styleNode,
+ const XalanDOMString& theType) :
+ XSLException(message, theType),
+ m_styleNode(styleNode)
+{
+}
+
+
+
+XPathException::XPathException(
+ const Locator& theLocator,
+ const XalanDOMString& theMessage,
+ const XalanNode* styleNode,
+ const XalanDOMString& theType) :
+ XSLException(theLocator, theMessage, theType),
+ m_styleNode(styleNode)
+{
+}
+
+
+
+XPathException::XPathException() :
+ XSLException(s_emptyString, s_emptyString)
+{
+}
+
+
+
+XPathException::~XPathException()
+{
+}
View
156 src/XPath/XPathException.hpp
@@ -0,0 +1,156 @@
+/*
+ * 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(XPATHEXCEPTION_HEADER_GUARD_1357924680)
+#define XPATHEXCEPTION_HEADER_GUARD_1357924680
+
+
+
+// Base header file. Must be first.
+#include <XPath/XPathDefinitions.hpp>
+
+
+
+#include <XalanDOM/XalanDOMString.hpp>
+#include <XalanDOM/XalanNode.hpp>
+
+
+
+// Base class header file.
+#include <PlatformSupport/XSLException.hpp>
+
+
+
+class XalanNode;
+
+
+
+class XALAN_XPATH_EXPORT XPathException : public XSLException
+{
+public:
+
+ /**
+ * Construct an XPath exeption object.
+ *
+ * @param message message explaining the problem.
+ * @param theURI the URI of the related document, if known
+ * @param theLineNumber the line number of the related document, or -1 if not known
+ * @param theColumnNumber the column number of the related document, or -1 if not known
+ * @param styleNode the node in the stylesheet where the problem occurred
+ * @param theType type of exception, default is "XPathException"
+ */
+ XPathException(
+ const XalanDOMString& message,
+ const XalanDOMString& theURI,
+ int theLineNumber,
+ int theColumnNumber,
+ const XalanNode* styleNode = 0,
+ const XalanDOMString& theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XPathException")));
+
+ /**
+ * Constructor
+ *
+ * @param theLocator The locator instance for error reporting.
+ * @param theMessage message to write when exception thrown
+ * @param styleNode the node in the stylesheet where the problem occurred
+ * @param theType type of exception, default is "XPathException"
+ */
+ XPathException(
+ const Locator& theLocator,
+ const XalanDOMString& theMessage,
+ const XalanNode* styleNode = 0,
+ const XalanDOMString& theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XPathException")));
+
+ /**
+ * Construct an XPath exeption object.
+ *
+ * @param message message explaining the problem.
+ * @param styleNode the node in the stylesheet where the problem occurred
+ * @param theType type of exception, default is "XPathException"
+ */
+ XPathException(
+ const XalanDOMString& message,
+ const XalanNode* styleNode = 0,
+ const XalanDOMString& theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XPathException")));
+
+ virtual
+ ~XPathException();
+
+ const XalanNode*
+ getStyleNode() const
+ {
+ return m_styleNode;
+ }
+
+protected:
+
+ /**
+ * Construct an XPath exeption object.
+ *
+ */
+ explicit
+ XPathException();
+
+private:
+
+ const XalanNode* m_styleNode;
+
+ static const XalanDOMString s_emptyString;
+};
+
+
+
+#endif // XPATHEXCEPTION_HEADER_GUARD_1357924680
View
81 src/XPath/XPointer.cpp
@@ -0,0 +1,81 @@
+/*
+ * 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/>.
+ */
+#include "XPointer.hpp"
+
+
+
+#include "XPathException.hpp"
+
+
+
+XSpan*
+XPointer::getNode(const XalanDOMString& /* xpointer */)
+{
+ throw XPathException(TranscodeFromLocalCodePage("Error! XPointer::getNode not yet implemented!"));
+
+ return 0;
+}
+
+
+
+XSpan*
+XPointer::getNode(XPath& /* xpath */)
+{
+ throw XPathException(TranscodeFromLocalCodePage("Error! XPointer::getNode not yet implemented!"));
+
+ return 0;
+}
View
77 src/XPath/FunctionDoc.hpp → src/XPath/XPointer.hpp
@@ -54,74 +54,47 @@
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
-#if !defined(FUNCTIONDOC_HEADER_GUARD_1357924680)
-#define FUNCTIONDOC_HEADER_GUARD_1357924680
+#if !defined(XPOINTER_HEADER_GUARD_1357924680)
+#define XPOINTER_HEADER_GUARD_1357924680
-// Base header file. Must be first.
-#include <XSLT/XSLTDefinitions.hpp>
+// Base include file. Must be first.
+#include <XPath/XPathDefinitions.hpp>
-#include <vector>
+// $$$ ToDo: This is necessary while XalanDOMString is still a typedef...
+#include <XalanDOM/XalanDOMString.hpp>
-#include <PlatformSupport/DOMStringHelper.hpp>
+class XPath;
+class XSpan;
-// 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
+class XALAN_XPATH_EXPORT XPointer
{
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;
+ /**
+ * Gets a span from an XPointer string.
+ *
+ * @param xpointer XPointer string
+ */
+ static XSpan*
+ getNode(const XalanDOMString& xpointer);
+
+ /**
+ * Get a span from an XPath (compiled XPointer) object.
+ *
+ * @param xpath XPath object
+ */
+ static XSpan*
+ getNode(XPath& xpath);
};
-#endif // FUNCTIONDOC_HEADER_GUARD_1357924680
+#endif // XPOINTER_HEADER_GUARD_1357924680
Please sign in to comment.
Something went wrong with that request. Please try again.