Enumerar Elementos |
Superior Previo Próximo |
Una vez que tenga un GUID de paquete, puede pasarla dentro de la interfaz EnumElements para obtener una lista de los elementos dentro de un paquete. Un elemento es cualquier tipo de objeto UML -tal como una Clase u Objeto o Actividad-. La interfaz EnumElements devuelve un XML que lista el nombre, tipo y GUID para cada elemento contenido. Desde ella puede usar el GUID del elemento para obtener más información acerca de cada elemento.
La interfaz se define como EnumElements(const VARIANT FAR& PackageGUID) , y devuelve una cadena XML.
Ejemplo del XML devuelto por EnumElements
<Document xmlns:UML="omg.org/UML1.3"> <Element> <Name>Customer</Name> <Type>Actor</Type> <GUID>EAID_2F73E1ED_B7E2_4ce4_8758_02223B6C17B2</GUID> </Element> <Element> <Name>Note</Name> <Type>Note</Type> <GUID>EAID_D4597C98_506F_421a_AC73_75E9B3619602</GUID> </Element> <Element> <Name>UC01-1: User Management</Name> <Type>Package</Type> <GUID>EAID_942CA067_D717_433d_85DB_87A4A4B28660</GUID> </Element> </Document>
Ejemplo de código Visual Basic que se usa para enumerar los elementos
Private Sub GetElements(PackageGUID As String, Offset As String)
Dim xmlNode As MSXML2.IXMLDOMNode Dim xmlDoc As New MSXML2.DOMDocument Dim str As String
'obtiene la lista de los elementos en el paquete xmlDoc.loadXML EAProject.EnumElements(PackageGUID)
' Debug.Print xmlDoc.xml
Set xmlNode = xmlDoc.selectSingleNode("Document/Element") Do While (Not xmlNode Is Nothing) 'agrega a la lista str = xmlNode.selectSingleNode("Name").Text + ":" + xmlNode.selectSingleNode("Type").Text AddToTreeList Offset + Indent + str
GetElement xmlNode.selectSingleNode("GUID").Text 'obtiene los detalles GetLinks xmlNode.selectSingleNode("GUID").Text, Offset + Indent
'va al elemento siguiente Set xmlNode = xmlNode.nextSibling Loop
End Sub |