/// <summary> /// Allows the class to be copied /// </summary> /// <remarks> /// Performs a 'deep copy' of all the data in the class (and its children) /// </remarks> public override object Clone() { DESADV_XSDLib.Line_Measurements newObject = new DESADV_XSDLib.Line_Measurements(_elementName); foreach (DESADV_XSDLib.Line_Measurements_Group o in m_Line_Measurements_Group) { newObject.m_Line_Measurements_Group.Add((DESADV_XSDLib.Line_Measurements_Group)o.Clone()); } // ##HAND_CODED_BLOCK_START ID="Additional clone"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS // Add Additional clone code here... // ##HAND_CODED_BLOCK_END ID="Additional clone"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS return(newObject); }
// Shows a simple example of how the class Line_Measurements // can be used. This class can be used to load documents whose // root (document) element is <Line-Measurements>. private void SimpleTestLine_Measurements(string filename) { try { // create an instance of the class to load the XML file into DESADV_XSDLib.Line_Measurements elm = new DESADV_XSDLib.Line_Measurements(); // load the xml from a file into the object (the root element in the // xml document must be <Line-Measurements>. elm.FromXmlFile(filename); // This will open up a viewer, allowing you to navigate the classes // that have been generated. // Note the viewer can be used to modify properties, and provides a listing of // the code required to create the document it is displaying. SimpleViewer sv = new SimpleViewer(elm); sv.ShowDialog(); // You can then add code to navigate the data held in the class. // When navigating this object model you should refer to the documentation // generated in the directory: // C:\BTS\XSD\KORUS\DESADV_XSD.xsd.Output\DocumentationCS\. // The help should be compiled into a chm before being used, (use build.bat) //- HTML Help Workshop is required to perform this, // and can be downloaded from Microsoft. The path to the help compiler (hhc.exe) // may need adjusting in build.bat // ... //////////////////////////////////////////////////////////////////// // The Xml can be extracted from the class using one of 3 methods // //////////////////////////////////////////////////////////////////// // This method will extract the xml into a string. The string is always encoded // using Unicode, there a number of options allowing the headers, // end of line & indenting to be set. string strXml = elm.ToXml(); Console.WriteLine(strXml); // This method will extract the xml into a file. This method provides options // for changing the encoding (UTF-8, UTF-16) as well as headers, // end of line and indenting. elm.ToXmlFile(filename + ".testouput.xml"); // This method will extract the xml into a stream. This method provides options // for changing the encoding (UTF-8, UTF-16) as well as headers, // end of line and indenting. // This method is useful when a specific encoding is required (typically // UTF-8), in order to transmit it over an 8-bit connection, smtp etc // without the need to write the xml to file first. System.IO.Stream stmXml = elm.ToXmlStream(); } catch (Exception e) { DisplayError(e); } }
/// <summary> /// Initializes the class /// </summary> /// <remarks> /// This creates all the mandatory fields (populated with the default data) /// All Collection object are created. /// However any 1-n relationships (these are represented as collections) are /// empty. To comply with the schema these must be populated before the xml /// obtained from ToXml is valid against the schema C:\BTS\XSD\KORUS\DESADV_XSD.xsd. /// </remarks> protected override void Init() { DESADV_XSDLib.Registration.iRegistrationIndicator = 0; // causes registration to take place m_Line_Item = null; m_Line_Parties = null; m_Line_Measurements = null; m_Line_Order = null; m_Package_Reference = new DESADV_XSDLib.XmlObjectCollection<DESADV_XSDLib.Package_Reference>("Package-Reference", "", 0, -1, false); m_Package_Reference.OnCollectionChange += new DESADV_XSDLib.XmlObjectCollection<DESADV_XSDLib.Package_Reference>.OnCollectionChangeEvent(this.Package_Reference_OnChange); _validElement = ""; // ##HAND_CODED_BLOCK_START ID="Additional Inits"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS // Add Additional initialization code here... // ##HAND_CODED_BLOCK_END ID="Additional Inits"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS }
/// <summary> /// Allows the class to be copied /// </summary> /// <remarks> /// Performs a 'deep copy' of all the data in the class (and its children) /// </remarks> public override object Clone() { DESADV_XSDLib.Line_Measurements newObject = new DESADV_XSDLib.Line_Measurements(_elementName); foreach (DESADV_XSDLib.Line_Measurements_Group o in m_Line_Measurements_Group) newObject.m_Line_Measurements_Group.Add((DESADV_XSDLib.Line_Measurements_Group)o.Clone()); // ##HAND_CODED_BLOCK_START ID="Additional clone"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS // Add Additional clone code here... // ##HAND_CODED_BLOCK_END ID="Additional clone"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS return newObject; }
protected void ClearChoice(string selectedElement) { m_Line_Item = null; m_Line_Parties = null; m_Line_Measurements = null; m_Line_Order = null; if (m_Package_Reference != null) { if ("Package_Reference" != selectedElement) m_Package_Reference.Clear(); } _validElement = selectedElement; }