<!--
====================================================================
registry.stanford.edu/xml/person/1.2/campuscard/Person.dtd
version 1.2, 11/17/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
11/17/04 molive  updated to Person 1.2 DTD structure
====================================================================
-->

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

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

<!-- +++++++++++++++++++++++++ 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 | affiliate:nonactive) #REQUIRED
     until              CDATA #IMPLIED
> 

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

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

<!ELEMENT person EMPTY>
<!ATTLIST person
     univid             CDATA #IMPLIED
>

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

<!ELEMENT address (line+, city, (state | province), country, postalcode?)>
<!ATTLIST address
     type               (permanent) #REQUIRED
>

<!ELEMENT line          (#PCDATA)>

<!ELEMENT city          (#PCDATA)>

<!ELEMENT state         EMPTY>
<!ATTLIST state
     code               CDATA #REQUIRED
>

<!ELEMENT province      EMPTY>
<!ATTLIST province
     code               CDATA #REQUIRED
>

<!ELEMENT country       (#PCDATA)>

<!ELEMENT postalcode    (#PCDATA)>


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

<!ELEMENT telephone (icc, area, number, ext?)>
<!ATTLIST telephone
     type               (permanent) #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 | imageid) #REQUIRED
>


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

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