If you're developing a simple referencing scheme that does not have to make sub-references, I recommend that you do not pre-pend all references with hash characters (#
):
<collection xml:id="c1"/>
<letter is_included_in="c1"/>
- At the base level, standard practice is for identifier and reference to match
exactly;
@id
and@idref
match exactly. - Historically,
#
in a reference is used to precede a reference to a subpart. (See specifically the widely adopted standard use of hash marks in HTML@href
to introduce a fragment identifier to refer to a named part of an HTML page.) TEI and XPointer built upon this convention in URIs. - The XML spec requires that attribute values of type ID must match the Name production, which prohibits id's from starting with a number.