为什么CustomData的命名空间模式是完整的http地址和索引后缀

时间:2016-11-10 11:51:27

标签: xml-namespaces sapui5

在UI5中,customdata用于包含传递给eventControl.data()对象中的事件处理程序的其他参数。这类似于jquery数据功能。

在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前缀不会调用通过网络到给定地址的通信?如果是这样,我会更加困惑。

我想了解完整的http引用和索引后缀的原因,并知道如何用完全本地引用替换它。我试图制作一个本地参考但没有成功,我怀疑这里发生的事情比我理解的更多。

编辑:我从互联网上学到了并且与Fiddler证明了名称空间中使用的网址不用于通信。所以我猜线索可能是/ 1后缀。但仍然感到困惑。

2 个答案:

答案 0 :(得分: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观察证明)。
  5. 结束。

答案 1 :(得分:1)

根据documentation,此命名空间与其他命名空间之间的区别是有意的。不管它是什么意思。通常,URI用于定义唯一的命名空间名称,parser不使用。