wayland implementation conformance
Jeremy Volkman
jvolkman at gmail.com
Thu Jan 27 08:35:17 PST 2011
Sure. xmllint, which comes with libxml2 (libxml2-utils in Ubuntu), supports
RELAX NG these days.
scout:protocol jvolkman$ xmllint --noout --relaxng schema.xml wayland.xml
wayland.xml validates
-Jeremy
2011/1/27 Kristian Høgsberg <krh at bitplanet.net>
> On Wed, Jan 26, 2011 at 5:09 PM, Jeremy Volkman <jvolkman at gmail.com>
> wrote:
> > Here's my stab at a Wayland schema written in RELAX NG. It can be
> converted
> > to a W3C schema if preferred, but RELAX NG provides more functionality.
> For
> > example, the schema is able to require an "interface" attribute for an
> > argument only if the argument type is "object" or "new_id".
> > -Jeremy
>
> Is there a tool that can verify the protocol against the schema?
>
> Kristian
>
> > 2011/1/26 Kristian Høgsberg <krh at bitplanet.net>
> >>
> >> 2011/1/26 Casey Dahlin <cdahlin at redhat.com>:
> >> > On Wed, Jan 26, 2011 at 01:40:25PM -0500, Kristian Høgsberg wrote:
> >> >> 2011/1/26 Josh Leverette <coder543 at gmail.com>:
> >> >> > I'm not certain, but I think there could eventually be enough
> >> >> > variation for that to be needed. However, even if there isn't,
> parsing an
> >> >> > XML file might be a better long term solution that weakly linked
> functions
> >> >> > and things like that. Perhaps we could modify his idea about an XML
> profile
> >> >> > structure to allow you to delve into each supported profile and
> find out
> >> >> > more about what it supports without having to hard code acceptable
> version
> >> >> > numbers into a program. The only problem I foresee is how to modify
> the XML
> >> >> > file. It's not going to be the end user's job.. but if any program
> could
> >> >> > modify it there needs to be a fallback system to prevent a rogue
> program
> >> >> > from deleting other profile advertisements written in by the system
> or other
> >> >> > programs.
> >> >>
> >> >> The XML file isn't used at runtime. It's just a convenient mechanism
> >> >> to describe the interface. The way it works is that a client
> connects
> >> >> to the server and the server will then advertise all the global
> >> >> objects available by giving their object id, interface name and
> >> >> version. A client can then look through the list to see what's
> >> >> available and adjust its behaviour accordingly.
> >> >>
> >> >> Kristian
> >> >>
> >> >
> >> > Does the XML file have a particular schema?
> >> >
> >> > It might be useful to install it in /usr/share so it could be used by
> >> > tools. I'm thinking mostly of a d-feet style introspection tool for
> the
> >> > Wayland protocol (we could even go as far as dynamically adaptable
> >> > bindings for languages like Ruby or Python).
> >>
> >> I didn't actually write a schema for it, but if somebody with the
> >> right XML-fu could do that that would be nice. It's a good point that
> >> dynamic languages probably just want to parse the XML directly and
> >> generate the bindings on the fly and for that we would need to install
> >> the XML. As for introspection/logging/xscope, that's built into the
> >> server side library: set WAYLAND_DEBUG=1 and watch the requests and
> >> events fly by.
> >>
> >> Kristian
> >> _______________________________________________
> >> wayland-devel mailing list
> >> wayland-devel at lists.freedesktop.org
> >> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
> >
> >
> > _______________________________________________
> > wayland-devel mailing list
> > wayland-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/wayland-devel
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20110127/64a407b1/attachment.html>
More information about the wayland-devel
mailing list