Xalan-C++ API Reference  1.12.0
ElemForwardCompatible.hpp
Go to the documentation of this file.
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 #if !defined(XALAN_ELEMFORWARDCOMPATIBLE_HEADER_GUARD)
19 #define XALAN_ELEMFORWARDCOMPATIBLE_HEADER_GUARD
20 
21 
22 // Base include file. Must be first.
23 #include "XSLTDefinitions.hpp"
24 
25 
26 
27 // Base class header file.
28 #include "ElemTemplateElement.hpp"
29 
30 
31 
32 namespace XALAN_CPP_NAMESPACE {
33 
34 
35 
37 {
38 public:
39 
40  /**
41  * Construct an object corresponding to an unknown XSLT element
42  * for forward-compatible processing.
43  *
44  * @param constructionContext context for construction of object
45  * @param stylesheetTree stylesheet containing element
46  * @param name name of element
47  * @param atts the attribute list
48  * @param lineNumber line number in document
49  * @param columnNumber column number in document
50  */
52  StylesheetConstructionContext& constructionContext,
53  Stylesheet& stylesheetTree,
54  const XalanDOMChar* name,
55  const AttributeListType& atts,
56  XalanFileLoc lineNumber,
57  XalanFileLoc columnNumber);
58 
59  static ElemForwardCompatible*
60  create(
61  MemoryManager& theManager,
62  StylesheetConstructionContext& constructionContext,
63  Stylesheet& stylesheetTree,
64  const XalanDOMChar* name,
65  const AttributeListType& atts,
66  XalanFileLoc lineNumber,
67  XalanFileLoc columnNumber);
68 
69  virtual
71 
72  // These methods are inherited from ElemTemplateElement ...
73 
74  virtual const XalanDOMString&
75  getElementName() const;
76 
77 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
78  virtual const ElemTemplateElement*
79  startElement(StylesheetExecutionContext& executionContext) const;
80 
81  virtual bool
82  executeChildElement(
83  StylesheetExecutionContext& executionContext,
84  const ElemTemplateElement* element) const;
85 #else
86  virtual void
87  execute(StylesheetExecutionContext& executionContext) const;
88 #endif
89 
90 private:
91 
92  // not implemented
94 
96  operator=(const ElemForwardCompatible&);
97 
98 
99  const XalanDOMString& m_elementName;
100 };
101 
102 
103 
104 }
105 
106 
107 
108 #endif // XALAN_ELEMFORWARDCOMPATIBLE_HEADER_GUARD
XALAN_CPP_NAMESPACE
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
Definition: XalanVersion.hpp:76
xalanc::AttributeListType
xercesc::AttributeList AttributeListType
Definition: AttributeListImpl.hpp:41
xalanc::StylesheetExecutionContext
Definition: StylesheetExecutionContext.hpp:106
xalanc::ElemTemplateElement
Definition: ElemTemplateElement.hpp:79
xalanc::ElemForwardCompatible
Definition: ElemForwardCompatible.hpp:36
xalanc::StylesheetConstructionContext
Definition: StylesheetConstructionContext.hpp:83
ElemTemplateElement.hpp
XSLTDefinitions.hpp
xalanc::Stylesheet
This class represents the base stylesheet or an "import" stylesheet.
Definition: Stylesheet.hpp:86
xalanc::XalanDOMString
Definition: XalanDOMString.hpp:45