The Author Namespace
Last updated: 29th June 2004

Chapter 23 - Excel, XML and Web Services contains an example XML file showing an author's details and the books he has been involved with.  The XML in that sample file uses this URL as its namespace identifier, so a human reader can browse to this URL to find a description of the namespace.

The sample XML data file is shown below:

<?xml version="1.0" encoding="utf-8" ?>
<Author xmlns="http://www.oaltd.co.uk/ProExcelDev/Author">
    <Name>Stephen Bullen</Name>
    <Email>stephen@oaltd.co.uk</Email>
    <Book>
        <Title>Professional Excel Development</Title>
        <Publisher>Addison Wesley</Publisher>
        <ISBN>0321262506</ISBN>
    </Book>
    <Book>
        <Title>Excel 2002 VBA Programmer's Reference</Title>
        <Publisher>Wrox Press</Publisher>
        <ISBN>0764543717</ISBN>
    </Book>
</Author>

The following table gives a description of each element and tag:

Tag Description
Author The root element, being a container for all the author's information.  There must be one and only one of these elements
Name The author's name.  There must be one and only one of these elements
Email The author's email address.  There can be any number of these elements (including none)
Book A book element, being a book that the author has been involved in.  There can be any number of these elements (including none)
Title The book's title. There must be one and only one of these elements
Publisher The name of the book's publisher. There must be one and only one of these elements
ISBN The book's ISBN. There must be one and only one of these elements

The XSD file for this namespace is shown below and can be downloaded from here.

<?xml version="1.0" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://www.oaltd.co.uk/ProExcelDev/Author"
        xmlns="http://www.oaltd.co.uk/ProExcelDev/Author">
    <xs:element name="Author">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Name" type="xs:string"/>
                <xs:element name="Email" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                <xs:element name="Book" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Title" type="xs:string"/>
                            <xs:element name="Publisher" type="xs:string"/>
                            <xs:element name="ISBN" type="xs:string"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>