06-15-2014, 03:35 PM
(This post was last modified: 06-15-2014, 03:44 PM by Dean Roddey.)
Everything refers to other stuff via numeric ids. So, the InCats element contains a list of numeric ids of the categories that collection belongs to. CItems is the list of item ids that belong to that collection. CCols is a list of the numeric ids for the collections that belong to a title. These numeric ids only apply to the current database. If you download new data, they could all change, and probably will in most cases.
For collections the IsPL value indicates if the collection is a playlist or not. If so, then it doesn't 'own' any of the items it contains. It's only referencing them. There will be non-playlist collections that own all of the items, and possibly playlists that reference them as well.
Everything will have a UID (unique id) but except for images they will tend to be just made up things. If the repo source provides some sort of id that will be used. For images, they are the persistent ids of the images. I'm actually returning the individual ids for the small, large and poster art for the images as well, which I can probably just remove since you don't need those. You will just use the UID, and indicate the particular image you want. In most cases the 'sub-IDs' will just be the main UID with some suffix, as is the case in the above example.
Here is the DTD:
For collections the IsPL value indicates if the collection is a playlist or not. If so, then it doesn't 'own' any of the items it contains. It's only referencing them. There will be non-playlist collections that own all of the items, and possibly playlists that reference them as well.
Everything will have a UID (unique id) but except for images they will tend to be just made up things. If the repo source provides some sort of id that will be used. For images, they are the persistent ids of the images. I'm actually returning the individual ids for the small, large and poster art for the images as well, which I can probably just remove since you don't need those. You will just use the UID, and indicate the particular image you want. In most cases the 'sub-IDs' will just be the main UID with some suffix, as is the case in the above example.
Here is the DTD:
Code:
<?xml encoding="ISO-8859-1"?>
<!ELEMENT Cast (#PCDATA)>
<!ELEMENT CCols (#PCDATA)>
<!ELEMENT CItems (#PCDATA)>
<!ELEMENT Desc (#PCDATA)>
<!ELEMENT InCats (#PCDATA)>
<!-- Images -->
<!ELEMENT Img EMPTY>
<!ATTLIST Img
LrgPId CDATA ""
SmlPId CDATA ""
PosPId CDATA ""
Id CDATA #REQUIRED
UID CDATA #REQUIRED>
<!ELEMENT Imgs (Img*)>
<!ATTLIST Imgs
Cnt CDATA #REQUIRED>
<!-- Categories -->
<!ELEMENT Cat EMPTY>
<!ATTLIST Cat
Id CDATA #REQUIRED
Name CDATA #REQUIRED
UID CDATA #REQUIRED>
<!ELEMENT Cats (Cat*)>
<!ATTLIST Cats
Cnt CDATA #REQUIRED>
<!-- Items -->
<!ELEMENT Item (InCats)>
<!ATTLIST Item
Artist CDATA #REQUIRED
Secs CDATA '0'
Loc CDATA ''
Id CDATA #REQUIRED
Name CDATA #REQUIRED
UID CDATA #REQUIRED
BitD CDATA '0'
BitR CDATA '0'
Chs CDATA '0'
URat CDATA '0'
SRate CDATA '0'
Year CDATA '0'>
<!ELEMENT Items (Item*)>
<!ATTLIST Items
Cnt CDATA #REQUIRED>
<!-- Collections -->
<!ELEMENT Col (InCats?, CItems, Cast?, Desc?)>
<!ATTLIST Col
Ana (Y|N) 'N'
IsPL (Y|N) 'N'
Year CDATA '0'
Secs CDATA '0'
Artist CDATA #REQUIRED
Id CDATA #REQUIRED
ArtId CDATA '0'
Name CDATA #REQUIRED
UID CDATA #REQUIRED
LType (FileCol|FileItem|Changer) #REQUIRED
AR CDATA #REQUIRED
Lab CDATA ''
LAct CDATA ''
Loc CDATA ''
Fmt CDATA ''
Rat CDATA 'None'
ASIN CDATA ''
UPC CDATA ''>
<!ELEMENT Cols (Col*)>
<!ATTLIST Cols
Cnt CDATA #REQUIRED>
<!-- Titles -->
<!ELEMENT Titl (CCols)>
<!ATTLIST Titl
Ana (Y|N) 'N'
Year CDATA '0'
Artist CDATA #REQUIRED
Id CDATA #REQUIRED
ArtId CDATA '0'
Name CDATA #REQUIRED
STitle CDATA #REQUIRED
UID CDATA #REQUIRED
SeqNum CDATA '0'
BitD CDATA '0'
BitR CDATA '0'
Chs CDATA '0'
URat CDATA '0'
SRate CDATA '0'
Added CDATA '0'>
<!ELEMENT Sets (Titl*)>
<!ATTLIST Sets
Cnt CDATA #REQUIRED>
<!-- The main elements -->
<!ELEMENT Music (Imgs, Cats, Items, Cols, Sets)>
<!ELEMENT Movie (Imgs, Cats, Items, Cols, Sets)>
<!ELEMENT MediaDB (Music?, Movie?)>
Dean Roddey
Explorans limites defectum
Explorans limites defectum