All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AnyAttribute.cpp
Go to the documentation of this file.
1 /* Copyright (C) 2010-2012 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 
ProcessContents getProcessContent() const
It returns how the XML processor should handle validation against the elements specified by this any ...
AnyAttribute(Annotation *ann=0, std::string *id=0)
Constructor.
AnyAttribute & operator=(const AnyAttribute &rhs)
Assignment operator.
std::string * getNamespace() const
It returns the namespaces containing the elements that can be used.
void setProcessContents(ProcessContents pc)
It sets how the XML processor should handle validation against the elements specified by this any ele...
ProcessContents
It enumerates the possible ways that the XML processor should handle validation against the elements ...
Definition: Enums.h:123
std::string * m_namespace
It specifies the namespaces containing the attributes that can be used. (Optional) ...
Definition: AnyAttribute.h:114
~AnyAttribute()
Destructor.
The XML processor must obtain the schema for the required namespaces and validate the elements (this ...
Definition: Enums.h:125
Annotated & operator=(const Annotated &rhs)
Assignment operator.
Definition: Annotated.cpp:57
void setNamespace(std::string *ns)
It sets the namespaces containing the elements that can be used.
A base class for XSD classes that must provide a unique ID property.
Definition: Identifiable.h:46
It models an XML anyAttribute element.
Definition: AnyAttribute.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
A class that models a XSD annotation element.
Definition: Annotation.h:55
Identifiable & operator=(const Identifiable &rhs)
Assignment operator.
A base class for XSD classes that may allow annotation.
Definition: Annotated.h:49