CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends
DDXMLElement Class Reference

This is a base class for processing XML elements in the DDD. More...

#include <DDXMLElement.h>

Inheritance diagram for DDXMLElement:
DDLAlgorithm DDLDivision DDLLogicalPart DDLMap DDLMaterial DDLNumeric DDLPosPart DDLRotationAndReflection DDLRotationByAxis DDLSolid DDLSpecPar DDLString DDLVector

Public Member Functions

void appendText (const std::string &inText)
 append to the current (i.e. most recently added) More...
 
virtual std::vector< DDXMLAttribute >::const_iterator begin (void)
 
virtual void clear (void)
 clear this element's contents. More...
 
 DDXMLElement (DDLElementRegistry *myreg)
 Constructor. More...
 
 DDXMLElement (DDLElementRegistry *myreg, const bool &clearme)
 Constructor for autoClear element. More...
 
virtual std::vector< DDXMLAttribute >::const_iterator end (void)
 
virtual const std::string & get (const std::string &name, size_t aIndex=0) const
 Returns a specific value from the aIndex set of attributes. More...
 
virtual const std::string & getAttribute (const std::string &name) const
 Access to attributes by name. More...
 
virtual const DDXMLAttributegetAttributeSet (size_t aIndex=0) const
 Get a "row" of attributes, i.e. one attribute set. More...
 
const virtual DDName getDDName (const std::string &defaultNS, const std::string &attname=std::string("name"), size_t aIndex=0)
 
const std::string getText (size_t tindex=0) const
 retrieve the text blob. More...
 
virtual std::vector< std::string > getVectorAttribute (const std::string &name)
 Returns a set of values as a std::vector of strings, given the attribute name. More...
 
virtual bool gotText (void) const
 gotText()? kind of like gotMilk? Yes = text has already been encountered. More...
 
virtual bool isEmpty (void) const
 Have any elements of this type been encountered but not processed? More...
 
void loadAttributes (const std::string &elemName, const std::vector< std::string > &names, const std::vector< std::string > &values, const std::string &nmspace, DDCompactView &cpv)
 Load the element attributes. More...
 
void loadText (const std::string &inText)
 Used to load both text and XML comments into this object. More...
 
std::vector< DDXMLAttribute >::const_iterator & operator++ (int inc)
 Allow the elements of this type to be iterated over using ++ operator. More...
 
const std::string & parent (void) const
 access to parent element name More...
 
virtual void preProcessElement (const std::string &name, const std::string &nmspace, DDCompactView &cpv)
 Called by loadAttributes AFTER attributes are loaded. More...
 
virtual void processElement (const std::string &name, const std::string &nmspace, DDCompactView &cpv)
 Processing the element. More...
 
void setParent (const std::string &pename)
 Set parent element name to central list of names. More...
 
void setSelf (const std::string &sename)
 Set self element name to central list of names. More...
 
virtual size_t size (void) const
 Number of elements accumulated. More...
 
virtual void stream (std::ostream &os) const
 Allow for the elements to have their own streaming method, but also provide a default. More...
 
void throwError (const std::string &keyMessage) const
 format std::string for throw an error. More...
 
virtual ~DDXMLElement (void)=default
 Destructor. More...
 

Protected Attributes

DDLElementRegistrymyRegistry_
 

Private Member Functions

void appendAttributes (std::vector< std::string > &tv, const std::string &name)
 behind the scenes appending to pAttributes... More...
 

Private Attributes

AttrAccumType attributeAccumulator_
 
std::vector< DDXMLAttributeattributes_
 
bool autoClear_
 
std::string myElement_
 
std::vector< DDXMLAttribute >::const_iterator myIter_
 
std::string parentElement_
 
std::vector< std::string > text_
 

Friends

std::ostream & operator<< (std::ostream &os, const DDXMLElement &element)
 

Detailed Description

This is a base class for processing XML elements in the DDD.

     DDXMLElement                       

Component of DDL XML Parsing

A DDXMLElement stores all the attributes and text of an XML element. It is designed to accumulate this information unless cleared. In other words, it accumulates sets of attributes, and allows the appending of text indefinitely, as opposed to, say, creating another class which is designed to hold a std::vector of single element information. This is contrary to the way that XML normally defines an element, but for DDL, this works fine.

