2016-11-10 43 views
2

在UI5中,customdata用於包含傳遞給eventControl.data()對象中的事件處理函數的其他參數。這類似於jQuery數據功能。爲什麼CustomData的名稱空間模式爲完整的http地址和索引後綴

在UI5的XML視圖定義中,我們必須定義名稱空間。在迄今爲止我在網上偶然發現的所有文檔和示例中,customdata的名稱空間具有引用特定http地址和特定索引號後綴的模式,而迄今爲止我所遇到的所有其他模式都沒有也包括在內。

請參閱下面的示例,其中customdata是列表中的最後一個條目。

<mvc:View 
    controllerName="sapui5.muSample.controller.Master" 
    xmlns:mvc="sap.ui.core.mvc" 
    xmlns:l="sap.ui.layout"  
    xmlns="sap.m" 
    xmlns:c="sap.ui.core" 
    xmlns:app="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1" 
    > 

如果我想從我的服務器完全運行OpenUI5硬從而帶動而不涉及任何外部來源,我怎樣才能改變引用的CustomData?或者我誤解了,並且是否使用http前綴不會調用通過Web到達給定地址的通信?如果是這樣,我更加困惑。

我想了解完整的http引用和索引後綴的原因,並知道如何用完全本地的引用來替換它。我試圖做一個當地的參考,但沒有成功,我懷疑有更多的事情發生在我身上。

編輯:我已經從互聯網上學習,並與提琴手證明,在命名空間中使用的網址不用於通信。所以我想這個線索可能是/ 1後綴。儘管如此,仍然困惑。

回答

1

根據documentation該名稱空間和其他名稱空間之間的區別是有意的。不管什麼意思。一般來說,URI用於定義唯一的命名空間名稱,並且不被parser使用。

+0

非常感謝我在代碼中發現的東西。文件中提到差異是故意的原因是有限的,如果不是廣泛的。我注意到你是一個經常使用的UI5響應者 - 我可以問你是否知道更正式的命名空間格式的其他例子嗎? PS Upvoted爲您的努力。 –

+0

接受@ matbtt的答案,但請參閱我的http和/ 1的詳細信息。 –

+0

感謝您的支持。其實我並不知道其他例子。但這並不意味着它們不存在。儘管我每天都在使用UI5,但我並沒有對其所有方面進行概述。 – matbtt

2

如果有人幫助別人,並在需要時徵求社區的更正,請自己解答。

我搜索了UI5的調試源代碼字符串"http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1",並在XMLTemplateProcessor-dbg.js中找到匹配項,其中有一條if語句尋找此精確字符串。

我的結論是:

  1. 這只不過是一個名稱空間不匹配,我已經經歷了迄今UI5命名空間的一般模式更多。可能是一個「由單獨編碼的團隊」問題或一些類似的人爲原因。
  2. 命名空間文本是任意的,除了與UI5代碼中需要的內容匹配之外沒有任何意義。
  3. 在一般的命名空間上下文中,/ 1後綴將表示命名空間的版本號 - 一種隨時間對命名空間進行版本控制的方式。但是這對UI5中的這種用法沒有影響。
  4. 在UI5上下文中,http前綴不具有通信含義,並且不會使客戶端接觸指定的Web地址(由Fiddler觀察證明)。

結束。

相關問題