I'm looking for clarification about what values are permitted for NAME
attributes, e.g. in <TMPL_VAR NAME="WHATEVER">.
The documentation (
http://html-template.sourceforge.net/html_template.html ) says that these
characters are allowed: Numbers, letters, '.', '/', '+', '-' and '_'.
I've been using colons (":") in my NAME values for some time now (with
HTML::Template v2.7) without realizing that it's not "allowed", and it's
worked as expected.
I just took a look at the source code, and it appears that the software will
parse NAME attribute values including almost any character. I don't know if
any additional checking of those values is performed later. I personally
think that it's best for software to actually restrict the format of input
to what's documented, as much as possible.
In any case, I need to know for sure what values are permitted. I'm writing
an application, that I'll be releasing as free software, that interacts with
HTML::Template and it's very important that I write the software and
documentation with the proper format of NAME values taken into account.
For the values used in my application that correspond to <TMPL_VAR> NAME
values, I'm using the same format as HTML 4.01 ID / NAME tokens:
(See http://www.w3.org/TR/html4/types.html#type-id )
So, the only issue for me is the ":" character, but I don't plan to change
the format definition I'm using and I need to know whether I can officially
use that character in HTML::Template NAME values or if I have to warn my
users about the issue.
Thanks for the great piece of software! Obviously the best thing for me
would be if I could legitimately use the ":" character, but the most
important thing is to find out definitely one way or the other.
P.S. The documentation I linked to contains information about the mailing
list that doesn't match information found elsewhere on the site and in the
v2.8 documentation on CPAN -- not sure if that information is still viable?