One of the things that one needs to build in to each subclass is when an element needs to be cleared. For some, emptying the std::vectors should happen at the end (of the processElement method). For some, clearing is ONLY done by the parent. For example, SpecPar and its child PartSelector. or Polyhedra and its child ZSection. In some cases elements can be in one or more parent elements as well as on their own (Vector, Map). For these the processing currently depends on the parent so one must clear only as appropriate.

Definition at line 48 of file DDXMLElement.h.

Constructor & Destructor Documentation

◆ DDXMLElement() [1/2]

DDXMLElement::DDXMLElement ( DDLElementRegistry myreg)

Constructor.

Definition at line 14 of file DDXMLElement.cc.

14 : myRegistry_(myreg), attributes_(), text_(), autoClear_(false) {}

◆ DDXMLElement() [2/2]

DDXMLElement::DDXMLElement ( DDLElementRegistry myreg,
const bool &  clearme 
)

Constructor for autoClear element.

Definition at line 16 of file DDXMLElement.cc.

17  : myRegistry_(myreg), attributes_(), text_(), autoClear_(clearme) {}

◆ ~DDXMLElement()

virtual DDXMLElement::~DDXMLElement ( void  )
virtualdefault

Destructor.

Member Function Documentation

◆ appendAttributes()

void DDXMLElement::appendAttributes ( std::vector< std::string > &  tv,
const std::string &  name 
)
private

behind the scenes appending to pAttributes...

Definition at line 173 of file DDXMLElement.cc.

173  {
174  for (size_t i = tv.size(); i < attributes_.size(); ++i) {
175  DDXMLAttribute::const_iterator itnv = attributes_[i].find(name);
176  if (itnv != attributes_[i].end())
177  tv.emplace_back(itnv->second);
178  else
179  tv.emplace_back("");
180  }
181 }

References attributes_, end(), mps_fire::i, and Skims_PA_cff::name.

Referenced by getVectorAttribute().

◆ appendText()

void DDXMLElement::appendText ( const std::string &  inText)

append to the current (i.e. most recently added)

Definition at line 134 of file DDXMLElement.cc.

134  {
135  static const std::string cr("\n");
136  if (!text_.empty()) {
137  text_[text_.size() - 1] += cr;
138  text_[text_.size() - 1] += inText;
139  } else {
140  std::string msg = "DDXMLElement::appendText could not append to non-existent text.";
141  throwError(msg);
142  }
143 }

References mps_check::msg, AlCaHLTBitMon_QueryRunRegistry::string, text_, and throwError().

◆ begin()

std::vector< DDXMLAttribute >::const_iterator DDXMLElement::begin ( void  )
virtual

Definition at line 186 of file DDXMLElement.cc.

186  {
187  myIter_ = attributes_.begin();
188  return attributes_.begin();
189 }

References attributes_, and myIter_.

◆ clear()

void DDXMLElement::clear ( void  )
virtual

◆ end()

std::vector< DDXMLAttribute >::const_iterator DDXMLElement::end ( void  )
virtual

◆ get()

const std::string & DDXMLElement::get ( const std::string &  name,
size_t  aIndex = 0 
) const
virtual

Returns a specific value from the aIndex set of attributes.

Definition at line 85 of file DDXMLElement.cc.

85  {
86  static const std::string sts;
87  if (aIndex < attributes_.size()) {
88  DDXMLAttribute::const_iterator it = attributes_[aIndex].find(name);
89  if (attributes_[aIndex].end() == it) {
90  return sts;
91  } else
92  return (it->second);
93  }
94  std::string msg = "DDXMLElement:get failed. It was asked for attribute " + name;
95  msg += " in position " + std::to_string(aIndex) + " when there are only ";
96  msg += std::to_string(attributes_.size()) + " in the element storage.\n";
97  throwError(msg);
98  // meaningless...
99  return sts;
100 }

References attributes_, end(), mps_check::msg, Skims_PA_cff::name, AlCaHLTBitMon_QueryRunRegistry::string, and throwError().

Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), submitPVValidationJobs.BetterConfigParser::__updateDict(), rrapi.RRApi::columns(), util.rrapi.RRApi::columns(), rrapi.RRApi::count(), util.rrapi.RRApi::count(), rrapi.RRApi::data(), util.rrapi.RRApi::data(), getAttribute(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), betterConfigParser.BetterConfigParser::getResultingSection(), submitPVValidationJobs.BetterConfigParser::getResultingSection(), util.rrapi.RRApi::report(), rrapi.RRApi::report(), util.rrapi.RRApi::reports(), rrapi.RRApi::reports(), rrapi.RRApi::tables(), util.rrapi.RRApi::tables(), util.rrapi.RRApi::tags(), rrapi.RRApi::tags(), rrapi.RRApi::templates(), util.rrapi.RRApi::templates(), rrapi.RRApi::workspaces(), and util.rrapi.RRApi::workspaces().

