Enumerar Vínculos

Superior  Previo  Próximo

Una vez que tenga un elemento, puede enumerar todos los vínculos para él. Para hacer esto, primero localice su elemento utilizando la interfaz EnumElements, luego pase el GUID del elemento a la interfaz EnumLinks. 

 

La interfaz se define como EnumLinks(const VARIANT FAR& ElementID)- y devuelve una lista XML de todos los vínculos asociados con un elemento. Puede pasar el GUID del Vínculo a la interfaz GetLink para recuperar información específica acerca de un vínculo. 

 

Ejemplo en XML de la interfaz EnumLinks

 

<Document xmlns:UML="omg.org/UML1.3"> 

  <Link> 

  <Type>NoteLink</Type> 

  <LinkID>EAID_0D03CF69_61BF_4041_9CD8_540901F171F9</LinkID> 

  <Other>EAID_2F73E1ED_B7E2_4ce4_8758_02223B6C17B2</Other> 

  <OtherType>Actor</OtherType> 

  <OtherIsTarget>0</OtherIsTarget> 

  </Link> 

  <Link> 

  <Type>UseCase</Type> 

  <LinkID>EAID_23D317E7_B50A_45a5_AEE8_081A26CEA18D</LinkID> 

  <Other>EAID_2F73E1ED_B7E2_4ce4_8758_02223B6C17B2</Other> 

  <OtherType>Actor</OtherType> 

  <OtherIsTarget>-1</OtherIsTarget> 

  </Link> 

  <Link> 

  <Type>UseCase</Type> 

  <LinkID>EAID_4E742B84_D86E_4e37_B91C_8D3E25299646</LinkID> 

  <Other>EAID_2F73E1ED_B7E2_4ce4_8758_02223B6C17B2</Other> 

  <OtherType>Actor</OtherType> 

  <OtherIsTarget>-1</OtherIsTarget> 

  </Link> 

  <Link> 

  <Type>UseCase</Type> 

  <LinkID>EAID_77FA191A_C775_40b0_96FC_A741D1083D88</LinkID> 

  <Other>EAID_2F73E1ED_B7E2_4ce4_8758_02223B6C17B2</Other> 

  <OtherType>Actor</OtherType> 

  <OtherIsTarget>-1</OtherIsTarget> 

  </Link> 

</Document> 

 

 

Ejemplo de código Visual Basic que se usa para enumerar los vínculos

 

Private Sub GetLinks(ObjectGUID As String, Offset As String) 

 

'enumera a través de la lista de vínculos para un objeto

'por cada vínculo, llama a la función GetLink para recuperar los detalles actuales

 

Dim xmlNode As MSXML2.IXMLDOMNode 

Dim xml As New MSXML2.DOMDocument 

Dim str As String 

 

xml.loadXML EAProject.EnumLinks(ObjectGUID) 

 

  ' Debug.Print xml.xml 

 

Set xmlNode = xml.selectSingleNode("Document/Link") 

 

Do While (Not xmlNode Is Nothing) 

AddToTreeList Offset + Indent + "link: " + xmlNode.selectSingleNode("Type").Text 

GetLink xmlNode.selectSingleNode("LinkID").Text 

Set xmlNode = xmlNode.nextSibling 

Loop 

 

End Sub