/usr/include/Poco/XML/Name.h is in libpoco-dev 1.8.0.1-1ubuntu4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | //
// Name.h
//
// Library: XML
// Package: XML
// Module: Name
//
// Definition of the Name class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef XML_Name_INCLUDED
#define XML_Name_INCLUDED
#include "Poco/XML/XML.h"
#include "Poco/XML/XMLString.h"
namespace Poco {
namespace XML {
class XML_API Name
/// An XML element or attribute name, consisting of a
/// qualified name, a namespace URI and a local name.
{
public:
Name();
/// Creates an empty Name.
Name(const XMLString& qname);
/// Creates a Name from a qualified name only.
Name(const XMLString& qname, const XMLString& namespaceURI);
/// Creates a Name from a qualified name and a namespace URI.
/// The local name is extracted from the qualified name.
Name(const XMLString& qname, const XMLString& namespaceURI, const XMLString& localName);
/// Creates a Name from a qualified name, a namespace URI and a local name.
Name(const Name& name);
/// Copy constructor.
~Name();
/// Destroys the name.
Name& operator = (const Name& name);
/// Assignment operator.
void swap(Name& name);
/// Swaps the name with another one.
void assign(const XMLString& qname);
/// Assigns a new value to the name.
void assign(const XMLString& qname, const XMLString& namespaceURI);
/// Assigns new values to the name.
/// The local name is extracted from the qualified name.
void assign(const XMLString& qname, const XMLString& namespaceURI, const XMLString& localName);
/// Assigns new values to the name.
bool equals(const Name& name) const;
/// Returns true if both names are equal.
bool equals(const XMLString& qname, const XMLString& namespaceURI, const XMLString& localName) const;
/// Returns true if all the name's components are equal to the given ones.
bool equalsWeakly(const XMLString& qname, const XMLString& namespaceURI, const XMLString& localName) const;
/// Returns true if either the qnames are identical or the namespaceURIs and the localNames are identical.
const XMLString& qname() const;
/// Returns the qualified name.
const XMLString& namespaceURI() const;
/// Returns the namespace URI.
const XMLString& localName() const;
/// Returns the local name.
XMLString prefix() const;
/// Returns the namespace prefix.
static void split(const XMLString& qname, XMLString& prefix, XMLString& localName);
/// Splits the given qualified name into its prefix and localName parts.
static XMLString localName(const XMLString& qname);
/// Returns the local name part of the given qualified name.
static XMLString prefix(const XMLString& qname);
/// Returns the prefix part of the given qualified name.
static const XMLString EMPTY_NAME;
private:
XMLString _qname;
XMLString _namespaceURI;
XMLString _localName;
};
//
// inlines
//
inline const XMLString& Name::qname() const
{
return _qname;
}
inline const XMLString& Name::namespaceURI() const
{
return _namespaceURI;
}
inline const XMLString& Name::localName() const
{
return _localName;
}
inline void swap(Name& n1, Name& n2)
{
n1.swap(n2);
}
} } // namespace Poco::XML
#endif // XML_Name_INCLUDED
|