◆ getAttribute()

const std::string & DDXMLElement::getAttribute ( const std::string &  name) const
virtual

Access to attributes by name.

Definition at line 47 of file DDXMLElement.cc.

47  {
48  static const std::string ldef;
49  if (!attributes_.empty())
50  return get(name, attributes_.size() - 1);
51  return ldef;
52 }

References attributes_, get(), Skims_PA_cff::name, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ getAttributeSet()

const DDXMLAttribute & DDXMLElement::getAttributeSet ( size_t  aIndex = 0) const
virtual

◆ getDDName()

const DDName DDXMLElement::getDDName ( const std::string &  defaultNS,
const std::string &  attname = std::string("name"),
size_t  aIndex = 0 
)
virtual

Definition at line 56 of file DDXMLElement.cc.

56  {
57  if (aIndex < attributes_.size() && attributes_[aIndex].find(attname) != attributes_[aIndex].end()) {
58  std::string ns = defaultNS;
59  // For the user to fully control namespaces they must provide for
60  // all name attributes something of the form, for example:
61  // <Solid name="ns:name" ...
62  // If defaultNS is "!" (magic I don't like) then find and set
63  // the namespace properly.
64  if (defaultNS == "!") {
65  ns = "";
66  }
67  const std::string& name = attributes_[aIndex].find(attname)->second;
68  std::string rn = name;
69  size_t foundColon = name.find(':');
70  if (foundColon != std::string::npos) {
71  ns = name.substr(0, foundColon);
72  rn = name.substr(foundColon + 1);
73  }
74  return DDName(rn, ns);
75  }
76  std::string msg = "DDXMLElement:getDDName failed. It was asked to make ";
77  msg += "a DDName using attribute: " + attname;
78  msg += " in position: " + std::to_string(aIndex) + ". There are ";
79  msg += std::to_string(attributes_.size()) + " entries in the element.";
80  throwError(msg);
81  return DDName("justToCompile", "justToCompile"); // used to make sure it compiles
82 }

References attributes_, mps_check::msg, Skims_PA_cff::name, AlCaHLTBitMon_QueryRunRegistry::string, and throwError().

Referenced by DDLRotationAndReflection::isLeftHanded(), DDLPgonGenerator::processElement(), DDLAssembly::processElement(), DDLTubs::processElement(), DDLTrapezoid::processElement(), DDLTorus::processElement(), DDLPseudoTrap::processElement(), DDLEllipticalTube::processElement(), DDLShapelessSolid::processElement(), DDLSphere::processElement(), DDLRotationSequence::processElement(), DDLAlgorithm::processElement(), DDLRotationByAxis::processElement(), DDLSpecPar::processElement(), DDLBox::processElement(), DDLCone::processElement(), DDLString::processElement(), DDLPolyGenerator::processElement(), DDLDivision::processElement(), DDLRotationAndReflection::processElement(), DDLElementaryMaterial::processElement(), DDLBooleanSolid::processElement(), DDLVector::processElement(), DDLNumeric::processElement(), DDLCompositeMaterial::processElement(), DDLLogicalPart::processElement(), and DDLMap::processElement().

◆ getText()

const std::string DDXMLElement::getText ( size_t  tindex = 0) const

retrieve the text blob.

Definition at line 145 of file DDXMLElement.cc.

145  {
146  if (tindex > text_.size()) {
147  std::string msg = "DDXMLElement::getText tindex is greater than text_.size()).";
148  throwError(msg);
149  }
150  return text_[tindex];
151 }

References mps_check::msg, AlCaHLTBitMon_QueryRunRegistry::string, text_, and throwError().

Referenced by DDLVector::processElement(), and DDLMap::processElement().

◆ getVectorAttribute()

std::vector< std::string > DDXMLElement::getVectorAttribute ( const std::string &  name)
virtual

