可以使用 XPath 函數來傳回資料列;可以在報告編輯器中使用這些函數來定義資料集。
如拓蹼報告表示式的函數中所述,可以在報告資料集的列定義中使用這些 XPath 函數。
- getAllHosts(inputXPath)
- 傳回某些單元,它們是通往所指定單元之管理鏈結的來源。此函數僅傳回所指定單元的直接主機,而不是所指定單元的管理堆疊中的所有單元。
- inputXPath
- 單元的 XPath 位置。
傳回類型:core:Unit
- getAttributes(inputDmoXPath, 'isIncludeUnSet')
- 傳回所指定拓蹼元素上定義的屬性清單,及那些屬性的值。
- inputDmoXPath
- 拓蹼元素的 XPath 位置。
- isIncludeUnSet
- TRUE,包括沒有指定值的屬性(亦即,設為空值的屬性),或者 FALSE,排除沒有指定值的屬性。此值必須用引號括住。
傳回類型:ecore:EAttribute
- getConstraintByType(inputUnitXPath, 'dmoType')
- 傳回所指定拓蹼元素上所指定類型(或者所指定類型的任何子類型)的限制項。此函數不會遞迴,這表示如果您將單元的位置傳遞至函數,而且該單元的限制項具有子項限制項,則函數僅傳回最上層限制項,而不是子項限制項。
- inputUnitXPath
- 所要搜尋拓蹼元素的 XPath 位置。
- dmoType
- 所要尋找限制項的類型,例如 core:Constraint。此值必須用引號括住。
傳回類型:core:Constraint
- getDependsOn(inputUnitXPath)
- 傳回某些單元,它們是以所指定單元為來源之相依關係鏈結的目標。此函數不會遞迴;亦即,此函數會僅從單元傳回相依關係鏈結的直接目標,而且單元不是那些目標所連接的任何單元。
- inputUnitXPath
- 單元的 XPath 位置。
傳回類型:core:Unit
- getExtendedAttributes(inputXPath)
- 傳回所指定拓蹼元素上定義的使用者定義屬性清單。
- inputXPath
- 拓蹼元素的 XPath 位置。
傳回類型:ecore:EAttribute
- getFinalRealizationByType(inputTopologyXPath, 'dmoType', 'isIncludeConfig')
- 針對所指定拓墣中所有單元類型或單元子類型,傳回最終的實現單元(亦即,其他單元所實現到的最後一個單元)。
- inputTopologyXPath
- 一個 XPath 表示式,指定要在其中搜尋單元的拓蹼環境定義,通常,//* 用來在拓蹼中的任何位置搜尋單元。
- dmoType
- 要尋找其最終實現的單元類型,例如 core:Unit。此值必須用引號括住。
- isIncludeConfig
- TRUE,包括配置單元,或者 FALSE,省略配置單元。此值必須用引號括住。
對於此函數,可以使用傳回類型 core:Unit。如果要擷取最終實現單元的更具體相關資訊(例如,定義於該單元類型上而不是核心單元類型上的屬性),則可以將傳回類型設為您用於 dmoType 參數的相同值。您可以使用 dmoType 參數中使用的相同類型,因為此函數所傳回的所有單元都將是該類型或子類型。
例如,假設下列拓蹼中三個類型不同的概念性作業系統單元實現到三個個別的具體作業系統單元:
您可以將作為所有這些單元之超類型的作業系統類型
os:OperatingSystemUnit,傳遞至
getFinalRealizationByType 函數,如此範例中所示:
getFinalRealizationByType(//*, 'os:OperatingSystemUnit', 'false')
在此情況下,函數會傳回三個具體單元,因為它們是參數中所指定類型單元的最終實現。
在大多數情況下,將 XPath 表示式
//* 用來作為
inputTopologyXPath 參數的值。在此情況下,函數會傳回報告資料來源內所指定拓蹼中的最終實現單元。然而,如果您想要尋找單元(其拓蹼已匯入至另一個拓蹼)的最終實現,則可以指定另一個拓蹼的 XPath 位置。例如,考量下列拓蹼:
在此範例中,拓蹼 A 中的同屬作業系統單元類型作業系統單元已實現到也位在拓蹼 A 中的同屬 Linux 作業系統單元。然後,將拓蹼 A 匯入至拓蹼 B,並將同屬 Linux 單元實現到拓蹼 B 中的概念性 Redhat Linux 單元,而該單元會實現到拓蹼 B 中的具體 Redhat Linux 單元。假設您建立一個參照拓蹼 A 的資料來源,並使用下列表示式來建立一個資料集:
getFinalRealizationByType(//*, 'os:OperatingSystemUnit', 'false')
此表示式傳回拓蹼 A 中的同屬 Linux 單元,因為 XPath 表示式
//* 參照資料來源中所列出的拓蹼。如果您想要擷取拓蹼 B 中通用作業系統的最終實現,則必須傳遞拓蹼 B 的 XPath 位置,如下列範例中所示:
getFinalRealizationByType(resolveURI('platform:/resource/MyProject/topologies/com/mycompany/B.topology#/'),
'os:OperatingSystemUnit', 'false')
在此情況下,函數會從拓蹼 B 傳回具體 Redhat Linux 單元。
- getFoundInDiagrams(inputUnitXPath)
- 傳回指定單元所在的圖表清單。
- inputUnitXPath
- 單元的 XPath 位置。
傳回類型:notation:Diagram
- getHosted(inputXPath)
- 傳回某些單元,它們是以所指定單元為來源之管理鏈結的目標。此函數不會遞迴;亦即,此函數僅傳回所指定單元直接管理的單元,而且單元不是那些單元管理的任何單元。
- inputXPath
- 單元的 XPath 位置。
傳回類型:core:Unit
- getHostedByType(inputUnitXPath, 'dmoType', 'isIncludeConfig', 'isRecurse')
- 傳回所指定單元管理的兩個單元,它們是指定的類型或該類型的子類型。
- inputUnitXPath
- 單元的 XPath 位置。
- dmoType
- 所要尋找單元的類型。如果要傳回指定單元所管理的單元,請使用 core:Unit。如果要將結果限制為特定單元類型及該單元的子類型,請指定單元類型(例如 database:DatabaseUnit)以僅傳回資料庫單元。此值必須用引號括住。
- isIncludeConfig
- TRUE,包括配置單元,或者 FALSE,排除配置單元。此值必須用引號括住。
- isRecurse
- TRUE,遞迴,亦即,包括所指定單元間接管理的單元,或者 FALSE,僅包括某些單元(是通往所指定單元之管理鏈結的來源)。此值必須用引號括住。
傳回類型:core:Unit
- getImportedBy(inputUnitXPath)
- 傳回在其中匯入了所指定單元的拓蹼。
- inputUnitXPath
- 單元的 XPath 位置。
傳回類型:core:Topology
- getImportedTopology(inputXPath)
- 傳回所匯入拓蹼參照的實際拓蹼。換句話說,您將所匯入拓蹼的 XPath 位置傳遞至此函數,而函數傳回所匯入的拓蹼。比方說,如果將拓蹼 A 匯入至拓蹼 B,則可以將拓蹼 B 中所匯入拓蹼 A 實例的 XPath 位置傳遞至函數,而函數傳回拓蹼 A。
- inputXPath
- 所匯入拓蹼的 XPath 位置。
傳回類型:core:Topology
- getImportUnits(inputXPath)
- 傳回所指定匯入拓蹼的單元,包括匯入拓蹼時不可見的單元,例如專用單元。
- inputXPath
- 所匯入拓蹼的 XPath 位置。
傳回類型:core:Unit
- getMemberIn(inputXPath)
- 傳回某些單元,它們是所指定單元的成員。換句話說,此函數傳回某些單元,它們是以此單元為來源之成員資格鏈結的目標。
- inputXPath
- 單元的 XPath 位置。
傳回類型:core:Unit
- getMemberOf(inputXPath)
- 傳回某些單元,所指定單元是它們的成員。換句話說,此函數傳回某些單元,它們是通往此單元之成員資格鏈結的來源。
- inputXPath
- 單元的 XPath 位置。
傳回類型:core:Unit
- getRealizedBy(inputXPath)
- 傳回某些單元,它們是以此單元為來源之實現鏈結的目標。
- inputXPath
- 單元的 XPath 位置。
傳回類型:core:Unit
- getRealizes(inputXPath)
- 傳回某些單元,它們是通往所指定單元之實現鏈結的來源。
- inputXPath
- 單元的 XPath 位置。
傳回類型:core:Unit
- getRequiredBy(inputUnitXPath)
- 傳回某些單元,它們具有通往所指定單元的相依關係鏈結。
- inputUnitXPath
- 單元的 XPath 位置。
傳回類型:core:Unit
- getSource(inputUnitXPath)
- 傳回所指定鏈結的來源。
- inputUnitXPath
- 鏈結的 XPath 位置
傳回類型:core:Unit
- getSourceConstraintLink(inputXPath)
- 傳回以所指定單元為目標的限制項鏈結。
- inputXPath
- 單元的 XPath 位置。
傳回類型:core:ConstraintLink
- getTaskInParams(taskOperationUnit)
- 傳回工作流程中所指定作業的輸入參數。
- taskOperationUnit
- 用於作業的作業單元 XPath 位置。
傳回類型:ecore:EAttribute
- getTaskOutParams(taskOperationUnit)
- 傳回工作流程中所指定作業的輸出參數。
- taskOperationUnit
- 用於作業的作業單元 XPath 位置。
傳回類型:ecore:EAttribute
- getTopologyDiagrams(inputXPath, 'diagramName')
- 傳回所指定拓蹼中的一個以上圖表。具有圖表之後,可以擷取屬性(例如圖表名稱)或者將圖表傳遞至 getTopologyDiagramImage 以擷取圖表的影像。
- inputXPath
- 拓蹼的 XPath 位置,在大多數情況下是 DeployCoreRoot/topology。
- diagramName
- 要擷取的圖表名稱,或者作為萬用字元的星號(用來擷取所有與拓蹼產生關聯的圖表)。此值必須用引號括住。
傳回類型:notation:Diagram
- getWorkflowTasks(inputTopologyXPath)
- 將所指定工作流程中的作業,作為作業單元清單傳回。在此環境定義中,將該工作流程視為拓蹼。
- inputTopologyXPath
- 拓蹼的 XPath 位置,在大多數情況下是 DeployCoreRoot/topology。
傳回類型:operationDeploy:OperationUnit
- instanceOf(inputTopologyXPath, 'dmoType')
- 傳回所指定拓蹼中所有指定類型的拓蹼元素。
- inputTopologyXPath
- 搜尋的環境定義,通常是 //*。
- dmoType
- 所要尋找拓蹼元素的類型,例如用於單元的 core:Unit,或用於限制項的 core:Constraint。此值必須用引號括住。
比方說,如果要建立資料集來併入拓蹼中的每個單元,請使用下列表示式:
instanceOf(//*, 'core:Unit')
同樣地,如果要擷取拓蹼中的每個實現鏈結,請使用下列表示式:
instanceOf(//*, 'core:RealizationLink')
此函數的傳回類型與 dmoType 參數的類型相同。