/////////////////////////////////////////////////////////////////////////////////////////////////// ////////////BUILD FROM MUTABLE OBJECTS ////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// #region Constructors and Destructors /// <summary> /// Initializes a new instance of the <see cref="GroupCore"/> class. /// </summary> /// <param name="itemMutableObject"> /// The agencyScheme. /// </param> /// <param name="parent"> /// The parent. /// </param> public GroupCore(IGroupMutableObject itemMutableObject, ISdmxStructure parent) : base(itemMutableObject, parent) { this.dimensionRef = new List<string>(); if (itemMutableObject.AttachmentConstraintRef != null) { this.attachmentConstraintRef = new CrossReferenceImpl(this, itemMutableObject.AttachmentConstraintRef); } if (itemMutableObject.DimensionRef != null) { this.dimensionRef = new List<string>(itemMutableObject.DimensionRef); } this.ValidateGroupAttributes(); }
/// <summary> /// Write a KeyFamily/Components/Group element from a IGroupMutableObject /// </summary> /// <param name="group"> /// The IGroupMutableObject object to write /// </param> private void WriteGroup(IGroupMutableObject group) { this.WriteStartElement(this.DefaultPrefix, ElementNameTable.Group); this.WriteAttributeString(AttributeNameTable.id, group.Id); foreach (string dim in group.DimensionRef) { this.TryToWriteElement(this.DefaultPrefix, ElementNameTable.DimensionRef, dim); } ////TryToWriteElement(this.DefaultPrefix, ElementNameTable.DimensionRefs, group.AttachmentConstraintRef); this.WriteEndElement(); }
/// <summary> /// Handles the Group element child elements /// </summary> /// <param name="parent"> /// The parent IGroupMutableObject object /// </param> /// <param name="localName"> /// The name of the current xml element /// </param> private void HandleTextChildElement(IGroupMutableObject parent, object localName) { if (NameTableCache.IsElement(localName, ElementNameTable.DimensionRef)) { parent.DimensionRef.Add(this.Text); } //// NOTE SDMX v2 supported in Commo ////else if (NameTableCache.IsElement(localName, ElementNameTable.AttachmentConstraintRef)) ////{ //// parent.AttachmentConstraintRef = this.Text; ////} }