/////////////////////////////////////////////////////////////////////////////////////////////////// ////////////BUILD FROM READER ////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// // public CodeCore(ICodelistObject parent, SdmxReader reader) { // super(validateRootElement(reader), reader, parent); // if(reader.moveToElement("Parent", "Code")) { // reader.moveNextElement(); //Move to the Ref Node // if(!reader.getCurrentElement().equals("Ref")) { // throw new SdmxSemmanticException("Expecting 'Ref' element after 'Parent' element for Code"); // } // this.parentCode = reader.getAttributeValue("id", true); // } // } // private static SdmxStructureType validateRootElement(SdmxReader reader) { // if(!reader.getCurrentElement().equals("Code")) { // throw new SdmxSemmanticException("Can not construct code - expecting 'Code' Element in SDMX, actual element:" + reader.getCurrentElementValue()); // } // return SdmxStructureType.GetFromEnum(SdmxStructureEnumType.CODE); // } /////////////////////////////////////////////////////////////////////////////////////////////////// ////////////BUILD FROM V2.1 SCHEMA ////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> /// Initializes a new instance of the <see cref="CodeCore"/> class. /// </summary> /// <param name="parent"> /// The parent. /// </param> /// <param name="code"> /// The sdmxObject. /// </param> public CodeCore(ICodelistObject parent, CodeType code) : base(code, _codeType, parent) { var parentItem = code.GetTypedParent<LocalCodeReferenceType>(); this.parentCode = (parentItem != null) ? parentItem.GetTypedRef<LocalCodeRefType>().id : null; }