public Excel_geometricBM_LocalVol(XmlNode xmlNode) : base(xmlNode) { XmlNode currentValueNode = xmlNode.SelectSingleNode("currentValue"); if (currentValueNode != null) { if (currentValueNode.Attributes["href"] != null || currentValueNode.Attributes["id"] != null) { if (currentValueNode.Attributes["id"] != null) { currentValueIDRef_ = currentValueNode.Attributes["id"].Value; XsdTypeToken ob = new XsdTypeToken(currentValueNode); IDManager.SetID(currentValueIDRef_, ob); } else if (currentValueNode.Attributes["href"] != null) { currentValueIDRef_ = currentValueNode.Attributes["href"].Value; } else { currentValue_ = new XsdTypeToken(currentValueNode); } } else { currentValue_ = new XsdTypeToken(currentValueNode); } } XmlNode driftNode = xmlNode.SelectSingleNode("drift"); if (driftNode != null) { if (driftNode.Attributes["href"] != null || driftNode.Attributes["id"] != null) { if (driftNode.Attributes["id"] != null) { driftIDRef_ = driftNode.Attributes["id"].Value; XsdTypeToken ob = new XsdTypeToken(driftNode); IDManager.SetID(driftIDRef_, ob); } else if (driftNode.Attributes["href"] != null) { driftIDRef_ = driftNode.Attributes["href"].Value; } else { drift_ = new XsdTypeToken(driftNode); } } else { drift_ = new XsdTypeToken(driftNode); } } XmlNode dividendNode = xmlNode.SelectSingleNode("dividend"); if (dividendNode != null) { if (dividendNode.Attributes["href"] != null || dividendNode.Attributes["id"] != null) { if (dividendNode.Attributes["id"] != null) { dividendIDRef_ = dividendNode.Attributes["id"].Value; XsdTypeToken ob = new XsdTypeToken(dividendNode); IDManager.SetID(dividendIDRef_, ob); } else if (dividendNode.Attributes["href"] != null) { dividendIDRef_ = dividendNode.Attributes["href"].Value; } else { dividend_ = new XsdTypeToken(dividendNode); } } else { dividend_ = new XsdTypeToken(dividendNode); } } XmlNode linkedSurfaceCodeNode = xmlNode.SelectSingleNode("linkedSurfaceCode"); if (linkedSurfaceCodeNode != null) { if (linkedSurfaceCodeNode.Attributes["href"] != null || linkedSurfaceCodeNode.Attributes["id"] != null) { if (linkedSurfaceCodeNode.Attributes["id"] != null) { linkedSurfaceCodeIDRef_ = linkedSurfaceCodeNode.Attributes["id"].Value; XsdTypeToken ob = new XsdTypeToken(linkedSurfaceCodeNode); IDManager.SetID(linkedSurfaceCodeIDRef_, ob); } else if (linkedSurfaceCodeNode.Attributes["href"] != null) { linkedSurfaceCodeIDRef_ = linkedSurfaceCodeNode.Attributes["href"].Value; } else { linkedSurfaceCode_ = new XsdTypeToken(linkedSurfaceCodeNode); } } else { linkedSurfaceCode_ = new XsdTypeToken(linkedSurfaceCodeNode); } } XmlNode excel_volSurfaceNode = xmlNode.SelectSingleNode("excel_volSurface"); if (excel_volSurfaceNode != null) { if (excel_volSurfaceNode.Attributes["href"] != null || excel_volSurfaceNode.Attributes["id"] != null) { if (excel_volSurfaceNode.Attributes["id"] != null) { excel_volSurfaceIDRef_ = excel_volSurfaceNode.Attributes["id"].Value; Excel_volSurface ob = new Excel_volSurface(excel_volSurfaceNode); IDManager.SetID(excel_volSurfaceIDRef_, ob); } else if (excel_volSurfaceNode.Attributes["href"] != null) { excel_volSurfaceIDRef_ = excel_volSurfaceNode.Attributes["href"].Value; } else { excel_volSurface_ = new Excel_volSurface(excel_volSurfaceNode); } } else { excel_volSurface_ = new Excel_volSurface(excel_volSurfaceNode); } } XmlNode vba_descriptionNode = xmlNode.SelectSingleNode("vba_description"); if (vba_descriptionNode != null) { if (vba_descriptionNode.Attributes["href"] != null || vba_descriptionNode.Attributes["id"] != null) { if (vba_descriptionNode.Attributes["id"] != null) { vba_descriptionIDRef_ = vba_descriptionNode.Attributes["id"].Value; XsdTypeToken ob = new XsdTypeToken(vba_descriptionNode); IDManager.SetID(vba_descriptionIDRef_, ob); } else if (vba_descriptionNode.Attributes["href"] != null) { vba_descriptionIDRef_ = vba_descriptionNode.Attributes["href"].Value; } else { vba_description_ = new XsdTypeToken(vba_descriptionNode); } } else { vba_description_ = new XsdTypeToken(vba_descriptionNode); } } }