[thelist] Address Book Markup Language - Address Books written in XML

Simon Willison simon at incutio.com
Sun Sep 1 08:13:01 CDT 2002


At 22:24 01/09/2002 +1000, you wrote:
>I'm currently creating abml, address book markup language. I'm hoping
>that in the future, a whole range of different apps will support it so
>that it's easy to port your address book between different devices,
>applications, and platforms.
>
>The dtd file which I'm working on for it at the moment is at:
>http://illuminosity.net/xml/addressbook/dtds/abml-1_0.dtd
>
>I'd appreicate comments back on it, regarding anything that anyone
>thinks needs to be added to it, or errors that I've made writing it
>(it's done from memory of dtds, and I haven't written a dtd before so
>I'm expecting a few).

Looks like an interesting project. Here are a few thoughts:

1. How about allowing multiple comments for each contact? "comments*"
instead of "comments?"

2. You use a huge amount of elements with #PCDATA which could be replaced
with attributes. Remember, many XML parsers handle attributes faster than
#PCDATA so using them can give a good overall performance gain. For
example, birthdate(month, date, year) could be better handled with:

<!ELEMENT birthdate (date)>
<!ELEMENT anniversary (date)>
<!ELEMENT date EMPTY>
<!ATTLIST date
   month CDATA #REQUIRED
   day CDATA #REQUIRED
   year CDATA #REQUIRED
 >

Alternatively you could have the month/day/year attributes as part of the
birthdate/anniversary elements themselves - I'm not sure what is considered
best practise for that kind of thing.

3. businesses could do with having optional addresses information

Hope that helps,

Simon Willison

--
Web Developer, www.incutio.com
Weblog: http://www.bath.ac.uk/~cs1spw/blog/




More information about the thelist mailing list