Is a colon a legal first character in an XML tag name?
<p>According to the <a href="https://www.w3.org/TR/2008/REC-xml-20081126/#sec-starttags" rel="nofollow noreferrer">W3C XML Recommendation</a>, start tag-names have the definition:</p>

<pre><code>STag ::= '&lt;' Name (S Attribute)* S? '&gt;'
</code></pre>

<p>..where <code>Name</code> is:</p>

<pre><code>Name ::= NameStartChar (NameChar)*
NameStartChar ::= ":" | [A-Z] | ...
</code></pre>

<p>..(n.b., states that a colon can appear as the first character) suggesting the following is a valid XML document:</p>

<pre><code>&lt;?xml version="1.0" ?&gt;&lt;:doc&gt;&lt;/:doc&gt;
</code></pre>

<p>..but any parser I try this in shows the colon as a formatting error.</p>

<p>Also, under Appendices B (though now a depreciated part of the document) it explicitly states:</p>

<pre><code>Characters ':' and '_' are allowed as name-start characters.
</code></pre>

<p>..and:</p>

<pre><code>&lt;?xml version="1.0" ?&gt;&lt;_doc&gt;&lt;/_doc&gt;
</code></pre>

<p>..is accepted by the XML parsers I've tried.</p>

<p>So, is a colon a valid first character in a tag-name, and the parsers I'm using are wrong, or am I reading the specification wrong?</p>