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