A practical question about attributes

Tim Bray tbray at textuality.com
Tue Jan 12 20:26:40 GMT 1999


At 11:38 AM 1/12/99 -0800, Jeffrey E. Sussna wrote:
>Folks,
>
>I can gain significant size reductions by representing things as attributes 
>rather than sub-elements. Here is an example:

In general, I'd say it's a bad practice to warp your design out of
shape in order to save bytes; LZ compression does a better job anyhow.

><session><id>25</id><type>Q</type><num>15</num></session>
><session id="25" type="Q" num="15"/>

Let's take a closer look, at "<id>25</id>" vs id='25'.  In this case,
you're only saving 4 chars.  Attributes carry 3 characters of overhead: 
equals and two quotation marks, beyond the name.  If the length of the 
name is N, then elements carry N + 5 (end tag, <, >, </, >).  So the 
saving is N+2 chars, where N is the length of the name.  Work it out.

>Here's the question: does anyone know of any gotchas in using attributes 
>instead of elements? Parsing issues, etc.?

Yeah, they can't repeat, they can't have internal structure, they can't
contain external entities, they have no defined order.  But perhaps
these aren't material in your application. -T.

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list