Visual Basic 6 Sample : Cardinality
Schema Summary This sample shows how to deal with mandatory, optional and collections of elements. Schema Details Sample Description The sample demonstrates how to read and write from optional, mandatory and collections of elements, when data is included in the XML document. |
Sample XML File
Sample1.xml |
<?xml version="1.0" encoding="UTF-8"?> <MyRootObject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="..\Schema\Cardinality.xsd"> <ASimpleStringMandatoryElement>Some Required Data</ASimpleStringMandatoryElement> <ASimpleDateMandatoryElement>2003-11-23</ASimpleDateMandatoryElement> <AComplexMandatoryElement> <ChildItem>Some More Required Data</ChildItem> </AComplexMandatoryElement> <ASimpleStringOptionalElement>Some Optional Data</ASimpleStringOptionalElement> <ASimpleDateOptionalElement>2001-05-06</ASimpleDateOptionalElement> <AComplexOptionalElement> <ChildItem>Some More Optional Data</ChildItem> </AComplexOptionalElement> <ASimpleStringCollectionElement>First Data Item</ASimpleStringCollectionElement> <ASimpleStringCollectionElement>Second Data Item</ASimpleStringCollectionElement> <ASimpleDateCollectionElement>2003-01-01</ASimpleDateCollectionElement> <ASimpleDateCollectionElement>2003-01-02</ASimpleDateCollectionElement> <ASimpleDateCollectionElement>2003-01-03</ASimpleDateCollectionElement> <AComplexCollectionElement> <ChildItem>First Complex Data Item</ChildItem> </AComplexCollectionElement> <AComplexCollectionElement> <ChildItem>Second Complex Data Item</ChildItem> </AComplexCollectionElement> </MyRootObject> |
Read Sample | |
SampleRead SamplePath &; "Cardinality\Samples\Sample1.xml" Public Sub SampleRead(ByVal FilePath As String) ' Create DVD object Dim root As New CardinalityLib.MyRootObject ' Load data into the object from a file root.FromXmlFile FilePath ' Now we can look at the mandatory elements ' These are simple they are always there, ' and can be accessed without checking they exist first Trace "A Simple String Mandatory Element = " &; root.ASimpleStringMandatoryElement Trace "A Simple Date Mandatory Element = " &; root.ASimpleDateMandatoryElement.ToString("s") Trace "A Complex Mandatory Element = " &; root.AComplexMandatoryElement.ChildItem ' Now we can look at the optional elements. ' Because these may be missing in the xml document ' we need to check that they exist before accessing them. ' For primitives (string, DateTime, Binary etc we have to use the ' IsValidXXX mthods. ' Note ' ASimpleDateOptionalElement returns a DateTime object but ' querying it when root.IsValidASimpleDateOptionalElement is false will ' raise an exception. ' AComplexMandatoryElement returns an object AComplexOptionalElement ' this will be null if item is not present in the xml, there is not ' IsValid method for it. If root.IsValidASimpleStringOptionalElement Then Trace "A Simple String Optional Element = " &; root.ASimpleStringOptionalElement End If If root.IsValidASimpleDateOptionalElement Then Trace "A Simple Date Optional Element = " &; root.ASimpleDateOptionalElement.ToString("s") End If If Not root.AComplexOptionalElement Is Nothing Then Trace "A Complex Optional Element = " &; root.AComplexOptionalElement.ChildItem End If ' Now we can look at the collections of elements. ' A collections object is always provided within the parent object ' even if no of objects are always present in the xml document. Dim vStr As Variant For Each vStr In root.ASimpleStringCollectionElement Trace "A Simple String Collection Element = " &; vStr Next vStr Dim oDt As LtXmlComLib20.DateTime For Each oDt In root.ASimpleDateCollectionElement Trace "A Simple Date Collection Element = " &; oDt.ToString("s") Next oDt Dim oElm As CardinalityLib.AComplexCollctionElement For Each oElm In root.AComplexCollectionElement Trace "A Simple String Collection Element = " &; oElm.ChildItem Next oElm
|
Write Sample | |
' Create DVD object Dim root As New CardinalityLib.MyRootObject Dim oDt As LtXmlComLib20.DateTime ' Mandatory items can just be set root.ASimpleStringMandatoryElement = "Some Required Data" root.ASimpleDateMandatoryElement.SetDate 2003, 11, 23 root.AComplexMandatoryElement.ChildItem = "Some More Required Data" ' Optional primitives can also be set, but pay attention to objects ' like XmlDateTime &; BinaryData. They can be set but require the object ' to be assigned, doing something like ' root.ASimpleDateOptionalElement.SetDate 2003, 11, 23 ' will cause ASimpleDateOptionalElement to be read first, it is unassigned ' and will raise an exception. ' There are 2 ways around this, explicity make it valid ' root.IsValidASimpleDateOptionalElement = true ' root.ASimpleDateOptionalElement.SetDate 2003, 11, 23 ' or assign a valid object ' Set oDt = New LtXmlComLib20.DateTime ' oDt.SetDate 2003, 11, 23 ' Set root.ASimpleDateOptionalElement = oDt ' Also Note: if you have an existing primitive that you have set, and you no longre want it ' to appear in the xml doxument, you can remove it using. ' root.IsValidASimpleDateOptionalElement = false; ' We will demonstrate both techniques. root.ASimpleStringOptionalElement = "Some Optional Data" Set oDt = New LtXmlComLib20.DateTime oDt.SetDate 2003, 11, 23 Set root.ASimpleDateOptionalElement = oDt ' root.ASimpleDateOptionalElement is now include in the xml document root.IsValidASimpleDateOptionalElement = False ' root.ASimpleDateOptionalElement is no longer include in the xml document ' (as it was before we started messing with it.) root.IsValidASimpleDateOptionalElement = True root.ASimpleDateOptionalElement.SetDate 2003, 11, 23 ' root.ASimpleDateOptionalElement is now include in the xml document again ' Optional complex elements are more simple, they are either present or ' they null. To start with optional complex elements are always null, so ' we must assign one before we can use it. Set root.AComplexOptionalElement = New CardinalityLib.AComplexOptionalElement root.AComplexOptionalElement.ChildItem = "Some More Optional Data" ' Collections are easy, as we said previously there is always a collection ' created in the parent object, so we just need to add objects to it. root.ASimpleStringCollectionElement.Add "First Data Item" root.ASimpleStringCollectionElement.Add "Second Data Item" Set oDt = New LtXmlComLib20.DateTime oDt.SetDate 2003, 1, 1 root.ASimpleDateCollectionElement.Add oDt Set oDt = New LtXmlComLib20.DateTime oDt.SetDate 2003, 1, 2 root.ASimpleDateCollectionElement.Add oDt Set oDt = New LtXmlComLib20.DateTime oDt.SetDate 2003, 1, 3 root.ASimpleDateCollectionElement.Add oDt ' For collections of Complexelements there are 2 ways to do ' this we will demonstrate both. Dim oElm As CardinalityLib.AComplexCollctionElement ' this creates a new object and adds it to the collection Set oElm = root.AComplexCollectionElement.AddNew oElm.ChildItem = "First Complex Data Item" ' or we can explicity create the object then add it Set oElm = New CardinalityLib.AComplexCollctionElement oElm.ChildItem = "Second Complex Data Item" root.AComplexCollectionElement.Add oElm ' Now we can look at the XML from this object Trace root.ToXml(True, XmlFormatting_Indented, XmlEncoding_UTF8)
|
Cardinality.xsd |
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="MyRootObject"> <xs:complexType> <xs:sequence> <xs:element name="ASimpleStringMandatoryElement" type="xs:string"/> <xs:element name="ASimpleDateMandatoryElement" type="xs:date"/> <xs:element name="AComplexMandatoryElement"> <xs:complexType> <xs:sequence> <xs:element name="ChildItem" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ASimpleStringOptionalElement" type="xs:string" minOccurs="0"/> <xs:element name="ASimpleDateOptionalElement" type="xs:date" minOccurs="0"/> <xs:element name="AComplexOptionalElement" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="ChildItem" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ASimpleStringCollectionElement" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="ASimpleDateCollectionElement" type="xs:date" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="AComplexCollectionElement" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="ChildItem" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> |
Schema Diagrams |
|
MyRootObject.cls |
VERSION 1.0 CLASS BEGIN MultiUse = -1 'True Persistable = 0 'NotPersistable DataBindingBehavior = 0 'vbNone DataSourceBehavior = 0 'vbNone MTSTransactionMode = 0 'NotAnMTSObject END Attribute VB_Name = "MyRootObject" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = True Attribute VB_PredeclaredId = False Attribute VB_Exposed = True Option Explicit '********************************************************************************************** '* Copyright (c) 2001-2023 Liquid Technologies Limited. All rights reserved. '* See www.liquid-technologies.com for product details. '* '* Please see products End User License Agreement for distribution permissions. '* '* WARNING: THIS FILE IS GENERATED '* Changes made outside of ##HAND_CODED_BLOCK_START blocks will be overwritten '* '* Generation : by Liquid XML Data Binder 19.0.14.11049 '* Using Schema: Cardinality.xsd '********************************************************************************************** Private m_ElementName As String Private mvarASimpleStringMandatoryElement As String Private mvarASimpleDateMandatoryElement As LtXmlComLib20.DateTime Private mvarAComplexMandatoryElement As CardinalityLib.AComplexMandatoryElement Private mvarIsValidASimpleStringOptionalElement As Boolean Private mvarASimpleStringOptionalElement As String Private mvarIsValidASimpleDateOptionalElement As Boolean Private mvarASimpleDateOptionalElement As LtXmlComLib20.DateTime Private mvarAComplexOptionalElement As CardinalityLib.AComplexOptionalElement Private WithEvents mvarASimpleStringCollectionElement As LtXmlComLib20.stringCol Private WithEvents mvarASimpleDateCollectionElement As LtXmlComLib20.dateCol Private WithEvents mvarAComplexCollectionElement As CardinalityLib.AComplexCoionElementCol ' ##HAND_CODED_BLOCK_START ID="Additional Variable Declarations"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS ' Add Additional Variable Declarations... ' ##HAND_CODED_BLOCK_END ID="Additional Variable Declarations"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS Implements LtXmlComLib20.XmlObjectBase Implements LtXmlComLib20.XmlGeneratedClass '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''''' Properties ''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Public Property Get ElementName() As String ElementName = m_elementName End Property ' Summary: ' Represents a mandatory Element in the XML document ' ' Remarks: ' ' This property is represented as an Element in the XML. ' It is mandatory and therefore must be populated within the XML. ' It is defaulted to . Public Property Get ASimpleStringMandatoryElement As String ASimpleStringMandatoryElement = mvarASimpleStringMandatoryElement End Property Public Property Let ASimpleStringMandatoryElement(ByVal value As String) ' Apply whitespace rules appropriately value = LtXmlComLib20.WhitespaceUtils.PreserveWhitespace(value) mvarASimpleStringMandatoryElement = value End Property ' Summary: ' Represents a mandatory Element in the XML document ' ' Remarks: ' ' This property is represented as an Element in the XML. ' It is mandatory and therefore must be populated within the XML. ' It is defaulted to 1900-01-01. Public Property Get ASimpleDateMandatoryElement As LtXmlComLib20.DateTime Set ASimpleDateMandatoryElement = mvarASimpleDateMandatoryElement End Property Public Property Set ASimpleDateMandatoryElement(ByVal value As LtXmlComLib20.DateTime) mvarASimpleDateMandatoryElement.SetDateTimeWithType value, mvarASimpleDateMandatoryElement.dateType End Property ' Summary: ' Represents a mandatory Element in the XML document ' ' Remarks: ' ' This property is represented as an Element in the XML. ' It is mandatory and therefore must be populated within the XML. ' If this property is set, then the object will be COPIED. If the property is set to null an exception is raised. Public Property Get AComplexMandatoryElement As CardinalityLib.AComplexMandatoryElement Set AComplexMandatoryElement = mvarAComplexMandatoryElement End Property Public Property Set AComplexMandatoryElement(Byval value As CardinalityLib.AComplexMandatoryElement) LtXmlComLib20.XmlObjectBaseHelper.Throw_IfPropertyIsNull value, "AComplexMandatoryElement" if not value is nothing then CastToXmlObjectBase(value).PrivateSetElementName "AComplexMandatoryElement" end if ' LtXmlComLib20.XmlObjectBaseHelper.Throw_IfElementNameDiffers value, "AComplexMandatoryElement" Set mvarAComplexMandatoryElement = value End Property ' Summary: ' Represents an optional Element in the XML document ' ' Remarks: ' ' This property is represented as an Element in the XML. ' It is optional, initially it is not valid. Public Property Get ASimpleStringOptionalElement As String if mvarIsValidASimpleStringOptionalElement = false then Err.Raise ERR_INVALID_STATE, "MyRootObject.ASimpleStringOptionalElement", "The Property ASimpleStringOptionalElement is not valid. Set ASimpleStringOptionalElementValid = true" end if ASimpleStringOptionalElement = mvarASimpleStringOptionalElement End Property Public Property Let ASimpleStringOptionalElement(ByVal value As String) ' Apply whitespace rules appropriately value = LtXmlComLib20.WhitespaceUtils.PreserveWhitespace(value) mvarIsValidASimpleStringOptionalElement = true mvarASimpleStringOptionalElement = value End Property ' Summary: ' Indicates if ASimpleStringOptionalElement contains a valid value. ' Remarks: ' true if the value for ASimpleStringOptionalElement is valid, false if not. ' If this is set to true then the property is considered valid, and assigned its ' default value (). ' If its set to false then its made invalid, and subsequent calls to get ASimpleStringOptionalElement ' will raise an exception. Public Property Get IsValidASimpleStringOptionalElement As Boolean IsValidASimpleStringOptionalElement = mvarIsValidASimpleStringOptionalElement End Property Public Property Let IsValidASimpleStringOptionalElement(ByVal value As Boolean) if value <> mvarIsValidASimpleStringOptionalElement then mvarASimpleStringOptionalElement = LtXmlComLib20.Conversions.stringFromString("", LtXmlComLib20.WhitespaceRule.WhitespaceRule_Preserve) mvarIsValidASimpleStringOptionalElement = value End if End Property ' Summary: ' Represents an optional Element in the XML document ' ' Remarks: ' ' This property is represented as an Element in the XML. ' It is optional, initially it is not valid. Public Property Get ASimpleDateOptionalElement As LtXmlComLib20.DateTime if mvarIsValidASimpleDateOptionalElement = false then Err.Raise ERR_INVALID_STATE, "MyRootObject.ASimpleDateOptionalElement", "The Property ASimpleDateOptionalElement is not valid. Set ASimpleDateOptionalElementValid = true" end if Set ASimpleDateOptionalElement = mvarASimpleDateOptionalElement End Property Public Property Set ASimpleDateOptionalElement(ByVal value As LtXmlComLib20.DateTime) mvarIsValidASimpleDateOptionalElement = true mvarASimpleDateOptionalElement.SetDateTimeWithType value, mvarASimpleDateOptionalElement.dateType End Property ' Summary: ' Indicates if ASimpleDateOptionalElement contains a valid value. ' Remarks: ' true if the value for ASimpleDateOptionalElement is valid, false if not. ' If this is set to true then the property is considered valid, and assigned its ' default value (1900-01-01). ' If its set to false then its made invalid, and subsequent calls to get ASimpleDateOptionalElement ' will raise an exception. Public Property Get IsValidASimpleDateOptionalElement As Boolean IsValidASimpleDateOptionalElement = mvarIsValidASimpleDateOptionalElement End Property Public Property Let IsValidASimpleDateOptionalElement(ByVal value As Boolean) if value <> mvarIsValidASimpleDateOptionalElement then Set mvarASimpleDateOptionalElement = LtXmlComLib20.Conversions.dateFromString("1900-01-01", LtXmlComLib20.WhitespaceRule.WhitespaceRule_Collapse) mvarIsValidASimpleDateOptionalElement = value End if End Property ' Summary: ' Represents an optional Element in the XML document ' ' Remarks: ' ' This property is represented as an Element in the XML. ' It is optional, initially it is null. Public Property Get AComplexOptionalElement As CardinalityLib.AComplexOptionalElement Set AComplexOptionalElement = mvarAComplexOptionalElement End Property Public Property Set AComplexOptionalElement(ByVal value As CardinalityLib.AComplexOptionalElement) if value is Nothing then Set mvarAComplexOptionalElement = Nothing else CastToXmlObjectBase(value).PrivateSetElementName "AComplexOptionalElement" ' LtXmlComLib20.XmlObjectBaseHelper.Throw_IfElementNameDiffers value, "AComplexOptionalElement" Set mvarAComplexOptionalElement = value End If End Property ' Summary: ' A collection of Strings ' ' Remarks: ' ' This property is represented as an Element in the XML. ' This collection may contain 0 to Many Strings. Public Property Get ASimpleStringCollectionElement As LtXmlComLib20.stringCol Set ASimpleStringCollectionElement = mvarASimpleStringCollectionElement End Property ' Summary: ' A collection of DateTimes ' ' Remarks: ' ' This property is represented as an Element in the XML. ' This collection may contain 0 to Many DateTimes. Public Property Get ASimpleDateCollectionElement As LtXmlComLib20.dateCol Set ASimpleDateCollectionElement = mvarASimpleDateCollectionElement End Property ' Summary: ' A collection of AComplexCollectionElements ' ' Remarks: ' ' This property is represented as an Element in the XML. ' This collection may contain 0 to Many objects. Public Property Get AComplexCollectionElement As CardinalityLib.AComplexCoionElementCol Set AComplexCollectionElement = mvarAComplexCollectionElement End Property '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''' Standard Methods ''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Public Sub ToXmlFile(ByVal FileName As String, Optional includeDocHeader As Boolean = True, Optional formatting As LtXmlComLib20.XmlFormatting = LtXmlComLib20.XmlFormatting_Indented, Optional encoding As LtXmlComLib20.XmlEncoding = LtXmlComLib20.XmlEncoding_UTF8, Optional EOL As LtXmlComLib20.EOLType = LtXmlComLib20.EOLType.EOLType_CRLF, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) RegisterProduct LtXmlComLib20.XmlObjectBaseHelper.ToXmlFile Me, FileName, includeDocHeader, formatting, encoding, EOL, context End Sub Public Function ToXml(Optional includeDocHeader As Boolean = True, Optional formatting As LtXmlComLib20.XmlFormatting = LtXmlComLib20.XmlFormatting_Indented, Optional EOL As LtXmlComLib20.EOLType = LtXmlComLib20.EOLType.EOLType_LF, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) As String RegisterProduct ToXml = LtXmlComLib20.XmlObjectBaseHelper.ToXml(Me, includeDocHeader, formatting, EOL, context) End Function Public Function ToXmlStream(Optional includeDocHeader As Boolean = True, Optional formatting As LtXmlComLib20.XmlFormatting = LtXmlComLib20.XmlFormatting_Indented, Optional encoding As LtXmlComLib20.XmlEncoding = LtXmlComLib20.XmlEncoding_UTF8, Optional EOL As LtXmlComLib20.EOLType = LtXmlComLib20.EOLType.EOLType_LF, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) As Variant RegisterProduct ToXmlStream = LtXmlComLib20.XmlObjectBaseHelper.ToXmlStream(Me, includeDocHeader, formatting, encoding, EOL, context) End Function Public Sub FromXml(ByVal xmlIn As String, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) RegisterProduct LtXmlComLib20.XmlObjectBaseHelper.FromXml Me, xmlIn, context End Sub Public Sub FromXmlFile(ByVal FileName As String, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) RegisterProduct LtXmlComLib20.XmlObjectBaseHelper.FromXmlFile Me, FileName, context End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''' Private Methods '''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Summary: ' Constructor for MyRootObject ' Remarks: ' The class is created with 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 Cardinality.xsd Private Sub Class_Initialize() m_elementName = "MyRootObject" XmlGeneratedClass_Init End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''' Implementation of XmlObjectBase ''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Sub XmlObjectBase_PrivateSetElementName(ByVal vNewValue As String) m_ElementName = vNewValue End Sub Private Property Get XmlObjectBase_ElementName() As String XmlObjectBase_ElementName = m_ElementName End Property Private Property Get XmlObjectBase_TargetNamespace() As String XmlObjectBase_TargetNamespace = "" End Property Private Function XmlObjectBase_IsSuitableSubstitution(ByVal InterfaceName As String) As Boolean XmlObjectBase_IsSuitableSubstitution = false if InterfaceName = "MyRootObject" _ then XmlObjectBase_IsSuitableSubstitution = true End Function Private Property Get XmlObjectBase_Namespace() As String XmlObjectBase_Namespace = "" End Property Private Function XmlObjectBase_FromXmlInt(ByVal XMLParent As MSXML2.IXMLDOMElement, ByVal XMLChild As MSXML2.IXMLDOMElement, ByVal context As LtXmlComLib20.XmlSerializationContext, ByVal isOptionalChoice As Boolean) As MSXML2.IXMLDOMElement Set XmlObjectBase_FromXmlInt = XmlGeneratedClassHelper.FromXml(Me, XMLParent, XMLChild, context, isOptionalChoice) End Function Private Sub XmlObjectBase_ToXmlInt(ByVal xmlOut As LtXmlComLib20.XmlTextWriter, ByVal bRegisterNamespaces As Boolean, ByVal NamespaceUri As String, ByVal context As LtXmlComLib20.XmlSerializationContext, ByVal isOptionalChoice As Boolean) XmlGeneratedClassHelper.ToXml Me, xmlOut, bRegisterNamespaces, NamespaceUri, context, isOptionalChoice End Sub Private Sub XmlObjectBase_AttributesToXmlInt(ByVal xmlOut As LtXmlComLib20.XmlTextWriter, ByVal context As LtXmlComLib20.XmlSerializationContext) XmlGeneratedClassHelper.AttributesToXml Me, xmlOut, context End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''' Implementation of XmlGeneratedClass ''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Summary: ' Initializes the class ' Remarks: ' The 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 Cardinality.xsd. Private Sub XmlGeneratedClass_Init() mvarASimpleStringMandatoryElement = LtXmlComLib20.Conversions.stringFromString("", LtXmlComLib20.WhitespaceRule.WhitespaceRule_Preserve) Set mvarASimpleDateMandatoryElement = LtXmlComLib20.Conversions.dateFromString("1900-01-01", LtXmlComLib20.WhitespaceRule.WhitespaceRule_Collapse) Set mvarAComplexMandatoryElement = CF.CreateNamedClass(ClsName_AComplexMandatoryElement, "AComplexMandatoryElement") mvarASimpleStringOptionalElement = LtXmlComLib20.Conversions.stringFromString("", LtXmlComLib20.WhitespaceRule.WhitespaceRule_Preserve) mvarIsValidASimpleStringOptionalElement = false Set mvarASimpleDateOptionalElement = LtXmlComLib20.Conversions.dateFromString("1900-01-01", LtXmlComLib20.WhitespaceRule.WhitespaceRule_Collapse) mvarIsValidASimpleDateOptionalElement = false Set mvarAComplexOptionalElement = Nothing Set mvarASimpleStringCollectionElement = LtXmlComLib20.ClassFactory.Create_stringCol("ASimpleStringCollectionElement", "", 0, -1, "", -1, -1, "", "", "", "", -1, LtXmlComLib20.WhitespaceRule.WhitespaceRule_Preserve, "") Set mvarASimpleDateCollectionElement = LtXmlComLib20.ClassFactory.Create_dateCol("ASimpleDateCollectionElement", "", 0, -1, "", -1, -1, "", "", "", "", -1, LtXmlComLib20.WhitespaceRule.WhitespaceRule_Collapse, "") Set mvarAComplexCollectionElement = CF.CreateClassCollection(ClsName_AComplexCoionElementCol, "AComplexCollectionElement", "", 0, -1) ' Force Init ClassInfo Dim classInfo As LtXmlComLib20.ClassInfo Set classInfo = XmlGeneratedClass_ClassInfo ' ##HAND_CODED_BLOCK_START ID="Additional Inits"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS ' Add Additional Init Settings... ' ##HAND_CODED_BLOCK_END ID="Additional Inits"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS End Sub Private Property Get XmlGeneratedClass_ClassInfo() As LtXmlComLib20.ClassInfo If g_ClsDataMyRootObject Is Nothing Then Set g_ClsDataMyRootObject = New LtXmlComLib20.ClassInfo g_ClsDataMyRootObject.GroupType = LtXmlComLib20.XmlGroupType.Sequence g_ClsDataMyRootObject.ElementType = LtXmlComLib20.XmlElementType.Element g_ClsDataMyRootObject.ElementName = "MyRootObject" g_ClsDataMyRootObject.ElementNamespaceURI = "" g_ClsDataMyRootObject.FromXmlFailIfAttributeUnknown = true g_ClsDataMyRootObject.IsClassDerived = false g_ClsDataMyRootObject.PrimitiveDataType = LtXmlComLib20.XmlDataType.type_none g_ClsDataMyRootObject.PrimitiveFormatOverride = "" g_ClsDataMyRootObject.OutputPrimitiveClassAsTextProperty = False Set g_ClsDataMyRootObject.ClassFactory = General.CF g_ClsDataMyRootObject.AddElmSeqPrimMnd "ASimpleStringMandatoryElement", "", "ASimpleStringMandatoryElement", XmlDataType.type_string, "", LtXmlComLib20.WhitespaceRule.WhitespaceRule_Preserve, "", -1, -1, "", "", "", "", -1 g_ClsDataMyRootObject.AddElmSeqPrimMnd "ASimpleDateMandatoryElement", "", "ASimpleDateMandatoryElement", XmlDataType.type_date, "", LtXmlComLib20.WhitespaceRule.WhitespaceRule_Collapse, "", -1, -1, "", "", "", "", -1 g_ClsDataMyRootObject.AddElmSeqClsMnd "AComplexMandatoryElement", "", "AComplexMandatoryElement", LtXmlComLib20.XmlElementType.Element, true g_ClsDataMyRootObject.AddElmSeqPrimOpt "ASimpleStringOptionalElement", "", "ASimpleStringOptionalElement", "IsValidASimpleStringOptionalElement", XmlDataType.type_string, "", LtXmlComLib20.WhitespaceRule.WhitespaceRule_Preserve, "", -1, -1, "", "", "", "", -1 g_ClsDataMyRootObject.AddElmSeqPrimOpt "ASimpleDateOptionalElement", "", "ASimpleDateOptionalElement", "IsValidASimpleDateOptionalElement", XmlDataType.type_date, "", LtXmlComLib20.WhitespaceRule.WhitespaceRule_Collapse, "", -1, -1, "", "", "", "", -1 g_ClsDataMyRootObject.AddElmSeqClsOpt "AComplexOptionalElement", "", "AComplexOptionalElement", LtXmlComLib20.XmlElementType.Element, ClsName_AComplexOptionalElement g_ClsDataMyRootObject.AddElmSeqPrimCol "ASimpleStringCollectionElement", "", "ASimpleStringCollectionElement" g_ClsDataMyRootObject.AddElmSeqPrimCol "ASimpleDateCollectionElement", "", "ASimpleDateCollectionElement" g_ClsDataMyRootObject.AddElmSeqClsCol "AComplexCollectionElement", "", "AComplexCollectionElement", LtXmlComLib20.XmlElementType.Element End If Set XmlGeneratedClass_ClassInfo = g_ClsDataMyRootObject End Property ' ##HAND_CODED_BLOCK_START ID="Additional Methods/Properties"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS ' Add Additional Methods/Properties Here... ' ##HAND_CODED_BLOCK_END ID="Additional Methods/Properties"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS |
AComplexCollctionElement.cls |
VERSION 1.0 CLASS BEGIN MultiUse = -1 'True Persistable = 0 'NotPersistable DataBindingBehavior = 0 'vbNone DataSourceBehavior = 0 'vbNone MTSTransactionMode = 0 'NotAnMTSObject END Attribute VB_Name = "AComplexCollctionElement" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = True Attribute VB_PredeclaredId = False Attribute VB_Exposed = True Option Explicit '********************************************************************************************** '* Copyright (c) 2001-2023 Liquid Technologies Limited. All rights reserved. '* See www.liquid-technologies.com for product details. '* '* Please see products End User License Agreement for distribution permissions. '* '* WARNING: THIS FILE IS GENERATED '* Changes made outside of ##HAND_CODED_BLOCK_START blocks will be overwritten '* '* Generation : by Liquid XML Data Binder 19.0.14.11049 '* Using Schema: Cardinality.xsd '********************************************************************************************** Private m_ElementName As String Private mvarChildItem As String ' ##HAND_CODED_BLOCK_START ID="Additional Variable Declarations"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS ' Add Additional Variable Declarations... ' ##HAND_CODED_BLOCK_END ID="Additional Variable Declarations"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS Implements LtXmlComLib20.XmlObjectBase Implements LtXmlComLib20.XmlGeneratedClass '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''''' Properties ''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Public Property Get ElementName() As String ElementName = m_elementName End Property ' Summary: ' Represents a mandatory Element in the XML document ' ' Remarks: ' ' This property is represented as an Element in the XML. ' It is mandatory and therefore must be populated within the XML. ' It is defaulted to . Public Property Get ChildItem As String ChildItem = mvarChildItem End Property Public Property Let ChildItem(ByVal value As String) ' Apply whitespace rules appropriately value = LtXmlComLib20.WhitespaceUtils.PreserveWhitespace(value) mvarChildItem = value End Property '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''' Standard Methods ''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Public Sub ToXmlFile(ByVal FileName As String, Optional includeDocHeader As Boolean = True, Optional formatting As LtXmlComLib20.XmlFormatting = LtXmlComLib20.XmlFormatting_Indented, Optional encoding As LtXmlComLib20.XmlEncoding = LtXmlComLib20.XmlEncoding_UTF8, Optional EOL As LtXmlComLib20.EOLType = LtXmlComLib20.EOLType.EOLType_CRLF, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) RegisterProduct LtXmlComLib20.XmlObjectBaseHelper.ToXmlFile Me, FileName, includeDocHeader, formatting, encoding, EOL, context End Sub Public Function ToXml(Optional includeDocHeader As Boolean = True, Optional formatting As LtXmlComLib20.XmlFormatting = LtXmlComLib20.XmlFormatting_Indented, Optional EOL As LtXmlComLib20.EOLType = LtXmlComLib20.EOLType.EOLType_LF, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) As String RegisterProduct ToXml = LtXmlComLib20.XmlObjectBaseHelper.ToXml(Me, includeDocHeader, formatting, EOL, context) End Function Public Function ToXmlStream(Optional includeDocHeader As Boolean = True, Optional formatting As LtXmlComLib20.XmlFormatting = LtXmlComLib20.XmlFormatting_Indented, Optional encoding As LtXmlComLib20.XmlEncoding = LtXmlComLib20.XmlEncoding_UTF8, Optional EOL As LtXmlComLib20.EOLType = LtXmlComLib20.EOLType.EOLType_LF, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) As Variant RegisterProduct ToXmlStream = LtXmlComLib20.XmlObjectBaseHelper.ToXmlStream(Me, includeDocHeader, formatting, encoding, EOL, context) End Function Public Sub FromXml(ByVal xmlIn As String, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) RegisterProduct LtXmlComLib20.XmlObjectBaseHelper.FromXml Me, xmlIn, context End Sub Public Sub FromXmlFile(ByVal FileName As String, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) RegisterProduct LtXmlComLib20.XmlObjectBaseHelper.FromXmlFile Me, FileName, context End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''' Private Methods '''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Summary: ' Constructor for AComplexCollctionElement ' Remarks: ' The class is created with 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 Cardinality.xsd Private Sub Class_Initialize() m_elementName = "AComplexCollectionElement" XmlGeneratedClass_Init End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''' Implementation of XmlObjectBase ''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Sub XmlObjectBase_PrivateSetElementName(ByVal vNewValue As String) m_ElementName = vNewValue End Sub Private Property Get XmlObjectBase_ElementName() As String XmlObjectBase_ElementName = m_ElementName End Property Private Property Get XmlObjectBase_TargetNamespace() As String XmlObjectBase_TargetNamespace = "" End Property Private Function XmlObjectBase_IsSuitableSubstitution(ByVal InterfaceName As String) As Boolean XmlObjectBase_IsSuitableSubstitution = false if InterfaceName = "AComplexCollctionElement" _ then XmlObjectBase_IsSuitableSubstitution = true End Function Private Property Get XmlObjectBase_Namespace() As String XmlObjectBase_Namespace = "" End Property Private Function XmlObjectBase_FromXmlInt(ByVal XMLParent As MSXML2.IXMLDOMElement, ByVal XMLChild As MSXML2.IXMLDOMElement, ByVal context As LtXmlComLib20.XmlSerializationContext, ByVal isOptionalChoice As Boolean) As MSXML2.IXMLDOMElement Set XmlObjectBase_FromXmlInt = XmlGeneratedClassHelper.FromXml(Me, XMLParent, XMLChild, context, isOptionalChoice) End Function Private Sub XmlObjectBase_ToXmlInt(ByVal xmlOut As LtXmlComLib20.XmlTextWriter, ByVal bRegisterNamespaces As Boolean, ByVal NamespaceUri As String, ByVal context As LtXmlComLib20.XmlSerializationContext, ByVal isOptionalChoice As Boolean) XmlGeneratedClassHelper.ToXml Me, xmlOut, bRegisterNamespaces, NamespaceUri, context, isOptionalChoice End Sub Private Sub XmlObjectBase_AttributesToXmlInt(ByVal xmlOut As LtXmlComLib20.XmlTextWriter, ByVal context As LtXmlComLib20.XmlSerializationContext) XmlGeneratedClassHelper.AttributesToXml Me, xmlOut, context End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''' Implementation of XmlGeneratedClass ''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Summary: ' Initializes the class ' Remarks: ' The 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 Cardinality.xsd. Private Sub XmlGeneratedClass_Init() mvarChildItem = LtXmlComLib20.Conversions.stringFromString("", LtXmlComLib20.WhitespaceRule.WhitespaceRule_Preserve) ' Force Init ClassInfo Dim classInfo As LtXmlComLib20.ClassInfo Set classInfo = XmlGeneratedClass_ClassInfo ' ##HAND_CODED_BLOCK_START ID="Additional Inits"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS ' Add Additional Init Settings... ' ##HAND_CODED_BLOCK_END ID="Additional Inits"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS End Sub Private Property Get XmlGeneratedClass_ClassInfo() As LtXmlComLib20.ClassInfo If g_ClsDataAComplexCollctionElement Is Nothing Then Set g_ClsDataAComplexCollctionElement = New LtXmlComLib20.ClassInfo g_ClsDataAComplexCollctionElement.GroupType = LtXmlComLib20.XmlGroupType.Sequence g_ClsDataAComplexCollctionElement.ElementType = LtXmlComLib20.XmlElementType.Element g_ClsDataAComplexCollctionElement.ElementName = "AComplexCollectionElement" g_ClsDataAComplexCollctionElement.ElementNamespaceURI = "" g_ClsDataAComplexCollctionElement.FromXmlFailIfAttributeUnknown = true g_ClsDataAComplexCollctionElement.IsClassDerived = false g_ClsDataAComplexCollctionElement.PrimitiveDataType = LtXmlComLib20.XmlDataType.type_none g_ClsDataAComplexCollctionElement.PrimitiveFormatOverride = "" g_ClsDataAComplexCollctionElement.OutputPrimitiveClassAsTextProperty = False Set g_ClsDataAComplexCollctionElement.ClassFactory = General.CF g_ClsDataAComplexCollctionElement.AddElmSeqPrimMnd "ChildItem", "", "ChildItem", XmlDataType.type_string, "", LtXmlComLib20.WhitespaceRule.WhitespaceRule_Preserve, "", -1, -1, "", "", "", "", -1 End If Set XmlGeneratedClass_ClassInfo = g_ClsDataAComplexCollctionElement End Property ' ##HAND_CODED_BLOCK_START ID="Additional Methods/Properties"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS ' Add Additional Methods/Properties Here... ' ##HAND_CODED_BLOCK_END ID="Additional Methods/Properties"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS |
AComplexCoionElementCol.cls |
VERSION 1.0 CLASS BEGIN MultiUse = -1 'True Persistable = 0 'NotPersistable DataBindingBehavior = 0 'vbNone DataSourceBehavior = 0 'vbNone MTSTransactionMode = 0 'NotAnMTSObject END Attribute VB_Name = "AComplexCoionElementCol" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = True Attribute VB_PredeclaredId = False Attribute VB_Exposed = True Option Explicit '********************************************************************************************** '* Copyright (c) 2001-2023 Liquid Technologies Limited. All rights reserved. '* See www.liquid-technologies.com for product details. '* '* Please see products End User License Agreement for distribution permissions. '* '* WARNING: THIS FILE IS GENERATED '* Changes made outside of ##HAND_CODED_BLOCK_START blocks will be overwritten '* '* Generation : by Liquid XML Data Binder 19.0.14.11049 '* Using Schema: Cardinality.xsd '********************************************************************************************** Private m_elementName as String Private m_elementNamespaceUri As String Private m_minOccurs as Long Private m_maxOccurs as Long Private m_coll as Collection ' ##HAND_CODED_BLOCK_START ID="Additional Variable Declarations"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS ' Add Additional Variable Declarations... ' ##HAND_CODED_BLOCK_END ID="Additional Variable Declarations"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS Public Event OnCollectionChange() Implements LtXmlComLib20.XmlCollectionBase Implements LtXmlComLib20.XmlObjectBase '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''' Collection Methods '''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Summary: ' Adds a AComplexCollctionElement enumeration to the collection ' Param name="newEnum": ' The object to be copied into the collection ' Returns: ' The copied object (that was added to the collection) ' Remarks: ' The object newProperty, is copied, and the copy is added to the ' collection. public Function Add(ByVal newCls as CardinalityLib.AComplexCollctionElement, optional Before, optional After) as CardinalityLib.AComplexCollctionElement CastToXmlObjectBase(newCls).PrivateSetElementName m_elementName ' LtXmlComLib20.XmlObjectBaseHelper.Throw_IfElementNameDiffers newCls, m_elementName m_coll.Add newCls, , Before, After RaiseEvent OnCollectionChange Set Add = newCls End Function ' Summary: ' Adds a AComplexCollctionElement object to the collection ' Returns: ' The newly created AComplexCollctionElement object ' Remarks: ' A new AComplexCollctionElement object is created and added to the collection ' the new object is then returned. public Function AddNew() as CardinalityLib.AComplexCollctionElement Set AddNew = CF.CreateClass(ClsName_AComplexCollctionElement) CastToXmlObjectBase(AddNew).PrivateSetElementName m_elementName m_coll.Add AddNew RaiseEvent OnCollectionChange End Function ' Summary: ' Gets a AComplexCollctionElement object from the collection ' Param name="index": ' The 0 based index of the item to retreve ' Returns: ' The object at the given location in the collection public property Get Item(byval index as long) as CardinalityLib.AComplexCollctionElement Attribute Item.VB_UserMemId = 0 Set Item = m_Coll(index) End Property Public Property Get Count() As Long Count = m_coll.Count End Property Public Sub Remove(ByVal index As Long) m_coll.Remove index RaiseEvent OnCollectionChange End Sub Public Sub Clear() while m_coll.Count > 0 Remove 1 wend End Sub Public Property Get NewEnum() As IUnknown Attribute NewEnum.VB_UserMemId = -4 Attribute NewEnum.VB_MemberFlags = "40" Set NewEnum = m_Coll.[_NewEnum] End Property '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''' Implementation of Class'''' ''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Sub Class_Initialize() set m_coll = new Collection End Sub Private Sub Class_Terminate() Set m_coll = nothing End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''' Implementation of XmlObjectBase ''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Property Get XmlObjectBase_ElementName() As String XmlObjectBase_ElementName = m_elementName End Property Private Function XmlObjectBase_IsSuitableSubstitution(ByVal InterfaceName As String) As Boolean XmlObjectBase_IsSuitableSubstitution = false if InterfaceName = "AComplexCollctionElement" _ then XmlObjectBase_IsSuitableSubstitution = true End Function Private Sub XmlObjectBase_PrivateSetElementName(ByVal vNewValue As String) m_ElementName = vNewValue End Sub Private Sub XmlObjectBase_AttributesToXmlInt(ByVal xmlOut As LtXmlComLib20.XmlTextWriter, ByVal oContext As LtXmlComLib20.XmlSerializationContext) dim oCls as LtXmlComLib20.XmlObjectBase for each oCls in m_coll CastToXmlObjectBase(oCls).AttributesToXmlInt xmlOut, oContext next End Sub Private Sub XmlObjectBase_ToXmlInt(ByVal xmlOut As LtXmlComLib20.XmlTextWriter, ByVal bRegisterNamespaces As Boolean, ByVal NamespaceURI As String, ByVal oContext As LtXmlComLib20.XmlSerializationContext, ByVal isOptionalChoice As Boolean) dim oCls as LtXmlComLib20.XmlObjectBase XmlCollectionBase_ValidateCount oContext for each oCls in m_coll CastToXmlObjectBase(oCls).ToXmlInt xmlOut, false, NamespaceUri, oContext, isOptionalChoice next End Sub Private Function XmlObjectBase_FromXmlInt(ByVal xmlParent As MSXML2.IXMLDOMElement, ByVal xmlChild As MSXML2.IXMLDOMElement, ByVal oContext As LtXmlComLib20.XmlSerializationContext, ByVal isOptionalChoice As Boolean) As MSXML2.IXMLDOMElement Dim newObj as CardinalityLib.AComplexCollctionElement ' go through the nodes until we run out of ones that match do while not xmlChild is nothing if xmlChild.NodeType = MSXML2.NODE_ELEMENT then ' Stop reading when we hit an element we can't deal with if LtXmlComLib20.XmlGeneratedClassHelper.DoesElementNameMatch(oContext, xmlChild, m_elementName, m_elementNamespaceUri) = False then exit do Set newObj = CF.CreateNamedClass(ClsName_AComplexCollctionElement, m_elementName) CastToXmlObjectBase(newObj).FromXmlInt xmlChild, LtXmlComLib20.XmlObjectBaseHelper.FindFirstSliblingElement(xmlChild.FirstChild), oContext, isOptionalChoice ' Add new item to the collection m_coll.Add newObj RaiseEvent OnCollectionChange end if ' Move to next node Set xmlChild = LtXmlComLib20.XmlObjectBaseHelper.MoveNextSiblingElement(xmlChild) loop Set XmlObjectBase_FromXmlInt = xmlChild End Function Private Property Get XmlObjectBase_TargetNamespace() As String XmlObjectBase_TargetNamespace = "" End Property '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''' Implementation of XmlCollectionBase ''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' we don't want the users just creating these. They need to ' be initialize with the name of the element that they are ' going to represent in the XML document. This information ' requires knowledge of the schema, we are trying to ' prevent the user from having to know anything about that. Private Sub XmlCollectionBase_Init(ByVal strElementName As String, ByVal strElementNamespaceUri As String, ByVal iMinOccurs As Long, ByVal iMaxOccurs As Long) m_elementName = strElementName m_elementNamespaceUri = strElementNamespaceUri m_minOccurs = iMinOccurs m_maxOccurs = iMaxOccurs End Sub Private Sub XmlCollectionBase_ValidateCount(ByVal oContext As XmlSerializationContext) XmlObjectBaseHelper.ValidateCountHelper oContext, m_coll, m_minOccurs, m_maxOccurs, m_ElementName End Sub Private Property Get XmlCollectionBase_MinOccurs() As Long XmlCollectionBase_MinOccurs = m_minOccurs End Property ' ##HAND_CODED_BLOCK_START ID="Additional Methods/Properties"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS ' Add Additional Methods/Properties Here... ' ##HAND_CODED_BLOCK_END ID="Additional Methods/Properties"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS |
AComplexMandatoryElement.cls |
VERSION 1.0 CLASS BEGIN MultiUse = -1 'True Persistable = 0 'NotPersistable DataBindingBehavior = 0 'vbNone DataSourceBehavior = 0 'vbNone MTSTransactionMode = 0 'NotAnMTSObject END Attribute VB_Name = "AComplexMandatoryElement" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = True Attribute VB_PredeclaredId = False Attribute VB_Exposed = True Option Explicit '********************************************************************************************** '* Copyright (c) 2001-2023 Liquid Technologies Limited. All rights reserved. '* See www.liquid-technologies.com for product details. '* '* Please see products End User License Agreement for distribution permissions. '* '* WARNING: THIS FILE IS GENERATED '* Changes made outside of ##HAND_CODED_BLOCK_START blocks will be overwritten '* '* Generation : by Liquid XML Data Binder 19.0.14.11049 '* Using Schema: Cardinality.xsd '********************************************************************************************** Private m_ElementName As String Private mvarChildItem As String ' ##HAND_CODED_BLOCK_START ID="Additional Variable Declarations"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS ' Add Additional Variable Declarations... ' ##HAND_CODED_BLOCK_END ID="Additional Variable Declarations"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS Implements LtXmlComLib20.XmlObjectBase Implements LtXmlComLib20.XmlGeneratedClass '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''''' Properties ''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Public Property Get ElementName() As String ElementName = m_elementName End Property ' Summary: ' Represents a mandatory Element in the XML document ' ' Remarks: ' ' This property is represented as an Element in the XML. ' It is mandatory and therefore must be populated within the XML. ' It is defaulted to . Public Property Get ChildItem As String ChildItem = mvarChildItem End Property Public Property Let ChildItem(ByVal value As String) ' Apply whitespace rules appropriately value = LtXmlComLib20.WhitespaceUtils.PreserveWhitespace(value) mvarChildItem = value End Property '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''' Standard Methods ''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Public Sub ToXmlFile(ByVal FileName As String, Optional includeDocHeader As Boolean = True, Optional formatting As LtXmlComLib20.XmlFormatting = LtXmlComLib20.XmlFormatting_Indented, Optional encoding As LtXmlComLib20.XmlEncoding = LtXmlComLib20.XmlEncoding_UTF8, Optional EOL As LtXmlComLib20.EOLType = LtXmlComLib20.EOLType.EOLType_CRLF, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) RegisterProduct LtXmlComLib20.XmlObjectBaseHelper.ToXmlFile Me, FileName, includeDocHeader, formatting, encoding, EOL, context End Sub Public Function ToXml(Optional includeDocHeader As Boolean = True, Optional formatting As LtXmlComLib20.XmlFormatting = LtXmlComLib20.XmlFormatting_Indented, Optional EOL As LtXmlComLib20.EOLType = LtXmlComLib20.EOLType.EOLType_LF, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) As String RegisterProduct ToXml = LtXmlComLib20.XmlObjectBaseHelper.ToXml(Me, includeDocHeader, formatting, EOL, context) End Function Public Function ToXmlStream(Optional includeDocHeader As Boolean = True, Optional formatting As LtXmlComLib20.XmlFormatting = LtXmlComLib20.XmlFormatting_Indented, Optional encoding As LtXmlComLib20.XmlEncoding = LtXmlComLib20.XmlEncoding_UTF8, Optional EOL As LtXmlComLib20.EOLType = LtXmlComLib20.EOLType.EOLType_LF, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) As Variant RegisterProduct ToXmlStream = LtXmlComLib20.XmlObjectBaseHelper.ToXmlStream(Me, includeDocHeader, formatting, encoding, EOL, context) End Function Public Sub FromXml(ByVal xmlIn As String, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) RegisterProduct LtXmlComLib20.XmlObjectBaseHelper.FromXml Me, xmlIn, context End Sub Public Sub FromXmlFile(ByVal FileName As String, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) RegisterProduct LtXmlComLib20.XmlObjectBaseHelper.FromXmlFile Me, FileName, context End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''' Private Methods '''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Summary: ' Constructor for AComplexMandatoryElement ' Remarks: ' The class is created with 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 Cardinality.xsd Private Sub Class_Initialize() m_elementName = "AComplexMandatoryElement" XmlGeneratedClass_Init End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''' Implementation of XmlObjectBase ''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Sub XmlObjectBase_PrivateSetElementName(ByVal vNewValue As String) m_ElementName = vNewValue End Sub Private Property Get XmlObjectBase_ElementName() As String XmlObjectBase_ElementName = m_ElementName End Property Private Property Get XmlObjectBase_TargetNamespace() As String XmlObjectBase_TargetNamespace = "" End Property Private Function XmlObjectBase_IsSuitableSubstitution(ByVal InterfaceName As String) As Boolean XmlObjectBase_IsSuitableSubstitution = false if InterfaceName = "AComplexMandatoryElement" _ then XmlObjectBase_IsSuitableSubstitution = true End Function Private Property Get XmlObjectBase_Namespace() As String XmlObjectBase_Namespace = "" End Property Private Function XmlObjectBase_FromXmlInt(ByVal XMLParent As MSXML2.IXMLDOMElement, ByVal XMLChild As MSXML2.IXMLDOMElement, ByVal context As LtXmlComLib20.XmlSerializationContext, ByVal isOptionalChoice As Boolean) As MSXML2.IXMLDOMElement Set XmlObjectBase_FromXmlInt = XmlGeneratedClassHelper.FromXml(Me, XMLParent, XMLChild, context, isOptionalChoice) End Function Private Sub XmlObjectBase_ToXmlInt(ByVal xmlOut As LtXmlComLib20.XmlTextWriter, ByVal bRegisterNamespaces As Boolean, ByVal NamespaceUri As String, ByVal context As LtXmlComLib20.XmlSerializationContext, ByVal isOptionalChoice As Boolean) XmlGeneratedClassHelper.ToXml Me, xmlOut, bRegisterNamespaces, NamespaceUri, context, isOptionalChoice End Sub Private Sub XmlObjectBase_AttributesToXmlInt(ByVal xmlOut As LtXmlComLib20.XmlTextWriter, ByVal context As LtXmlComLib20.XmlSerializationContext) XmlGeneratedClassHelper.AttributesToXml Me, xmlOut, context End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''' Implementation of XmlGeneratedClass ''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Summary: ' Initializes the class ' Remarks: ' The 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 Cardinality.xsd. Private Sub XmlGeneratedClass_Init() mvarChildItem = LtXmlComLib20.Conversions.stringFromString("", LtXmlComLib20.WhitespaceRule.WhitespaceRule_Preserve) ' Force Init ClassInfo Dim classInfo As LtXmlComLib20.ClassInfo Set classInfo = XmlGeneratedClass_ClassInfo ' ##HAND_CODED_BLOCK_START ID="Additional Inits"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS ' Add Additional Init Settings... ' ##HAND_CODED_BLOCK_END ID="Additional Inits"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS End Sub Private Property Get XmlGeneratedClass_ClassInfo() As LtXmlComLib20.ClassInfo If g_ClsDataAComplexMandatoryElement Is Nothing Then Set g_ClsDataAComplexMandatoryElement = New LtXmlComLib20.ClassInfo g_ClsDataAComplexMandatoryElement.GroupType = LtXmlComLib20.XmlGroupType.Sequence g_ClsDataAComplexMandatoryElement.ElementType = LtXmlComLib20.XmlElementType.Element g_ClsDataAComplexMandatoryElement.ElementName = "AComplexMandatoryElement" g_ClsDataAComplexMandatoryElement.ElementNamespaceURI = "" g_ClsDataAComplexMandatoryElement.FromXmlFailIfAttributeUnknown = true g_ClsDataAComplexMandatoryElement.IsClassDerived = false g_ClsDataAComplexMandatoryElement.PrimitiveDataType = LtXmlComLib20.XmlDataType.type_none g_ClsDataAComplexMandatoryElement.PrimitiveFormatOverride = "" g_ClsDataAComplexMandatoryElement.OutputPrimitiveClassAsTextProperty = False Set g_ClsDataAComplexMandatoryElement.ClassFactory = General.CF g_ClsDataAComplexMandatoryElement.AddElmSeqPrimMnd "ChildItem", "", "ChildItem", XmlDataType.type_string, "", LtXmlComLib20.WhitespaceRule.WhitespaceRule_Preserve, "", -1, -1, "", "", "", "", -1 End If Set XmlGeneratedClass_ClassInfo = g_ClsDataAComplexMandatoryElement End Property ' ##HAND_CODED_BLOCK_START ID="Additional Methods/Properties"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS ' Add Additional Methods/Properties Here... ' ##HAND_CODED_BLOCK_END ID="Additional Methods/Properties"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS |
AComplexOptionalElement.cls |
VERSION 1.0 CLASS BEGIN MultiUse = -1 'True Persistable = 0 'NotPersistable DataBindingBehavior = 0 'vbNone DataSourceBehavior = 0 'vbNone MTSTransactionMode = 0 'NotAnMTSObject END Attribute VB_Name = "AComplexOptionalElement" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = True Attribute VB_PredeclaredId = False Attribute VB_Exposed = True Option Explicit '********************************************************************************************** '* Copyright (c) 2001-2023 Liquid Technologies Limited. All rights reserved. '* See www.liquid-technologies.com for product details. '* '* Please see products End User License Agreement for distribution permissions. '* '* WARNING: THIS FILE IS GENERATED '* Changes made outside of ##HAND_CODED_BLOCK_START blocks will be overwritten '* '* Generation : by Liquid XML Data Binder 19.0.14.11049 '* Using Schema: Cardinality.xsd '********************************************************************************************** Private m_ElementName As String Private mvarChildItem As String ' ##HAND_CODED_BLOCK_START ID="Additional Variable Declarations"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS ' Add Additional Variable Declarations... ' ##HAND_CODED_BLOCK_END ID="Additional Variable Declarations"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS Implements LtXmlComLib20.XmlObjectBase Implements LtXmlComLib20.XmlGeneratedClass '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''''' Properties ''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Public Property Get ElementName() As String ElementName = m_elementName End Property ' Summary: ' Represents a mandatory Element in the XML document ' ' Remarks: ' ' This property is represented as an Element in the XML. ' It is mandatory and therefore must be populated within the XML. ' It is defaulted to . Public Property Get ChildItem As String ChildItem = mvarChildItem End Property Public Property Let ChildItem(ByVal value As String) ' Apply whitespace rules appropriately value = LtXmlComLib20.WhitespaceUtils.PreserveWhitespace(value) mvarChildItem = value End Property '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''' Standard Methods ''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Public Sub ToXmlFile(ByVal FileName As String, Optional includeDocHeader As Boolean = True, Optional formatting As LtXmlComLib20.XmlFormatting = LtXmlComLib20.XmlFormatting_Indented, Optional encoding As LtXmlComLib20.XmlEncoding = LtXmlComLib20.XmlEncoding_UTF8, Optional EOL As LtXmlComLib20.EOLType = LtXmlComLib20.EOLType.EOLType_CRLF, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) RegisterProduct LtXmlComLib20.XmlObjectBaseHelper.ToXmlFile Me, FileName, includeDocHeader, formatting, encoding, EOL, context End Sub Public Function ToXml(Optional includeDocHeader As Boolean = True, Optional formatting As LtXmlComLib20.XmlFormatting = LtXmlComLib20.XmlFormatting_Indented, Optional EOL As LtXmlComLib20.EOLType = LtXmlComLib20.EOLType.EOLType_LF, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) As String RegisterProduct ToXml = LtXmlComLib20.XmlObjectBaseHelper.ToXml(Me, includeDocHeader, formatting, EOL, context) End Function Public Function ToXmlStream(Optional includeDocHeader As Boolean = True, Optional formatting As LtXmlComLib20.XmlFormatting = LtXmlComLib20.XmlFormatting_Indented, Optional encoding As LtXmlComLib20.XmlEncoding = LtXmlComLib20.XmlEncoding_UTF8, Optional EOL As LtXmlComLib20.EOLType = LtXmlComLib20.EOLType.EOLType_LF, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) As Variant RegisterProduct ToXmlStream = LtXmlComLib20.XmlObjectBaseHelper.ToXmlStream(Me, includeDocHeader, formatting, encoding, EOL, context) End Function Public Sub FromXml(ByVal xmlIn As String, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) RegisterProduct LtXmlComLib20.XmlObjectBaseHelper.FromXml Me, xmlIn, context End Sub Public Sub FromXmlFile(ByVal FileName As String, Optional context As LtXmlComLib20.XmlSerializationContext = Nothing) RegisterProduct LtXmlComLib20.XmlObjectBaseHelper.FromXmlFile Me, FileName, context End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''' Private Methods '''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Summary: ' Constructor for AComplexOptionalElement ' Remarks: ' The class is created with 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 Cardinality.xsd Private Sub Class_Initialize() m_elementName = "AComplexOptionalElement" XmlGeneratedClass_Init End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''' Implementation of XmlObjectBase ''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Sub XmlObjectBase_PrivateSetElementName(ByVal vNewValue As String) m_ElementName = vNewValue End Sub Private Property Get XmlObjectBase_ElementName() As String XmlObjectBase_ElementName = m_ElementName End Property Private Property Get XmlObjectBase_TargetNamespace() As String XmlObjectBase_TargetNamespace = "" End Property Private Function XmlObjectBase_IsSuitableSubstitution(ByVal InterfaceName As String) As Boolean XmlObjectBase_IsSuitableSubstitution = false if InterfaceName = "AComplexOptionalElement" _ then XmlObjectBase_IsSuitableSubstitution = true End Function Private Property Get XmlObjectBase_Namespace() As String XmlObjectBase_Namespace = "" End Property Private Function XmlObjectBase_FromXmlInt(ByVal XMLParent As MSXML2.IXMLDOMElement, ByVal XMLChild As MSXML2.IXMLDOMElement, ByVal context As LtXmlComLib20.XmlSerializationContext, ByVal isOptionalChoice As Boolean) As MSXML2.IXMLDOMElement Set XmlObjectBase_FromXmlInt = XmlGeneratedClassHelper.FromXml(Me, XMLParent, XMLChild, context, isOptionalChoice) End Function Private Sub XmlObjectBase_ToXmlInt(ByVal xmlOut As LtXmlComLib20.XmlTextWriter, ByVal bRegisterNamespaces As Boolean, ByVal NamespaceUri As String, ByVal context As LtXmlComLib20.XmlSerializationContext, ByVal isOptionalChoice As Boolean) XmlGeneratedClassHelper.ToXml Me, xmlOut, bRegisterNamespaces, NamespaceUri, context, isOptionalChoice End Sub Private Sub XmlObjectBase_AttributesToXmlInt(ByVal xmlOut As LtXmlComLib20.XmlTextWriter, ByVal context As LtXmlComLib20.XmlSerializationContext) XmlGeneratedClassHelper.AttributesToXml Me, xmlOut, context End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''' Implementation of XmlGeneratedClass ''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Summary: ' Initializes the class ' Remarks: ' The 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 Cardinality.xsd. Private Sub XmlGeneratedClass_Init() mvarChildItem = LtXmlComLib20.Conversions.stringFromString("", LtXmlComLib20.WhitespaceRule.WhitespaceRule_Preserve) ' Force Init ClassInfo Dim classInfo As LtXmlComLib20.ClassInfo Set classInfo = XmlGeneratedClass_ClassInfo ' ##HAND_CODED_BLOCK_START ID="Additional Inits"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS ' Add Additional Init Settings... ' ##HAND_CODED_BLOCK_END ID="Additional Inits"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS End Sub Private Property Get XmlGeneratedClass_ClassInfo() As LtXmlComLib20.ClassInfo If g_ClsDataAComplexOptionalElement Is Nothing Then Set g_ClsDataAComplexOptionalElement = New LtXmlComLib20.ClassInfo g_ClsDataAComplexOptionalElement.GroupType = LtXmlComLib20.XmlGroupType.Sequence g_ClsDataAComplexOptionalElement.ElementType = LtXmlComLib20.XmlElementType.Element g_ClsDataAComplexOptionalElement.ElementName = "AComplexOptionalElement" g_ClsDataAComplexOptionalElement.ElementNamespaceURI = "" g_ClsDataAComplexOptionalElement.FromXmlFailIfAttributeUnknown = true g_ClsDataAComplexOptionalElement.IsClassDerived = false g_ClsDataAComplexOptionalElement.PrimitiveDataType = LtXmlComLib20.XmlDataType.type_none g_ClsDataAComplexOptionalElement.PrimitiveFormatOverride = "" g_ClsDataAComplexOptionalElement.OutputPrimitiveClassAsTextProperty = False Set g_ClsDataAComplexOptionalElement.ClassFactory = General.CF g_ClsDataAComplexOptionalElement.AddElmSeqPrimMnd "ChildItem", "", "ChildItem", XmlDataType.type_string, "", LtXmlComLib20.WhitespaceRule.WhitespaceRule_Preserve, "", -1, -1, "", "", "", "", -1 End If Set XmlGeneratedClass_ClassInfo = g_ClsDataAComplexOptionalElement End Property ' ##HAND_CODED_BLOCK_START ID="Additional Methods/Properties"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS ' Add Additional Methods/Properties Here... ' ##HAND_CODED_BLOCK_END ID="Additional Methods/Properties"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS |
Main Menu | Samples List |