KoreaMed LinkOut DTD

<!-- $Id: KMLO.dtd, v1.0 2002-08-20 -->

<!-- KoreaMed LinkOut DTD version 1.0
     This document is still under revision and may change.
     1.0 - Created by Hanghoon Ko (kh2top@hallym.ac.kr)
     	   First release.
<!ENTITY lo.id                   "lo.id">
<!ENTITY lo.issn                 "lo.issn">
<!ENTITY lo.jtit                 "lo.jtitle">
<!ENTITY lo.vol                  "lo.vol">
<!ENTITY lo.iss                  "lo.iss">
<!ENTITY lo.page                 "lo.page">
<!ENTITY lo.lpage                "lo.lpage">
<!ENTITY lo.year                 "lo.year">
<!ENTITY lo.yr                   "lo.yr">
<!ENTITY lo.yl                   "lo.yl">
<!ENTITY lo.mon                  "lo.mon">
<!ENTITY lo.mo                   "lo.mo">
<!ENTITY lo.otit                 "lo.otit">
<!ENTITY lo.auth                 "lo.auth">
<!-- Only support in KoreaMed LinkOut -->
<!ENTITY lo.zpad                 "lo.zpad">

<!-- internal DTD entities -->

<!ENTITY % url.data             "#PCDATA">
<!ENTITY % rule.data            "%url.data;">

<!-- This is the top level element for Provider -->
<!ELEMENT Provider               (ProviderId, Name, NameAbbr, SubjectType*, 
                                    Attribute*, Url*, IconUrl*, Brief?)>
<!ELEMENT ProviderId              (#PCDATA)>
<!ELEMENT Name                    (#PCDATA)>
<!ELEMENT NameAbbr                (#PCDATA)>
<!ELEMENT Url                     (%url.data;)>
<!ELEMENT IconUrl                 (%url.data;)>
<!ELEMENT Brief                   (#PCDATA)>
<!-- End of Privider group -->

<!ELEMENT LinkSet                 (Link+)>
<!ELEMENT Link                    (LinkId, ProviderId, IconUrl*, ObjectSelector, ObjectUrl+)>
<!ELEMENT LinkId                  (#PCDATA)>
<!ELEMENT ObjectSelector          (Database, ObjectList)>
<!-- The databases available only KoreaMed in LinkOut -->
<!ELEMENT Database                (#PCDATA)>
<!ELEMENT ObjectList              (Query|ObjId)+>
<!ELEMENT Query                   (#PCDATA)>
<!ELEMENT ObjId                   (#PCDATA)>
<!-- End of ObjectList group -->
<!-- End of ObjectSelector group -->

<!ELEMENT ObjectUrl               (  ((Base, (Rule|RuleToMany)?)
                                     | (Rule|RuleToMany)), UrlName?, 
                                     SubjectType*, Attribute*)>

<!ELEMENT Base                    (%url.data;)>

<!ELEMENT Rule                    (%rule.data;)*>
<!ELEMENT UrlName                 (#PCDATA)>
<!ELEMENT RuleToMany              (Rule, Separator)>
<!ELEMENT Separator               (#PCDATA)>       
<!-- End of ObjectUrl group -->
<!-- End of Link group -->
<!-- End of LinkSet group -->