This file is indexed.

/usr/include/xercesc/dom/DOMAttr.hpp is in libxerces-c2-dev 2.8.0+deb1-2build3.

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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
#ifndef DOMAttr_HEADER_GUARD_
#define DOMAttr_HEADER_GUARD_

/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/*
 * $Id: DOMAttr.hpp 568078 2007-08-21 11:43:25Z amassari $
 */


#include <xercesc/util/XercesDefs.hpp>
#include <xercesc/dom/DOMNode.hpp>

XERCES_CPP_NAMESPACE_BEGIN

class DOMElement;
class DOMTypeInfo;

/**
 * The <code>DOMAttr</code> class refers to an attribute of an XML element.
 *
 * Typically the allowable values for the
 * attribute are defined in a documenttype definition.
 * <p><code>DOMAttr</code> objects inherit the <code>DOMNode</code>  interface, but
 * since attributes are not actually child nodes of the elements they are associated with, the
 * DOM does not consider them part of the document  tree.  Thus, the
 * <code>DOMNode</code> attributes <code>parentNode</code>,
 * <code>previousSibling</code>, and <code>nextSibling</code> have a  null
 * value for <code>DOMAttr</code> objects. The DOM takes the  view that
 * attributes are properties of elements rather than having a  separate
 * identity from the elements they are associated with;  this should make it
 * more efficient to implement such features as default attributes associated
 * with all elements of a  given type.  Furthermore, attribute nodes
 * may not be immediate children of a <code>DOMDocumentFragment</code>. However,
 * they can be associated with <code>DOMElement</code> nodes contained within a
 * <code>DOMDocumentFragment</code>. In short, users of the DOM
 * need to be aware that  <code>DOMAttr</code> nodes have some things in  common
 * with other objects inheriting the <code>DOMNode</code> interface, but they
 * also are quite distinct.
 *
 * @since DOM Level 1
 */
class CDOM_EXPORT DOMAttr: public DOMNode {
protected:
    // -----------------------------------------------------------------------
    //  Hidden constructors
    // -----------------------------------------------------------------------
    /** @name Hidden constructors */
    //@{    
    DOMAttr() {}
    DOMAttr(const DOMAttr &other) : DOMNode(other) {}
    //@}

private:    
    // -----------------------------------------------------------------------
    // Unimplemented constructors and operators
    // -----------------------------------------------------------------------
    /** @name Unimplemented operators */
    //@{
    DOMAttr & operator = (const DOMAttr &);
    //@}

public:
    // -----------------------------------------------------------------------
    //  All constructors are hidden, just the destructor is available
    // -----------------------------------------------------------------------
    /** @name Destructor */
    //@{
    /**
     * Destructor
     *
     */
    virtual ~DOMAttr() {};
    //@}

    // -----------------------------------------------------------------------
    //  Virtual DOMAttr interface
    // -----------------------------------------------------------------------
    /** @name Functions introduced in DOM Level 1 */
    //@{
    // -----------------------------------------------------------------------
    //  Getter methods
    // -----------------------------------------------------------------------
    /**
     * Returns the name of this attribute.
     * @since DOM Level 1
     */
    virtual const XMLCh *       getName() const = 0;

    /**
     *
     * Returns true if the attribute received its value explicitly in the
     * XML document, or if a value was assigned programatically with
     * the setValue function.  Returns false if the attribute value
     * came from the default value declared in the document's DTD.
     * @since DOM Level 1
     */
    virtual bool            getSpecified() const = 0;

    /**
     * Returns the value of the attribute.
     *
     * The value of the attribute is returned as a string.
     * Character and general entity references are replaced with their values.
     * @since DOM Level 1
     */
    virtual const XMLCh *       getValue() const = 0;

    // -----------------------------------------------------------------------
    //  Setter methods
    // -----------------------------------------------------------------------
    /**
     * Sets the value of the attribute.  A text node with the unparsed contents
     * of the string will be created.
     *
     * @param value The value of the DOM attribute to be set
     * @since DOM Level 1
     */
    virtual void            setValue(const XMLCh *value) = 0;
    //@}

    /** @name Functions introduced in DOM Level 2. */
    //@{
    /**
     * The <code>DOMElement</code> node this attribute is attached to or
     * <code>null</code> if this attribute is not in use.
     *
     * @since DOM Level 2
     */
    virtual DOMElement     *getOwnerElement() const = 0;
    //@}

    /** @name Functions introduced in DOM Level 3. */
    //@{
    /**
     * Returns whether this attribute is known to be of type ID or not. 
     * When it is and its value is unique, the ownerElement of this attribute 
     * can be retrieved using getElementById on Document.
     *
     * <p><b>"Experimental - subject to change"</b></p>
     *
     * @return <code>bool</code> stating if this <code>DOMAttr</code> is an ID
     * @since DOM level 3
     */
    virtual bool            isId() const = 0;


    /**
     * Returns the type information associated with this attribute.
     *
     * <p><b>"Experimental - subject to change"</b></p>
     *
     * @return the <code>DOMTypeInfo</code> associated with this attribute
     * @since DOM level 3
     */
    virtual const DOMTypeInfo * getTypeInfo() const = 0;

    //@}

};

XERCES_CPP_NAMESPACE_END

#endif