2017-04-12 29 views
1

我正在閱讀BPMN 2.0(http://www.omg.org/spec/BPMN/2.0/)的規範,並發現使用雙重散列標記##作爲XML元素屬性值的第一個字符。例如:XML元素屬性中的double hash ##是什麼意思?

<semantic:userTask implementation="##unspecified" completionQuantity="1" isForCompensation="false" startQuantity="1" name="edit 1st level ticket" id="_6-145">

還是看規格PDF文件表10.9和表10.45的例子。此pdf包含更多使用此語法的地方。

正如我想知道這是什麼意思,我開始尋找。我看到它在XML模式any元素(https://www.w3schools.com/xml/el_any.asp)中使用,名稱空間屬性的值始終似乎始於##

在BPMN中,當它們(規範的編寫者)希望用戶指定她希望用作實現的技術時,似乎會使用它。默認情況下會是一個Web服務,但他們試圖將其留給用戶。用戶可以使用##Unspecified##WebService,或者提供一些URI。

我找不到任何有關XML中的雙重哈希以及爲什麼它以這種方式使用。

爲什麼##在這裏使用?這是什麼意思?什麼是起源?這叫什麼?

編輯。我接受了邁克爾凱斯的回答,但我仍然有興趣知道是否有人知道這是否是在某個地方特定的。

回答

0

這並不意味着什麼特別。在使用XML Schema標記(如「## other」)時,因爲它們不是有效的URI(有效的URI不能包含「##」),因此不能將其誤認爲名稱空間。也許BMPN出於同樣的原因使用這個約定,或者也許它有它自己的原因。無論哪種方式,它在XML級別上並不意味着什麼,它是一種用於特定詞彙表的慣例,他們可能已經選擇了它,僅僅是因爲它比「**」或「$$」更好。

+0

你的解釋很有意義:區分URI和不應該成爲URI的機器可讀的東西。這個約定是否在「任何地方」(至少在XML上下文中)被指定或解釋?至於BPMN,我認爲它們遵循XML/XSD中使用的約定。 –

+0

它在任何地方「官方」解釋過嗎?不是我所知道的。 –

+0

我再次看了一遍(在學習散列符號也被稱爲數字符號或英鎊符號之後,我也不知道),但我找不到任何東西。如果有人知道規範,我會很感興趣。 –

相關問題