471,582 Members | 1,475 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,582 software developers and data experts.

Anchors with name _and_ id?

Hi,

I have routinely added anchors to pages using both name and id:

<a name="example" id="example"></a>

under the possibly mistaken assumption that at some stage "name" might
be deprecated but "id" was unlikely to be.

Can I ask what is accepted practice currently?

Thanks for your trouble,

Andrew

--
Andrew's Corner
http://people.aapt.net.au/~adjlstrong/ubuntu_cli.html
Sep 13 '07 #1
4 2628
André Gillibert wrote:
Put the value in upper case letters.

<a name="EXAMPLE" id="EXAMPLE" href="URI">anchor text</a>

This is because the ID element type has a declared value of ID, while
the NAME element type has a declared value CDATA.
Values of attributes of declared value ID are case folded as specified
by the HTML SGML declaration which contains "NAMECASE GENERAL NO", but
CDATA values are never case folded.
But what about this?:

<http://www.w3.org/TR/html4/struct/global.html#adef-id>

id = name [CS]

i.e. ids are case-sensitive. Is it an error, or am I misinterpreting it?
For an extensive description of the issue, read:
https://www.cs.tcd.ie/15445/UG.HTML#FOLDING
--
ss at comp dot lancs dot ac dot uk |

Sep 13 '07 #2
In article <sl*******************@debranded.larseighner.com >,
Lars Eighner <us****@larseighner.comwrote:
In our last episode, <sl*******************@ilium.invalid>, the lovely and
talented andrew broadcast on comp.infosystems.www.authoring.html:
Hi,
I have routinely added anchors to pages using both name and id:
<a name="example" id="example"></a>
under the possibly mistaken assumption that at some stage "name" might
be deprecated but "id" was unlikely to be.

That name would be deprecated was announced with XHTML 1.0 and name
was deprecated for A and MAP in XHTML 1.1. Of course it is going to be in
HTML 4.x forever and XHTML is pretty much neither fish nor fowl so let's not
feed into that can of worms.
But not html 5...

http://www.w3.org/html/wg/html5/diff/#absent-attributes

"name attribute on map, img, object, form, iframe, a (use id instead)."
Sep 13 '07 #3
In our last episode,
<no****************************@news1.chem.utoront o.ca>,
the lovely and talented David Stone
broadcast on comp.infosystems.www.authoring.html:
In article <sl*******************@debranded.larseighner.com >,
Lars Eighner <us****@larseighner.comwrote:
>In our last episode, <sl*******************@ilium.invalid>, the lovely and
talented andrew broadcast on comp.infosystems.www.authoring.html:
Hi,
I have routinely added anchors to pages using both name and id:
><a name="example" id="example"></a>
under the possibly mistaken assumption that at some stage "name" might
be deprecated but "id" was unlikely to be.

That name would be deprecated was announced with XHTML 1.0 and name
was deprecated for A and MAP in XHTML 1.1. Of course it is going to be in
HTML 4.x forever and XHTML is pretty much neither fish nor fowl so let's not
feed into that can of worms.
But not html 5...
http://www.w3.org/html/wg/html5/diff/#absent-attributes
"name attribute on map, img, object, form, iframe, a (use id instead)."
Where is the DTD?

--
Lars Eighner <http://larseighner.com/ <http://myspace.com/larseighner>
Countdown: 495 days to go.
What do you do when you're debranded?
Sep 13 '07 #4
Hello,

Harlan Messinger wrote:
André Gillibert wrote:
>andrew wrote:
>>Hi,

I have routinely added anchors to pages using both name and id:

<a name="example" id="example"></a>

under the possibly mistaken assumption that at some stage "name" might
be deprecated but "id" was unlikely to be.

Put the value in upper case letters.

<a name="EXAMPLE" id="EXAMPLE" href="URI">anchor text</a>

This is because the ID element type has a declared value of ID,

It does not. First, you mean "type", not "value",
André is right: it is called "declared value". This may be confusing,
because it is similar to the "type" in programming languages, but the SGML
spec uses "declared value".
and second, the type
of the id attribute is "name".

http://www.w3.org/TR/html4/struct/global.html#h-7.5.2
André refers to the HTML DTD. The HTML spec uses 'type' scheme on top of the
SGML rules, but a real SGML parser does not know about that.
>while
the NAME element type has a declared value CDATA.

Values of attributes of declared value ID are case folded as specified
by the HTML SGML declaration which contains "NAMECASE GENERAL NO", but
CDATA values are never case folded.

Semantically, id="example" is strictly equivalent to id="EXAMPLE" and an
HTML filter may apply such a case folding. However, name="example" isn't
equivalent to name="EXAMPLE".

http://www.w3.org/TR/html4/types.html#h-6.1

This is untrue. Both attributes are marked "[CS]" (case sensitive), and
id="EXAMPLE" is not the same as id="example".
It is case sensitive on the 'HTML level', which is one step above SGML. A
SGML parser *does* fold id="example" into id="EXAMPLE" - HTML rules cannot
change that. HTML will then treat this uppercased string case sensitive.
--
Benjamin Niemann
Email: pink at odahoda dot de
WWW: http://pink.odahoda.de/
Sep 13 '07 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

7 posts views Thread by Ben Wilson | last post: by
2 posts views Thread by mlv2312 | last post: by
1 post views Thread by mlv2312 | last post: by
2 posts views Thread by learner | last post: by
21 posts views Thread by adrian suri | last post: by
12 posts views Thread by Rich | last post: by
3 posts views Thread by windandwaves | last post: by
reply views Thread by XIAOLAOHU | last post: by
reply views Thread by leo001 | last post: by
1 post views Thread by lumer26 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.