BID / XML-ID / OID - Erklärung für nicht validen BID

Im Zusammenhang mit einer nicht validen Interlis-Transferdatei, die wir erhalten haben, ist eine Frage zum Format von BIDs aufgetaucht.

Wie erklärt man anhand des Interlis-Referenzhandbuchs der Version 2.3 in verständlicher Weise, dass folgende BID nicht valide ist?
BID=„M:0xA20171007B225801“

Ein BID ist ja als „BID=XML-ID“ und eine XML-ID als „XML-ID = XML-ValueDelimiter [ XML-NcName ‚:‘ ] ( Letter | Digit | ‚’ ){ Letter | Digit | '‘ | ‚-‘ | ‚.‘ } XML-ValueDelimiter“ definiert.
Ich vermute, es steht in Verbindung mit nicht definierten OidSpaces. Welche Elemente müsste die Transferdatei enthalten, damit ein solcher BID valide wäre?

Meine Antwort würde lauten:

"Die erwähnte BID enthält einen Doppelpunkt „:“, was im Referenzhandbuch im Kapitel 2.8.9 im letzten Abschnitt explizit als ungültig erwähnt wird:

OID-Werte von textlichen OID-Wertebereichen müssen die XML-ID Regel in Kapitel 3.3.1 erfüllen: erstes Zeichen muss ein Buchstabe, eine Ziffer oder ein Unterstrich sein, dann folgen Buchstaben, Ziffern, Punkte, Minuszeichen, Unterstriche; keine Doppelpunkte (!).

Dies steht so im RefHB für ILI 2.3 als auch für ILI 2.4."

Aber: die EBNF-Schreibweise von XML-ID, die in den RefHB in den Kapiteln 3.3.1 (und dank der neuen Kapitelnummerierung in der neuesten Ausgabe in Kapitel 4. 3.1 :face_with_spiral_eyes:) verwendet wird, erscheint mir schon etwas verdächtig, da dort der Doppelpunkt explizit ausgeschrieben wird und deshalb dem Prosatext meines Erachtens widerspricht.

1 „Gefällt mir“

Danke @beistehen für die Antwort, auch wenn sie etwas widersprüchlich ist. Wir werden es unserem Datenlieferanten so mitteilen, dass der Prosatext massgebend ist.

Vielleicht müsste man das bei einer Überarbeitung des Referenzhandbuches berücksichtigen und bereinigen.