1 module example-jukebox {
3 namespace "http://example.com/ns/example-jukebox";
6 organization "Example, Inc.";
7 contact "support at example.com";
8 description "Example Jukebox Data Model Module";
9 revision "2015-04-04" {
10 description "Initial version.";
11 reference "example.com document 1-4673";
15 description "Base for all genre types";
18 // abbreviated list of genre classifications
19 identity alternative {
21 description "Alternative music";
25 description "Blues music";
29 description "Country music";
33 description "Jazz music";
37 description "Pop music";
41 description "Rock music";
46 "An empty container indicates that the jukebox
47 service is available";
50 "Represents a jukebox resource, with a library, playlists,
51 and a play operation.";
55 description "Represents the jukebox library resource.";
61 "Represents one artist resource within the
62 jukebox library resource.";
68 description "The name of the artist.";
75 "Represents one album resource within one
76 artist resource, within the jukebox library.";
82 description "The name of the album.";
86 type identityref { base genre; }
88 "The genre identifying the type of music on
96 description "The year the album was released";
101 "Administrative information for the album.";
105 description "The label that released the album.";
107 leaf catalogue-number {
109 description "The album's catalogue number.";
117 "Represents one song resource within one
118 album resource, within the jukebox library.";
124 description "The name of the song";
130 "The file location string of the
131 media file for the song";
136 "An identifier string for the media type
137 for the file associated with the
138 'location' leaf for this entry.";
144 "The duration of this song in seconds.";
147 } // end list 'album'
148 } // end list 'artist'
154 description "Number of artists in the library";
160 description "Number of albums in the library";
166 description "Number of songs in the library";
174 "Example configuration data resource";
179 "The name of the playlist.";
184 "A comment describing the playlist.";
192 "Example nested configuration data resource";
194 leaf index { // not really needed
197 "An arbitrary integer index for this playlist song.";
201 path "/jbox:jukebox/jbox:library/jbox:artist/" +
202 "jbox:album/jbox:song/jbox:name";
206 "Song identifier. Must identify an instance of
207 /jukebox/library/artist/album/song/name.";
214 "Represents the jukebox player resource.";
221 units "tenths of seconds";
222 description "Time gap between each song";
228 description "Control function for the jukebox player";
233 description "playlist name";
239 description "Song number in playlist to play";