Returns a set of values as a std::vector of strings, given the attribute name.

Definition at line 104 of file DDXMLElement.cc.

104  {
105  // The idea here is that the attributeAccumulator_ is a cache of
106  // on-the-fly generation from the std::vector<DDXMLAttribute> and the
107  // reason is simply to speed things up if it is requested more than once.
108  std::vector<std::string> tv;
109  AttrAccumType::const_iterator ita = attributeAccumulator_.find(name);
110  if (ita != attributeAccumulator_.end()) {
112  if (tv.size() < attributes_.size()) {
113  appendAttributes(tv, name);
114  }
115  } else {
116  if (!attributes_.empty()) {
117  appendAttributes(tv, name);
118  } else {
119  // throw cms::Exception("DDException") << msg;
120  }
121  }
122  return tv;
123 }

References appendAttributes(), attributeAccumulator_, attributes_, and Skims_PA_cff::name.

◆ gotText()

bool DDXMLElement::gotText ( void  ) const
virtual

gotText()? kind of like gotMilk? Yes = text has already been encountered.

Definition at line 153 of file DDXMLElement.cc.

153  {
154  if (!text_.empty())
155  return true;
156  return false;
157 }

References text_.

◆ isEmpty()

bool DDXMLElement::isEmpty ( void  ) const
virtual

Have any elements of this type been encountered but not processed?

Definition at line 207 of file DDXMLElement.cc.

207 { return (attributes_.empty() ? true : false); }

References attributes_, and funct::true.

Referenced by plotting.Plot::clone().

◆ loadAttributes()

void DDXMLElement::loadAttributes ( const std::string &  elemName,
const std::vector< std::string > &  names,
const std::vector< std::string > &  values,
const std::string &  nmspace,
DDCompactView cpv 
)

Load the element attributes.

The loadAttributes method loads the attributes of the element into a std::map<std::string, std::string> which is used to store Name-Value pairs. It takes as input two std::vectors of strings containing "synchronized" names and values.

In the SAX2 based calling process, this is done on a startElement event.

Definition at line 23 of file DDXMLElement.cc.

27  {
28  attributes_.resize(attributes_.size() + 1);
29  DDXMLAttribute& tAttributes = attributes_.back();
30 
31  // adds attributes
32  for (size_t i = 0; i < names.size(); ++i) {
33  tAttributes.insert(std::make_pair(names[i], values[i]));
34  }
35 
36  preProcessElement(elemName, nmspace, cpv);
37 }

References attributes_, mps_fire::i, names, preProcessElement(), and contentValuesCheck::values.

Referenced by DDLRotationByAxis::processElement().

◆ loadText()

void DDXMLElement::loadText ( const std::string &  inText)

Used to load both text and XML comments into this object.

At the current time this is done simply as a way for the user of this class to accumulate text and/or comments as std::vector of strings, each one matching the std::vector of attributes. Therefore loadText starts a new text storage.

Definition at line 132 of file DDXMLElement.cc.

132 { text_.emplace_back(inText); }

References text_.

Referenced by processElement().

◆ operator++()

std::vector< DDXMLAttribute >::const_iterator & DDXMLElement::operator++ ( int  inc)

Allow the elements of this type to be iterated over using ++ operator.

Definition at line 196 of file DDXMLElement.cc.

196  {
197  myIter_ = myIter_ + inc;
198  return myIter_;
199 }

References myIter_.

◆ parent()

const std::string & DDXMLElement::parent ( void  ) const

◆ preProcessElement()

void DDXMLElement::preProcessElement ( const std::string &  name,
const std::string &  nmspace,
DDCompactView cpv 
)
virtual

Called by loadAttributes AFTER attributes are loaded.

The preProcessElement method can assume that the attributes are loaded and perform any code that is necessary at the start of an element.

This would allow users to call their own code to setup anything necessary for the continued processing of the child elements.

Reimplemented in DDLMap, DDLLogicalPart, DDLCompositeMaterial, DDLNumeric, DDLPolyGenerator, DDLVector, DDLBooleanSolid, DDLDivision, DDLPosPart, DDLString, DDLAlgorithm, DDLRotationByAxis, DDLShapelessSolid, DDLRotationSequence, DDLAssembly, and DDLPgonGenerator.

Definition at line 20 of file DDXMLElement.cc.

20 {}

