The WPL format

Windows Media Player has a feature called auto playlists. An auto playlist is essentially a database query: when you look at the playlist, the query is performed against your media library (or some other database?). The query is expressed in XML and has the following format.
<?wpl version="1.0"?>
<smil>
<head>
<title>Title</title>
</head>
<body>
<seq>
<smartPlaylist version="1.0.0.0">

<querySet>
<sourceFilter id="{4202947A-A563-4B05-A754-A1B4B5989849}" name="MyMediaLibrary">
Various <fragment>s, ANDed together
</sourceFilter>
</querySet>

more <querySet>s if wanted

<filter id="{BC5E21B0-504C-46F6-82BF-FB975C911AD6}" name="LimitPlaylist">
A <fragment>
</filter>

</smartPlaylist>
</seq>
</body>
</smil>
Each <fragment> looks like
<fragment name="name">
<argument name="argument name">argument value</argument>
none or more <argument>s
</fragment>
The valid fragment names, and argument names and values, depend on the filter they are for. They seem to be case-insensitive. Here are some fragments for the source query. A fragment with an invalid name is ignored.
Music from my Media Library:
<sourceFilter id="{4202947A-A563-4B05-A754-A1B4B5989849}">
fragment name arguments
condition value
Invalid: ignored
Effective Rating,
User Rating
Is At Least,
Is,
Invalid: error
4 stars,
1 star,
Unrated,
Invalid: ignored
Last play date,
Acquisition Date
Is Before,
Is Later Than
Last week
Digital Rights Management Is
Playcount: Total,
Playcount: Evening play totals,
Playcount: Weekend play totals,
Playcount: Weekday play totals
Is Less Than,
Is Greater Than
0,
1
Bitrate Is At Least,
Is No More Than
160,
64
Sort by Descending,
Ascending,
Invalid: error
Playcount: Evening play totals,
Playcount: Weekend play totals,
Playcount: Weekday play totals,
Effective Rating,
file name,
title, artist, bitrate,
Invalid: error
Other likely categories are the columns that Windows Media Player presents.
Play Count, Play Count Morning, Play Count Afternoon, Play Count Evening, Play Count Night, Play Count Weekday, Play Count Weekend
Last Played Time, Acquisition Time, Creation Date, Release Date, Recording Date
File Name, Title, Artist, Album, Album Artist, Track, Label, Writer, Conductor, Composer
Length, Bit Rate, Size, Media, Type
Rating, Genre, Mood, Style, Provider Rating, Parental Rating, Category, Period
Group Description, Subtitle
Media Info, Protected, Copyright, Data Provider, Content Provider, Language, Key, Custom 1, Custom 2
Mystery source:
<sourceFilter id="{B2D9BDDC-8E49-444B-9BA4-193ABF9C7870}">
fragment name arguments
Here are some fragments to limit the size of the playlist.
Microsoft Auto Playlist Filter -- Limits auto playlists by count, size or duration
<filter id="{BC5E21B0-504C-46F6-82BF-FB975C911AD6}">
fragment name arguments
Number Format
LimitByDuration 1,
2,
15
hours,
minutes
LimitBySize 640 Megabytes