ClickHouse/base/poco/XML/include/Poco/DOM/ProcessingInstruction.h
2023-02-13 09:00:23 +00:00

103 lines
2.6 KiB
C++

//
// ProcessingInstruction.h
//
// Library: XML
// Package: DOM
// Module: DOM
//
// Definition of the DOM ProcessingInstruction class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef DOM_ProcessingInstruction_INCLUDED
#define DOM_ProcessingInstruction_INCLUDED
#include "Poco/DOM/AbstractNode.h"
#include "Poco/XML/XML.h"
#include "Poco/XML/XMLString.h"
namespace Poco
{
namespace XML
{
class XML_API ProcessingInstruction : public AbstractNode
/// The ProcessingInstruction interface represents a "processing instruction",
/// used in XML as a way to keep processor-specific information in the text
/// of the document.
{
public:
const XMLString & target() const;
/// Returns the target of this processing instruction.
/// XML defines this as being the first token following
/// the markup that begins the processing instruction.
const XMLString & data() const;
/// Returns the content of this processing instruction. This is from the first non
/// white space character after the target to the character immediately preceding
/// the ?>.
const XMLString & getData() const;
/// Returns the content of this processing instruction. This is from the first non
/// white space character after the target to the character immediately preceding
/// the ?>.
void setData(const XMLString & data);
/// Sets the content of this processing instruction.
// Node
const XMLString & nodeName() const;
const XMLString & getNodeValue() const;
void setNodeValue(const XMLString & data);
unsigned short nodeType() const;
protected:
ProcessingInstruction(Document * pOwnerDocument, const XMLString & target, const XMLString & data);
ProcessingInstruction(Document * pOwnerDocument, const ProcessingInstruction & processingInstruction);
~ProcessingInstruction();
Node * copyNode(bool deep, Document * pOwnerDocument) const;
private:
XMLString _target;
XMLString _data;
friend class Document;
};
//
// inlines
//
inline const XMLString & ProcessingInstruction::target() const
{
return _target;
}
inline const XMLString & ProcessingInstruction::data() const
{
return _data;
}
inline const XMLString & ProcessingInstruction::getData() const
{
return _data;
}
}
} // namespace Poco::XML
#endif // DOM_ProcessingInstruction_INCLUDED