The address book revisited


We will define our simple address example used for HTML V1.0 so that content and presentation are separated.

We start by defining the data in XML according to its hierarchical structure:

<Addresses>
...

        <Person>
                <Name>Herman, Iván</Name>
                <Address>W3C at the W3C Dutch Office at CWI, Kruislaan 413</Address>
                <City>Amsterdam</City>
                <Zip>1098 SJ</Zip>
                <Country>Netherlands</Country>
                <Tel  where="mobile">+33 6 0887 2517</Tel>
                <Tel where="home">+31 20 647 8592</Tel>
                <Tel where="office">+31 20 592 4163</Tel>
                <Fax>+31-20-592 4312</Fax>
                <Email>ivan@w3.org</Email>
                <Picture width="281" height="266" src="pngs/ivan.png"/>
        </Person>
...
                
</Addresses>

We want to define what can be in an Address, and what their data types are as well as later wanting to use Namespaces - use XML Schema

Example schema for the address file

which can be bound to the XML data file

We want to say how the address list should be presented, so we use CSS to define a style sheet for each of the elements defined in the schema. This can then be viewed

We now have the same information presentation as the few lines of HTML V1.0 gave us at the start. But it is derived from Data that we can safely transform in other ways.