00001 /* 00002 * Licensed to the Apache Software Foundation (ASF) under one 00003 * or more contributor license agreements. See the NOTICE file 00004 * distributed with this work for additional information 00005 * regarding copyright ownership. The ASF licenses this file 00006 * to you under the Apache License, Version 2.0 (the "License"); 00007 * you may not use this file except in compliance with the License. 00008 * You may obtain a copy of the License at 00009 * 00010 * http://www.apache.org/licenses/LICENSE-2.0 00011 * 00012 * Unless required by applicable law or agreed to in writing, software 00013 * distributed under the License is distributed on an "AS IS" BASIS, 00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00015 * See the License for the specific language governing permissions and 00016 * limitations under the License. 00017 */ 00018 #if !defined(XALAN_KEYDECLARATION_HEADER_GUARD) 00019 #define XALAN_KEYDECLARATION_HEADER_GUARD 00020 00021 00022 00023 // Base include file. Must be first. 00024 #include "XSLTDefinitions.hpp" 00025 00026 00027 00028 XALAN_CPP_NAMESPACE_BEGIN 00029 00030 00031 00032 #include <xalanc/PlatformSupport/XalanLocator.hpp> 00033 00034 00035 00036 class XPath; 00037 00038 00039 00040 /** 00041 * Holds the attribute declarations for the "xsl:key" element. 00042 */ 00043 class KeyDeclaration 00044 { 00045 public: 00046 00047 /** 00048 * Construct an object containing attributes of an "xsl:key" element 00049 * 00050 * @param qname name of element 00051 * @param matchPattern XPath for "match" attribute 00052 * @param use XPath for "use" attribute 00053 */ 00054 KeyDeclaration( 00055 const XalanQName& qname, 00056 const XPath& matchPattern, 00057 const XPath& use, 00058 const XalanDOMString& uri, 00059 XalanFileLoc lineNumber, 00060 XalanFileLoc columnNumber) : 00061 m_qname(&qname), 00062 m_match(&matchPattern), 00063 m_use(&use), 00064 m_uri(&uri), 00065 m_lineNumber(lineNumber), 00066 m_columnNumber(columnNumber) 00067 { 00068 } 00069 00070 explicit 00071 KeyDeclaration() : 00072 m_qname(0), 00073 m_match(0), 00074 m_use(0), 00075 m_uri(0), 00076 m_lineNumber(0), 00077 m_columnNumber(0) 00078 { 00079 } 00080 00081 KeyDeclaration(const KeyDeclaration& theSource) : 00082 m_qname(theSource.m_qname), 00083 m_match(theSource.m_match), 00084 m_use(theSource.m_use) 00085 { 00086 } 00087 00088 ~KeyDeclaration() 00089 { 00090 } 00091 00092 /** 00093 * Retrieves name of element 00094 * 00095 * @return name string 00096 */ 00097 const XalanQName* 00098 getQName() const 00099 { 00100 return m_qname; 00101 } 00102 00103 /** 00104 * Retrieves "use" XPath 00105 * 00106 * @return XPath for "use" attribute 00107 */ 00108 const XPath* 00109 getUse() const 00110 { 00111 return m_use; 00112 } 00113 00114 /** 00115 * Retrieves "match" XPath 00116 * 00117 * @return XPath for "match" attribute 00118 */ 00119 const XPath* 00120 getMatchPattern() const 00121 { 00122 return m_match; 00123 } 00124 00125 /** 00126 * Retrieves the URI. 00127 * 00128 * @return A pointer to a URI string. 00129 */ 00130 const XalanDOMString* 00131 getURI() const 00132 { 00133 return m_uri; 00134 } 00135 00136 /** 00137 * Retrieves the line number where the xsl:key element occurred. 00138 * 00139 * @return The line number 00140 */ 00141 XalanFileLoc 00142 getLineNumber() const 00143 { 00144 return m_lineNumber; 00145 } 00146 00147 /** 00148 * Retrieves the column number where the xsl:key element occurred. 00149 * 00150 * @return The column number 00151 */ 00152 XalanFileLoc 00153 getColumnNumber() const 00154 { 00155 return m_columnNumber; 00156 } 00157 00158 private: 00159 00160 const XalanQName* m_qname; 00161 00162 const XPath* m_match; 00163 00164 const XPath* m_use; 00165 00166 const XalanDOMString* m_uri; 00167 00168 XalanFileLoc m_lineNumber; 00169 00170 XalanFileLoc m_columnNumber; 00171 }; 00172 00173 00174 00175 XALAN_CPP_NAMESPACE_END 00176 00177 00178 00179 #endif // XALAN_KEYDECLARATION_HEADER_GUARD
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
Xalan-C++ XSLT Processor Version 1.11 |
|