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(XALAN_ELEMELEMENT_HEADER_GUARD) 00017 #define XALAN_ELEMELEMENT_HEADER_GUARD 00018 00027 00028 // Base include file. Must be first. 00029 #include "XSLTDefinitions.hpp" 00030 00031 00032 00033 // Base class header file. 00034 #include "ElemUse.hpp" 00035 00036 00037 00038 XALAN_CPP_NAMESPACE_BEGIN 00039 00040 00041 00042 class AVT; 00043 00044 00045 00046 class ElemElement: public ElemUse 00047 { 00048 public: 00049 00059 ElemElement( 00060 StylesheetConstructionContext& constructionContext, 00061 Stylesheet& stylesheetTree, 00062 const AttributeListType& atts, 00063 int lineNumber, 00064 int columnNumber); 00065 00066 virtual 00067 ~ElemElement(); 00068 00069 // These methods are inherited from ElemUse ... 00070 00071 virtual const XalanDOMString& 00072 getElementName() const; 00073 00074 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION) 00075 virtual const ElemTemplateElement* 00076 startElement(StylesheetExecutionContext& executionContext) const; 00077 00078 virtual void 00079 endElement(StylesheetExecutionContext& executionContext) const; 00080 00081 virtual bool 00082 executeChildElement( 00083 StylesheetExecutionContext& executionContext, 00084 const ElemTemplateElement* element) const; 00085 #else 00086 virtual void 00087 execute(StylesheetExecutionContext& executionContext) const; 00088 #endif 00089 00090 protected: 00091 00092 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION) 00093 00099 virtual void 00100 doExecuteChildren( 00101 StylesheetExecutionContext& executionContext, 00102 bool skipAttributeChildren) const; 00103 #endif 00104 00105 virtual void 00106 namespacesPostConstruction( 00107 StylesheetConstructionContext& constructionContext, 00108 const NamespacesHandler& theParentHandler, 00109 NamespacesHandler& theHandler); 00110 00111 private: 00112 00118 void 00119 fixupDefaultNamespace(StylesheetExecutionContext& executionContext) const; 00120 00127 const XalanDOMString& 00128 getParentDefaultNamespace() const; 00129 00130 00131 // not implemented 00132 ElemElement(const ElemElement &); 00133 00134 ElemElement& 00135 operator=(const ElemElement &); 00136 00137 // Data members... 00138 const AVT* m_nameAVT; 00139 00140 const AVT* m_namespaceAVT; 00141 }; 00142 00143 00144 00145 XALAN_CPP_NAMESPACE_END 00146 00147 00148 00149 #endif // XALAN_ELEMELEMENT_HEADER_GUARD
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
Xalan-C++ XSLT Processor Version 1.10 |
|