All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
AnyAttribute.cpp
Go to the documentation of this file.
1 /* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2 
3  This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5  TerraLib is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  TerraLib is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with TerraLib. See COPYING. If not, write to
17  TerraLib Team at <terralib-team@terralib.org>.
18  */
19 
20 /*!
21  \file AnyAttribute.cpp
22 
23  \brief It models an XML anyAttribute element.
24 */
25 
26 // TerraLib
27 #include "AnyAttribute.h"
28 
30  : Identifiable(id),
31  Annotated(ann),
32  m_namespace(0),
33  m_pContents(STRICT)
34 {
35 }
36 
38  : Identifiable(rhs),
39  Annotated(rhs),
40  m_namespace(0),
41  m_pContents(rhs.m_pContents)
42 {
43  m_namespace = rhs.m_namespace ? new std::string(*rhs.m_namespace) : 0;
44 }
45 
47 {
48  delete m_namespace;
49 }
50 
52 {
53  if(this != &rhs)
54  {
57 
58  delete m_namespace;
59 
60  m_namespace = rhs.m_namespace ? new std::string(*rhs.m_namespace) : 0;
61 
62  m_pContents = rhs.m_pContents;
63  }
64 
65  return *this;
66 }
67 
69 {
70  return m_namespace;
71 }
72 
74 {
75  return m_pContents;
76 }
77 
79 {
80  delete m_namespace;
81  m_namespace = ns;
82 }
83 
85 {
86  m_pContents = pc;
87 }
88 
89 
std::string * getNamespace() const
It returns the namespaces containing the elements that can be used.
void setNamespace(std::string *ns)
It sets the namespaces containing the elements that can be used.
A base class for XSD classes that may allow annotation.
Definition: Annotated.h:49
ProcessContents m_pContents
It specifies how the XML processor should handle validation against the elements specified by this an...
Definition: AnyAttribute.h:115
Annotated & operator=(const Annotated &rhs)
Assignment operator.
Definition: Annotated.cpp:57
void setProcessContents(ProcessContents pc)
It sets how the XML processor should handle validation against the elements specified by this any ele...
AnyAttribute(Annotation *ann=0, std::string *id=0)
Constructor.
It models an XML anyAttribute element.
Definition: AnyAttribute.h:49
A base class for XSD classes that must provide a unique ID property.
Definition: Identifiable.h:46
ProcessContents getProcessContent() const
It returns how the XML processor should handle validation against the elements specified by this any ...
ProcessContents
It enumerates the possible ways that the XML processor should handle validation against the elements ...
Definition: Enums.h:123
AnyAttribute & operator=(const AnyAttribute &rhs)
Assignment operator.
Identifiable & operator=(const Identifiable &rhs)
Assignment operator.
The XML processor must obtain the schema for the required namespaces and validate the elements (this ...
Definition: Enums.h:125
std::string * m_namespace
It specifies the namespaces containing the attributes that can be used. (Optional) ...
Definition: AnyAttribute.h:114
It models an XML anyAttribute element.
A class that models a XSD annotation element.
Definition: Annotation.h:55
~AnyAttribute()
Destructor.