<!--
====================================================================
registry.stanford.edu/xml/person/1.1/campuscard/Person.dtd
version 1.1, 02/05/04

DTD for the Stanford University Registry Person

Copyright 2002-2004 by the Board of Trustees of Stanford University
====================================================================
04/30/04 molive  created campuscard specific Person 1.1 DTD
====================================================================
-->

<!-- +++++++++++++++++++++++++ Person +++++++++++++++++++++++++ -->

<!ELEMENT Person (name, address?, telephone?, email?, affiliation?, 
                  identifier+, image?)>
<!ATTLIST Person
     source             (campuscard) #REQUIRED
     name               CDATA #REQUIRED
     refid              CDATA #REQUIRED
     card               CDATA #REQUIRED
     univid             CDATA #IMPLIED
>


<!-- +++++++++++++++++++++++++ Names +++++++++++++++++++++++++ -->

<!ELEMENT name (prefix?, first?, middle?, last, suffix?)>
<!ATTLIST name
     type               (full) #REQUIRED
     sourceval          CDATA #IMPLIED
>

<!ELEMENT first         (#PCDATA)>

<!ELEMENT middle        (#PCDATA)>

<!ELEMENT last          (#PCDATA)>

<!ELEMENT prefix        (#PCDATA)>

<!ELEMENT suffix        (#PCDATA)>


<!-- +++++++++++++++++++++++++ Affiliations +++++++++++++++++++++++++ -->

<!ELEMENT affiliation (affdata+, relation?)>
<!ATTLIST affiliation
     organization       (stanford) #REQUIRED
     type               (affiliate:courtesy) #REQUIRED
> 

<!ELEMENT affdata       (#PCDATA)>
<!ATTLIST affdata
     type               (detail) #REQUIRED
     code               CDATA #IMPLIED
>

<!ELEMENT relation (#PCDATA | person)*>
<!ATTLIST relation
     type               (spouse) #REQUIRED
>

<!ELEMENT person (#PCDATA)*>
<!ATTLIST person
     univid             CDATA #IMPLIED
>

<!-- +++++++++++++++++++++++++ Addresses +++++++++++++++++++++++++ -->
<!-- The Registry supports up to 3 lines of address   -->

<!ELEMENT address (line+, city, state, country, postalcode)>
<!ATTLIST address
     type               (permanentaddress) #REQUIRED
>

<!ELEMENT line          (#PCDATA)>

<!ELEMENT city          (#PCDATA)>

<!ELEMENT state         (#PCDATA)>
<!ATTLIST state
     code               CDATA #REQUIRED
>

<!ELEMENT country       (#PCDATA)>
<!ATTLIST country
     alpha2             CDATA #REQUIRED
>

<!ELEMENT postalcode    (#PCDATA)>


<!-- +++++++++++++++++++++++++ Telephones +++++++++++++++++++++++++ -->

<!ELEMENT telephone (icc, area, number, ext?)>
<!ATTLIST telephone
     type               (permanentphone) #REQUIRED
     sourceval          CDATA #IMPLIED
>

<!ELEMENT icc           (#PCDATA)>

<!ELEMENT area          (#PCDATA)>

<!ELEMENT number        (#PCDATA)>

<!ELEMENT ext           (#PCDATA)>


<!-- +++++++++++++++++++++++++ Email +++++++++++++++++++++++++ -->

<!ELEMENT email (user, host)>
<!ATTLIST email
     type               (primary) #REQUIRED
     sourceval          CDATA #IMPLIED
>

<!ELEMENT user (#PCDATA)>

<!ELEMENT host (#PCDATA)>


<!--  +++++++++++++++++++++++++ Identifiers +++++++++++++++++++++++++ -->

<!ELEMENT identifier (#PCDATA)>
<!ATTLIST identifier
     type               (card | proximity) #REQUIRED
>


<!-- +++++++++++++++++++++++++++ Image ++++++++++++++++++++++++++ -->

<!ELEMENT image (#PCDATA)>
<!ATTLIST image
     type               (card) #REQUIRED
     mimetype           CDATA #REQUIRED
     encoding           (base64) #REQUIRED
>
