KHtml

dom3_xpath.h
1 /*
2  * dom3_xpath.h - Copyright 2005 Frerich Raabe <[email protected]>
3  * Copyright 2010 Maksim Orlovich <[email protected]>
4  * Copyright 1999 Lars Knoll ([email protected])
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Library General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Library General Public License for more details.
15  *
16  * You should have received a copy of the GNU Library General Public License
17  * along with this library; see the file COPYING.LIB. If not, write to
18  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19  * Boston, MA 02110-1301, USA.
20  *
21  * Based on kdomxpath.h, which was licensed as follows:
22  * Redistribution and use in source and binary forms, with or without
23  * modification, are permitted provided that the following conditions
24  * are met:
25  *
26  * 1. Redistributions of source code must retain the above copyright
27  * notice, this list of conditions and the following disclaimer.
28  * 2. Redistributions in binary form must reproduce the above copyright
29  * notice, this list of conditions and the following disclaimer in the
30  * documentation and/or other materials provided with the distribution.
31  *
32  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
33  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
34  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
35  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
36  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
37  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
38  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
39  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
40  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
41  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
42  *
43  */
44 #ifndef DOM3_XPATH_H
45 #define DOM3_XPATH_H
46 
47 #include <dom_string.h>
48 
49 namespace DOM
50 {
51 
52 enum XPathExceptionCode {
53  INVALID_EXPRESSION_ERR = 51,
54  TYPE_ERR = 52
55 };
56 
57 namespace XPath
58 {
59 enum XPathResultType {
60  ANY_TYPE = 0,
61  NUMBER_TYPE = 1,
62  STRING_TYPE = 2,
63  BOOLEAN_TYPE = 3,
64  UNORDERED_NODE_ITERATOR_TYPE = 4,
65  ORDERED_NODE_ITERATOR_TYPE = 5,
66  UNORDERED_NODE_SNAPSHOT_TYPE = 6,
67  ORDERED_NODE_SNAPSHOT_TYPE = 7,
68  ANY_UNORDERED_NODE_TYPE = 8,
69  FIRST_ORDERED_NODE_TYPE = 9
70 };
71 }
72 
73 class KHTML_EXPORT XPathException
74 {
75 public:
76  XPathException(unsigned short _code)
77  {
78  code = _code;
79  }
80  XPathException(const XPathException &other)
81  {
82  code = other.code;
83  }
84 
85  XPathException &operator = (const XPathException &other)
86  {
87  code = other.code;
88  return *this;
89  }
90 
91  virtual ~XPathException() {}
92 
93  /**
94  * An integer indicating the type of error generated, as given by DOM L3 XPath
95  *
96  */
97  unsigned short code;
98 
99  enum XPathExceptionCode {
100  INVALID_EXPRESSION_ERR = 51,
101  TYPE_ERR = 52,
102 
103  _EXCEPTION_OFFSET = 4000,
104  _EXCEPTION_MAX = 4999
105  };
106 
107  DOMString codeAsString() const;
108  static DOMString codeAsString(int xpathCode);
109 
110  /** @internal - converts XPath exception code to internal code */
111  static int toCode(int xpathCode);
112 
113  /** @internal - checks to see whether internal code is an XPath one */
114  static bool isXPathExceptionCode(int exceptioncode);
115 };
116 
117 }
118 
119 #endif // DOM3_XPATH_H
120 
This library provides a full-featured HTML parser and widget.
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Tue Oct 26 2021 22:48:00 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.