internal override void SetXML(XmlElement xml, BaseClassIfc host, HashSet<int> processed)
{
base.SetXML(xml, host, processed);
setAttribute(xml, "Location", Location);
setAttribute(xml, "Identification", Identification);
setAttribute(xml, "Name", Name);
if (mHasExternalReferences.Count > 0)
{
XmlElement element = xml.OwnerDocument.CreateElement("HasExternalReferences");
xml.AppendChild(element);
foreach (IfcExternalReferenceRelationship r in HasExternalReferences)
element.AppendChild(r.GetXML(xml.OwnerDocument, "", this, processed));
}
if (mHasConstraintRelationships.Count > 0)
{
XmlElement element = xml.OwnerDocument.CreateElement("HasConstraintRelationships");
foreach (IfcResourceConstraintRelationship r in HasConstraintRelationships)
{
if (host.Index != r.mIndex)
element.AppendChild(r.GetXML(xml.OwnerDocument, "", this, processed));
}
if (element.HasChildNodes)
xml.AppendChild(element);
}
if (mExternalReferenceForResources.Count > 0)
{
XmlElement element = xml.OwnerDocument.CreateElement("ExternalReferenceForResources");
foreach (IfcExternalReferenceRelationship r in ExternalReferenceForResources)
{
if (host.Index != r.mIndex)
element.AppendChild(r.GetXML(xml.OwnerDocument, "", this, processed));
}
if (element.HasChildNodes)
xml.AppendChild(element);
}
}
}