我正在阅读BPMN 2.0(http://www.omg.org/spec/BPMN/2.0/)的规范,并且遇到了使用双重哈希标记##
作为XML元素属性值的第一个字符。例如:
<semantic:userTask implementation="##unspecified" completionQuantity="1" isForCompensation="false" startQuantity="1" name="edit 1st level ticket" id="_6-145">
或者查看spec pdf文件表10.9和表10.45作为示例。这个pdf包含更多使用此语法的地方。
当我想知道这意味着什么时,我开始搜索。我看到它在XML模式any
元素(https://www.w3schools.com/xml/el_any.asp),namespace属性中使用,其值似乎始终以##
开头。
在BPMN中,似乎当它们(规范的编写者)希望用户指定她希望用作实现的技术时使用它。默认设置是Web服务,但他们会尝试将其留给用户。用户可以使用##Unspecified
或##WebService
,或者提供一些URI。
我找不到任何关于XML中的双哈希以及为什么以这种方式使用它。
为什么##
在这里使用?这是什么意思?起源是什么?它叫什么?
编辑。我接受了迈克尔凯斯的答案,但我仍然有兴趣听听是否有人知道这是否在某处特定地指定。
答案 0 :(得分:0)
它并不意味着什么。在XML Schema令牌中,如&#34; ## other&#34;因为它们不是有效的URI(有效的URI不能包含&#34; ##&#34;)而被使用,因此不能被误认为是名称空间。也许BMPN出于同样的原因正在使用这个约定,或者它有其自身的原因。无论哪种方式,它在XML级别上都没有任何意义,它是在您的特定词汇表中使用的惯例,并且他们很可能选择它只是因为它比#34; **&#更突出。 34;或&#34; $$&#34;。