source: icXML/icXML-devel/src/xercesc/dom/impl/DOMProcessingInstructionImpl.hpp @ 2777

Last change on this file since 2777 was 2777, checked in by cameron, 7 years ago

Set up to use xercesc/icxercesc root-relative paths for all includes

File size: 3.1 KB
Line 
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *      http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18/*
19 * $Id: DOMProcessingInstructionImpl.hpp 641193 2008-03-26 08:06:57Z borisk $
20 */
21
22#if !defined(XERCESC_INCLUDE_GUARD_DOMPROCESSINGINSTRUCTIONIMPL_HPP)
23#define XERCESC_INCLUDE_GUARD_DOMPROCESSINGINSTRUCTIONIMPL_HPP
24
25//
26//  This file is part of the internal implementation of the C++ XML DOM.
27//  It should NOT be included or used directly by application programs.
28//
29//  Applications should include the file <xercesc/dom/DOM.hpp> for the entire
30//  DOM API, or xercesc/dom/DOM*.hpp for individual DOM classes, where the class
31//  name is substituded for the *.
32//
33
34
35#include <xercesc/util/XercesDefs.hpp>
36#include <xercesc/dom/DOMProcessingInstruction.hpp>
37#include <xercesc/dom/impl/DOMCharacterDataImpl.hpp>
38#include <icxercesc/dom/impl/DOMNodeImpl.hpp>
39#include <xercesc/dom/impl/DOMChildNode.hpp>
40
41XERCES_CPP_NAMESPACE_BEGIN
42
43
44class    DocumentImpl;
45
46
47class CDOM_EXPORT DOMProcessingInstructionImpl: public DOMProcessingInstruction {
48protected:
49    DOMNodeImpl   fNode;
50    DOMChildNode  fChild;
51    // use fCharacterData to store its data so that those character utitlites can be used
52    DOMCharacterDataImpl   fCharacterData;
53
54    XMLCh       *fTarget;
55    const XMLCh *fBaseURI;
56
57public:
58    DOMProcessingInstructionImpl(DOMDocument *ownerDoc,
59                              const XMLCh * target,
60                              const XMLCh *data);
61    DOMProcessingInstructionImpl(const DOMProcessingInstructionImpl &other,
62                              bool deep=false);
63    virtual ~DOMProcessingInstructionImpl();
64
65public:
66    // Declare all of the functions from DOMNode.
67    DOMNODE_FUNCTIONS;
68
69public:
70    virtual const XMLCh *getData() const;
71    virtual const XMLCh *getTarget() const;
72    virtual void setData(const XMLCh *arg);
73
74    // NON-DOM: set base uri
75    virtual void setBaseURI(const XMLCh* baseURI);
76
77    // Non standard extension for the range to work
78    void         deleteData(XMLSize_t offset, XMLSize_t count);
79    const XMLCh* substringData(XMLSize_t offset, XMLSize_t count) const;
80    DOMProcessingInstruction* splitText(XMLSize_t offset);
81
82private:
83    // -----------------------------------------------------------------------
84    // Unimplemented constructors and operators
85    // -----------------------------------------------------------------------
86    DOMProcessingInstructionImpl & operator = (const DOMProcessingInstructionImpl &);
87};
88
89XERCES_CPP_NAMESPACE_END
90
91#endif
92
Note: See TracBrowser for help on using the repository browser.