Referenced by loadAttributes().

◆ processElement()

void DDXMLElement::processElement ( const std::string &  name,
const std::string &  nmspace,
DDCompactView cpv 
)
virtual

Processing the element.

The processElement method completes any necessary work to process the XML element.

For example, this can be used to call the DDCore to make the geometry in memory. There is a default for this so that if not declared in the inheriting class, no processing is done.

Reimplemented in DDLMap, DDLLogicalPart, DDLCompositeMaterial, DDLNumeric, DDLVector, DDLBooleanSolid, DDLDivision, DDLElementaryMaterial, DDLPolyGenerator, DDLPosPart, DDLRotationAndReflection, DDLBox, DDLCone, DDLString, DDLAlgorithm, DDLRotationByAxis, DDLSpecPar, DDLRotationSequence, DDLEllipticalTube, DDLShapelessSolid, DDLSphere, DDLPseudoTrap, DDLTorus, DDLTrapezoid, DDLAssembly, DDLTubs, and DDLPgonGenerator.

Definition at line 126 of file DDXMLElement.cc.

126  {
128  if (autoClear_)
129  clear();
130 }

References autoClear_, clear(), loadText(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ setParent()

void DDXMLElement::setParent ( const std::string &  pename)

Set parent element name to central list of names.

Definition at line 203 of file DDXMLElement.cc.

203 { parentElement_ = pename; }

References parentElement_.

◆ setSelf()

void DDXMLElement::setSelf ( const std::string &  sename)

Set self element name to central list of names.

Definition at line 205 of file DDXMLElement.cc.

205 { myElement_ = sename; }

References myElement_.

◆ size()

size_t DDXMLElement::size ( void  ) const
virtual

Number of elements accumulated.

Definition at line 184 of file DDXMLElement.cc.

184 { return attributes_.size(); }

References attributes_.

Referenced by ntupleDataFormat._Collection::__iter__(), and ntupleDataFormat._Collection::__len__().

◆ stream()

void DDXMLElement::stream ( std::ostream &  os) const
virtual

Allow for the elements to have their own streaming method, but also provide a default.

Definition at line 164 of file DDXMLElement.cc.

164  {
165  os << "Output of current element attributes:" << std::endl;
166  for (const auto& attribute : attributes_) {
167  for (DDXMLAttribute::const_iterator it = attribute.begin(); it != attribute.end(); ++it)
168  os << it->first << " = " << it->second << "\t";
169  os << std::endl;
170  }
171 }

References attributes_.

Referenced by operator<<().

◆ throwError()

void DDXMLElement::throwError ( const std::string &  keyMessage) const

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const DDXMLElement element 
)
friend

Definition at line 159 of file DDXMLElement.cc.

159  {
160  element.stream(os);
161  return os;
162 }

Member Data Documentation

◆ attributeAccumulator_

AttrAccumType DDXMLElement::attributeAccumulator_
private

Definition at line 182 of file DDXMLElement.h.

Referenced by clear(), and getVectorAttribute().

◆ attributes_

std::vector<DDXMLAttribute> DDXMLElement::attributes_
private

◆ autoClear_

bool DDXMLElement::autoClear_
private

Definition at line 183 of file DDXMLElement.h.

Referenced by processElement().

◆ myElement_

std::string DDXMLElement::myElement_
private

Definition at line 185 of file DDXMLElement.h.

Referenced by setSelf(), and throwError().

◆ myIter_

std::vector<DDXMLAttribute>::const_iterator DDXMLElement::myIter_
private

Definition at line 184 of file DDXMLElement.h.

Referenced by begin(), end(), and operator++().

◆ myRegistry_

DDLElementRegistry* DDXMLElement::myRegistry_
protected

Definition at line 173 of file DDXMLElement.h.

