00001 /* 00002 * Copyright 1999-2004 The Apache Software Foundation. 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 #if !defined(XALANSOURCETREEHELPER_HEADER_GUARD_1357924680) 00017 #define XALANSOURCETREEHELPER_HEADER_GUARD_1357924680 00018 00019 00020 00021 #include <xalanc/XalanSourceTree/XalanSourceTreeDefinitions.hpp> 00022 00023 00024 00025 #include <xalanc/XalanDOM/XalanDOMString.hpp> 00026 00027 00028 00029 XALAN_CPP_NAMESPACE_BEGIN 00030 00031 00032 00033 class XalanNode; 00034 class XalanSourceTreeComment; 00035 class XalanSourceTreeDocument; 00036 class XalanSourceTreeDocumentFragment; 00037 class XalanSourceTreeElement; 00038 class XalanSourceTreeProcessingInstruction; 00039 class XalanSourceTreeText; 00040 00041 00042 00043 class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeHelper 00044 { 00045 public: 00046 00047 static XalanNode* 00048 getLastSibling(XalanNode* theNode); 00049 00050 static void 00051 appendSibling( 00052 XalanSourceTreeDocument* theDocument, 00053 XalanNode*& theNextSiblingSlot, 00054 XalanNode* theNewSibling); 00055 00056 static void 00057 appendSibling( 00058 XalanSourceTreeComment* theNode, 00059 XalanNode*& theNextSiblingSlot, 00060 XalanNode* theNewSibling); 00061 00062 static void 00063 appendSibling( 00064 XalanSourceTreeElement* theNode, 00065 XalanNode*& theNextSiblingSlot, 00066 XalanNode* theNewSibling); 00067 00068 static void 00069 appendSibling( 00070 XalanSourceTreeProcessingInstruction* theNode, 00071 XalanNode*& theNextSiblingSlot, 00072 XalanNode* theNewSibling); 00073 00074 static void 00075 appendSibling( 00076 XalanSourceTreeText* theNode, 00077 XalanNode*& theNextSiblingSlot, 00078 XalanNode* theNewSibling); 00079 00080 // New appendSibling interfaces... 00081 static void 00082 appendSibling( 00083 XalanNode* theLastSibling, 00084 XalanSourceTreeComment* theNewLastSibling); 00085 00086 static void 00087 appendSibling( 00088 XalanNode* theLastSibling, 00089 XalanSourceTreeElement* theNewLastSibling); 00090 00091 static void 00092 appendSibling( 00093 XalanNode* theLastSibling, 00094 XalanSourceTreeProcessingInstruction* theNewLastSibling); 00095 00096 static void 00097 appendSibling( 00098 XalanNode* theLastSibling, 00099 XalanSourceTreeText* theNewLastSibling); 00100 00101 00102 static void 00103 appendSiblingToChild( 00104 XalanSourceTreeElement* theOwnerElement, 00105 XalanNode*& theFirstChildSlot, 00106 XalanSourceTreeComment* theNewSibling); 00107 00108 00109 static void 00110 appendSiblingToChild( 00111 XalanSourceTreeElement* theOwnerElement, 00112 XalanNode*& theFirstChildSlot, 00113 XalanSourceTreeElement* theNewSibling); 00114 00115 static void 00116 appendSiblingToChild( 00117 XalanSourceTreeElement* theOwnerElement, 00118 XalanNode*& theFirstChildSlot, 00119 XalanSourceTreeProcessingInstruction* theNewSibling); 00120 00121 static void 00122 appendSiblingToChild( 00123 XalanSourceTreeElement* theOwnerElement, 00124 XalanNode*& theFirstChildSlot, 00125 XalanSourceTreeText* theNewSibling); 00126 00127 static void 00128 appendSiblingToChild( 00129 XalanSourceTreeDocumentFragment* theOwnerDocumentFragment, 00130 XalanNode*& theFirstChildSlot, 00131 XalanSourceTreeComment* theNewSibling); 00132 00133 static void 00134 appendSiblingToChild( 00135 XalanSourceTreeDocumentFragment* theOwnerDocumentFragment, 00136 XalanNode*& theFirstChildSlot, 00137 XalanSourceTreeElement* theNewSibling); 00138 00139 static void 00140 appendSiblingToChild( 00141 XalanSourceTreeDocumentFragment* theOwnerDocumentFragment, 00142 XalanNode*& theFirstChildSlot, 00143 XalanSourceTreeProcessingInstruction* theNewSibling); 00144 00145 static void 00146 appendSiblingToChild( 00147 XalanSourceTreeDocumentFragment* theOwnerDocumentFragment, 00148 XalanNode*& theFirstChildSlot, 00149 XalanSourceTreeText* theNewSibling); 00150 00151 private: 00152 00153 // Not implemented... 00154 XalanSourceTreeHelper(); 00155 00156 XalanSourceTreeHelper(const XalanSourceTreeHelper&); 00157 }; 00158 00159 00160 00161 XALAN_CPP_NAMESPACE_END 00162 00163 00164 00165 #endif // !defined(XALANSOURCETREEHELPER_HEADER_GUARD_1357924680)
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
Xalan-C++ XSLT Processor Version 1.10 |
|