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 |