Jesse Pollard wrote: > Personally, I think > proc_printf(fragment, "%d %d",get_portnum(usbdev), usbdev->maxchild); > (or the string "dddd ddd" with d representing a digit) > > is shorter (and faster) to parse with > fscanf(input,"%d %d",&usbdev,&maxchild); > > Than it would be to try parsing > <usb:topology port="ddddd" portnum="dddd"> > with an XML parser. > > Sorry - XML is good for some things. It is not designed to be a > interface language between a kernel and user space. > > I am NOT in favor of "one file per value", but structured data needs > to be written in a reasonable, concise manner. XML is intended for > communication between disparate systems in an exreemly precise manner > to allow some self documentation to be included when the communication > fails.
Agreed. But one thing XML provides (potentially) is a DTD that defines meanings and formats. IMHO the kernel needs something like this for /proc (though not in DTD format!). Has anyone ever tried to write a formal syntax for all the entries in /proc? We have bits and pieces of /proc documentation in /usr/src/linux/Documentation, but nothing you could feed directly into a parser generator. It'd be neat to have a good definition for /proc in the LSB, and have an LSB conformance test that could look in /proc and say "Yup, all the entries there conform to the spec and can be parsed properly." (http://www.pathname.com/fhs/2.2-beta/fhs-2.2-beta.txt mentions /proc, but doesn't standardize any of it, except to suggest that /etc/mtab can be a symbolic link to /proc/mounts.) - Dan
