Question about introspect.dtd?

Markku Savela msa at moth.iki.fi
Fri Oct 17 03:00:11 PDT 2008


Looking at

  http://standards.freedesktop.org/dbus/1.0/introspect.dtd

it has a line

  <!ELEMENT interface (annotation*,method*,signal*,property*)>

which means that in interface the subelements must appear in the
listed order, you cannot write any <method> definitions after a
<signal>. Why not be a bit more lenient, and write the above rule as

  <!ELEMENT interface (annotation*,(method | signal)*,property*)>
or
  <!ELEMENT interface (annotation*,(method | signal | property)*)>

allowing writing method and signal in any order?

[I noticed this, because I was handed a bunch of hand written
annotated introspect files, which didn't pass the DTD check due to
member/signal ordering]


More information about the dbus mailing list