jabber.dtd
----------Cut here-----------
 
<?xml version="1.0" 
encoding="UTF-8"?>
 
<!ENTITY % knownProtocolVersions 
"19990324">
<!ENTITY % currentProtocolVersion 
"19990324">
 
<!ELEMENT jabber 
(login|message|status|roster)*>
<!ATTLIST jabber
  version 
CDATA #REQUIRED
  protocol (%knownProtocolVersions;) 
"%currentProtocolVersion;"
>
 
<!ELEMENT login (user, pass, (nick)?)>
<!ATTLIST 
login >
 
<!ELEMENT user (#PCDATA)>
<!ATTLIST user 
>
 
<!ELEMENT pass (#PCDATA)>
<!ATTLIST pass 
>
 
<!ELEMENT nick (#PCDATA)>
<!ATTLIST nick 
>
 
<!ELEMENT message ((to)+, (thread)?, (priority)?, 
(subject)?, say)>
<!ATTLIST message >
 
<!ELEMENT to (#PCDATA)>
<!ATTLIST to
  
name CDATA  #IMPLIED
>
 
<!ELEMENT thread (#PCDATA)>
<!ATTLIST thread 
>
 
<!ELEMENT priority (#PCDATA)>
<!ATTLIST priority 
>
 
<!ELEMENT subject (#PCDATA)>
<!ATTLIST subject 
>
 
<!ELEMENT say (#PCDATA)>
<!ATTLIST say
  
type CDATA  #IMPLIED
>
 
<!ELEMENT status (say, (priority)?, 
(icon)?)>
<!ATTLIST status >
 
<!ELEMENT icon (#PCDATA)>
<!ATTLIST icon 
>
 
<!ELEMENT roster ((add)*, (del)*, 
(get)*)>
<!ATTLIST roster >
 
<!ELEMENT add (#PCDATA)>
<!ATTLIST add
  
group CDATA #REQUIRED
>
 
<!ELEMENT del (#PCDATA)>
<!ATTLIST del
  
group CDATA #REQUIRED
>
 
<!ELEMENT get (#PCDATA)>
<!ATTLIST get
  
group CDATA #REQUIRED
>