Wireshark-dev: [Wireshark-dev] Fwd: [Ethereal-dev] Questions on XML/DTD for MSCML support
From: LEGO <[email protected]>
Date: Wed, 15 Nov 2006 18:44:57 +0000
few months later both issues are solved... (revision 19903)

On 5/15/06, Jacques, Olivier (OpenCall Test Infra)
<[email protected]> wrote:
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.
_______________________________________________
Ethereal-dev mailing list
[email protected]
http://www.ethereal.com/mailman/listinfo/ethereal-dev


--
This information is top security. When you have read it, destroy yourself.
-- Marshall McLuhan


--
This information is top security. When you have read it, destroy yourself.
-- Marshall McLuhan