Referenced by DDLVector::do_makeDouble(), DDLMap::do_makeDouble(), DDLBooleanSolid::dumpBooleanSolid(), DDLRotationAndReflection::isLeftHanded(), DDLRotationAndReflection::makeX(), DDLRotationAndReflection::makeY(), DDLRotationAndReflection::makeZ(), DDLPgonGenerator::preProcessElement(), DDLAssembly::preProcessElement(), DDLRotationSequence::preProcessElement(), DDLShapelessSolid::preProcessElement(), DDLAlgorithm::preProcessElement(), DDLBooleanSolid::preProcessElement(), DDLPosPart::preProcessElement(), DDLPolyGenerator::preProcessElement(), DDLCompositeMaterial::preProcessElement(), DDLLogicalPart::preProcessElement(), DDLPgonGenerator::processElement(), DDLTubs::processElement(), DDLTorus::processElement(), DDLPseudoTrap::processElement(), DDLTrapezoid::processElement(), DDLSphere::processElement(), DDLEllipticalTube::processElement(), DDLRotationSequence::processElement(), DDLRotationByAxis::processElement(), DDLAlgorithm::processElement(), DDLSpecPar::processElement(), DDLBox::processElement(), DDLCone::processElement(), DDLPolyGenerator::processElement(), DDLRotationAndReflection::processElement(), DDLDivision::processElement(), DDLElementaryMaterial::processElement(), DDLBooleanSolid::processElement(), DDLPosPart::processElement(), DDLNumeric::processElement(), DDLVector::processElement(), DDLCompositeMaterial::processElement(), DDLLogicalPart::processElement(), DDLMap::processElement(), DDLRotationByAxis::processOne(), DDLMaterial::setReference(), and DDLSolid::setReference().

◆ parentElement_

std::string DDXMLElement::parentElement_
private

Definition at line 186 of file DDXMLElement.h.

Referenced by parent(), and setParent().

◆ text_

std::vector<std::string> DDXMLElement::text_
private

Definition at line 181 of file DDXMLElement.h.

Referenced by appendText(), clear(), getText(), gotText(), and loadText().

DDXMLElement::clear
virtual void clear(void)
clear this element's contents.
Definition: DDXMLElement.cc:40
mps_fire.i
i
Definition: mps_fire.py:428
DDXMLElement::myElement_
std::string myElement_
Definition: DDXMLElement.h:185
DDXMLElement::throwError
void throwError(const std::string &keyMessage) const
format std::string for throw an error.
Definition: DDXMLElement.cc:209
DDName
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:17
DDXMLElement::stream
virtual void stream(std::ostream &os) const
Allow for the elements to have their own streaming method, but also provide a default.
Definition: DDXMLElement.cc:164
DDXMLElement::end
virtual std::vector< DDXMLAttribute >::const_iterator end(void)
Definition: DDXMLElement.cc:191
mps_check.msg
tuple msg
Definition: mps_check.py:285
DDXMLElement::attributes_
std::vector< DDXMLAttribute > attributes_
Definition: DDXMLElement.h:180
names
const std::string names[nVars_]
Definition: PhotonIDValueMapProducer.cc:124
contentValuesCheck.values
values
Definition: contentValuesCheck.py:38
DDXMLElement::parentElement_
std::string parentElement_
Definition: DDXMLElement.h:186
DDXMLElement::appendAttributes
void appendAttributes(std::vector< std::string > &tv, const std::string &name)
behind the scenes appending to pAttributes...
Definition: DDXMLElement.cc:173
DDXMLElement::attributeAccumulator_
AttrAccumType attributeAccumulator_
Definition: DDXMLElement.h:182
DDXMLAttribute
std::map< std::string, std::string > DDXMLAttribute
Definition: DDXMLElement.h:45
funct::true
true
Definition: Factorize.h:173
DDXMLElement::preProcessElement
virtual void preProcessElement(const std::string &name, const std::string &nmspace, DDCompactView &cpv)
Called by loadAttributes AFTER attributes are loaded.
Definition: DDXMLElement.cc:20
DDXMLElement::autoClear_
bool autoClear_
Definition: DDXMLElement.h:183
DDXMLElement::loadText
void loadText(const std::string &inText)
Used to load both text and XML comments into this object.
Definition: DDXMLElement.cc:132
DDXMLElement::get
virtual const std::string & get(const std::string &name, size_t aIndex=0) const
Returns a specific value from the aIndex set of attributes.
Definition: DDXMLElement.cc:85
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DDXMLElement::text_
std::vector< std::string > text_
Definition: DDXMLElement.h:181
Exception
Definition: hltDiff.cc:245
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
DDXMLElement::myRegistry_
DDLElementRegistry * myRegistry_
Definition: DDXMLElement.h:173
DDXMLElement::myIter_
std::vector< DDXMLAttribute >::const_iterator myIter_
Definition: DDXMLElement.h:184