Okay, here is a proposed format of the playlist xml. Mostly what I did was look at the tags, what they might include and put them in a structure that made at least some sense to me.
I ended up taking out the math and string functions and putting the necessary information in the xml. Note that if you wanted the actual data, and you're using the XSLT 1.0 spec, you can do the math yourself to get back to the actual data.
For those other xml afficianados out there, feel free to provide constructive criticisms. Thing is, it really doesn't much matter which of several formats we use. I mean, the data has to be grouped by item (whether that is a playlist or a tune). Other than that it's flexible and hard to say which is better or worse than any other. I could have just made each entry in the playlist its own element with a bunch of attributes, or made more nesting than I did. This is what I picked, it works, and I think it will suit our needs. Let me know if you think I'm crazy. What I really want if for Mark to look at this as a guideline and make whatever is easiest in the fewest lines of code. Whatever the format ends up being, we can write the stylesheets around it.
Someone earlier had suggested the format of the XML export function of emplode. I looked at that, and it's not appropriate in this case. That format is more for exporting an entire database, not for describing individual playlists.
In this zip file, I have included two stylesheets. They are differentiated by which version of the XSLT spec they use.
currentList - WD.xsl uses the working draft spec of XSLT, and should be used with IE 5 / 5.5 if you don't have the MSXML 3.0 parser installed.
currentList - 1.0.xsl uses the 1.0 spec of XSLT and should be used by IE6 and Mozilla.
You'll have to rename either one of these to just currentList.xsl
The other file is the sample xml file that shows both playlists and tunes in one list (just for the example). If you double click on the xml file, it will open in your browser and the stylesheet will be applied to it. You'll notice that right now, it looks strickingly similar to the current playlists in v200 of Hijack.
As far as the "protocol" for getting xml from Hijack, here's what I propose:
A config.ini setting for a default stylesheet to apply, this is applied in the xml-stylesheet processing instruction. In this sample case, the entry in the config.ini would be currentList.xsl
A format for requesting the xml of a playlist like this:
http://my.empeg/drive0/fids/101?.xml&xslt=mystylesheet.xsl
Where:
the &xslt is optional and if provided, will override the entry in config.ini
the value for &xslt is a relative or absolute path of the stylesheet to use (remember the browser is what makes this request, so it just has to be in the format that the browser can understand)
Mark would need to provide for the downloading of the stylesheet, as a file, even if khttpd_files was equal to 0 (in my opinion, as it would be vital even for browsing, and you'll be able to enforce security through the xslt by how many links you put on).
He would also need to select a directory that makes sense to him for putting the stylesheets that one asks for with a relative path (or no path). (Maybe that's the fids directory, I don't know)
I hope all this makes sense. I'd love to answer any questions, but I'm going skiing for four days. I hope to get back to this on Monday. Who knows, by then it might be implemented and we have 15 stylesheets to play with. Oh, except Mark said he was retiring for a week too. Well, maybe that's good.
Chris