Questions on XML/DTD for MSCML support

"Jacques, Olivier (OpenCall Test Infra)" <[email protected]>
Newsgroups gmane.network.ethereal.devel
Message-ID <1AB048BB58C35849AD36CDE65F16C11002C6DFCB@idaexc01.emea.cpqcorp.net>
Hello,
 
I am working on implementing MSCML support in Ethereal
(http://ietfreport.isoc.org/idref/draft-vandyke-mscml/ or
http://www.ietf.org/internet-drafts/draft-vandyke-mscml-07.txt). MSCML
is on top of SIP.

I am doing that by adding a DTD to use the XML parser. It works almost
OK, but I have several issues before I release the DTD:

1. The beginning of my dtd looks like:
<? ethereal:protocol 
   proto_name="mscml" 
   media="application/mediaservercontrol+xml" 
   description="Media Server Control Markup Language"
   hierarchy="yes" ?>
 
<!ELEMENT MediaServerControl (request | response | notification) >
<!ATTLIST MediaServerControl version CDATA #REQUIRED >
<!ELEMENT request (configure_conference | configure_leg | play |
playcollect | playrecord | managecontent | faxplay | faxrecord | stop)>
<!ELEMENT configure_conference (subscribe?)>

-> Ethereal registers the protocols as "ediaservercontrol". The "m" is
missing. Also I was expecting that Ethereal would have registered it
with "mscml", which is what is given in "proto_name". Unfortunately, I
wasn't too sure what to change to fix that (and afraid to break other
things :) ).

2. In the attribute list, several forms are not accepted:
2.1
<!ATTLIST configure_conference
	id CDATA #IMPLIED
	reservedtalkers NMTOKEN #IMPLIED
	reserveconfmedia (yes | no | 1 | 0 | true | false) "yes"
>
	-> reserveconfmedia must be replaced by (removing 1 and 0):
	reserveconfmedia (yes | no | true | false) "yes"
2.2 
<!ATTLIST variable
	type (dat | dig | dur | mth | mny | num | sil | str | tme | wkd)
#REQUIRED
	subtype (mdy | dmy | ymd | ndn | t12 | t24 | USD | gen | ndn |
crd | ord) #IMPLIED
	value CDATA #REQUIRED
>
	-> subtype must be replaced by (removing USD):
	subtype (mdy | dmy | ymd | ndn | t12 | t24 | gen | ndn | crd |
ord) #IMPLIED

For 2./ This is not truly required to parse in Ethereal, but could be if
we want to implement validation against the DTD.
 
Thanks,
Olivier.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.