<div dir="ltr"><div><div><div>Gerard,<br><br></div>Separate, but related note/question from the EnumLiteral thread.<br><br>There you said:<br> "However, even when adding vodml-id-s explicitly to enum literals in the UML, there remains the problem s.<br>
In VO-DML.xsd EnumLiteral extends ReferableElement, and does not add
anything to it. The @name attribute inherited fro ReferableElement is
supposed to represent the literal value. Problem is that @name is
restricted as well, namely by the VODMLName pattern '[a-zA-Z_][\w_]*'."<br>
<br></div><div>I didn't notice the pattern in the document (by expression or VODMLName), so I did some tracking.<br></div><div><br></div>VO-DML - Section 4.1: ReferableElement<br></div> 4.1.2 name: xsd:NCName[1] <br> The name of the model element. Should be an NCName as defined by the XML schema specification[24]<br><div><div><div><div><div class="gmail_extra"><br></div><div class="gmail_extra">I followed this:<br> <a href="http://www.w3.org/TR/xmlschema-2/">http://www.w3.org/TR/xmlschema-2/</a><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Which defines NCName as:<br> The <a class="" href="http://www.w3.org/TR/xmlschema-2/#dt-value-space"><span class="">·</span>value space<span class="">·</span></a> of
<b>NCName</b> is the set of all strings which <a class="" href="http://www.w3.org/TR/xmlschema-2/#dt-match"><span class="">·</span>match<span class="">·</span></a>
the <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-NCName">NCName</a> production of
<a href="http://www.w3.org/TR/xmlschema-2/#XMLNS">[Namespaces in XML]</a>.<br><br></div><div class="gmail_extra"><table bgcolor="#f5dcb3" border="0"><tbody><tr valign="top"><td align="right">[4] </td><td align="right"><font><code>NCName</code></font></td>
<td align="center"><font><code> ::= </code></font></td><td align="left"><font><code>(<a href="http://www.w3.org/TR/REC-xml#NT-Letter">Letter</a> | '_')
(<a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-NCNameChar">NCNameChar</a>)*</code></font></td><td align="center"><font><code> /* </code></font></td><td align="left"><font><code>An XML
<a href="http://www.w3.org/TR/REC-xml#NT-Name">Name</a>, minus the ":" */</code></font></td></tr>
<tr valign="top"><td align="right"><a name="NT-NCNameChar"></a>[5] </td><td align="right"><font><code>NCNameChar</code></font></td>
<td align="center"><font><code> ::= </code></font></td><td align="left"><font><code><a href="http://www.w3.org/TR/REC-xml#NT-Letter">Letter</a>
| <a href="http://www.w3.org/TR/REC-xml#NT-Digit">Digit</a>
| '.' | '-' | '_'
| <a href="http://www.w3.org/TR/REC-xml#NT-CombiningChar">CombiningChar</a>
| <a href="http://www.w3.org/TR/REC-xml#NT-Extender">Extender</a></code></font></td></tr></tbody></table><br></div><div class="gmail_extra"><span style="font-family:arial,helvetica,sans-serif">Which lead to some nasty looking tables of "</span><code><span style="font-family:arial,helvetica,sans-serif">[#x0041-#x005A]" type stuff.<br><br></span></code></div>So,
switching to google, I found this:
<a href="http://stackoverflow.com/questions/1631396/what-is-an-xsncname-type-and-when-should-it-be-used">http://stackoverflow.com/questions/1631396/what-is-an-xsncname-type-and-when-should-it-be-used</a><br>"Practical restrictions of an NCName<br>
The practical restrictions of NCName are that it cannot contain several
symbol characters like :, @, $, %, &, /, +, ,, ;, whitespace
characters or different parenthesis. Furthermore an NCName cannot begin
with a number, dot or minus character although they can appear later in
an NCName."<br><br></div><div>Which seems to match the expressions shown.<br></div><div><div class="gmail_extra"><br></div><div class="gmail_extra">This doesn't quite match the VODMLName pattern [a-zA-Z_][\w_]*<br><br>Namely, by the inclusion of dot
or minus within the NCName.. which (btw) would make "X-ray" a valid name.<br></div><div class="gmail_extra">I'll note here, that this statement does not effect the discussion regrading the EnumLiteral name vs label, <br></div><div class="gmail_extra">but is related to the definition of ReferableElement.name in the vo-dml document.<br></div><div class="gmail_extra"><br></div>Mark<br><br></div></div></div></div></div>