XMBML Functions: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
 
(123 intermediate revisions by 5 users not shown)
Line 1: Line 1:
= Operators =
{{XMBML Operators}}
*There are 8 double operators (Agl, AgL, AGl, AGL, Ogl, OgL, OGl, OGL), with this operators are set 2 values of the range, in the example above '''''AGL+StorageMedia:StorageMedia.type 1 5''''' are fullfilled 2 conditions: The type is "greater or equal than" 1, and "less or equal than" 5. So it represents a range that includes the types 1, 2, 3, 4, 5


= xcb Functions =
= app Functions =


== exists ==
== app://localhost/query? ==
App provider


Querys the database for Games, Music, Photos, Video, etc and if condition satisfaied (or not) go to selected xcb function.
<pre><Query class="type:x-xmb/folder-pixmap" key="app_provider_0" attr="app_provider_0" src="app://localhost/query?" /></pre>


Usage example:
= host Functions =
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_folding_at_home" src="xcb://localhost/exists?having=off&rquery=root.fixed_items.fah&cond=Ae+Game:Common.dirPath /dev_hdd0/game+Ae+Game:Common.fileName NPIA00002"/></pre>


=== Parameters ===
host functions enable you to see folders and files on the filesystem.


{| class="wikitable sortable"
== host://localhost/ ==
|-
! Description !! Parameter !! Confirmed accepted values !! Example
|-
| Positive or negative condition || having || on<br />off || having=off
|-
| Run function (from registory.xml variables) || rquery || (null)<br />Variables from registory.xml || rquery=root.fixed_items.fah
|-
| Search condition || cond || (null)<br />Any combination of [[#Objects_and_fields]]<br />'''Operators:'''</br>Ae+ [A B is equivalent to AND A = B]</br>An+ [A B is equivalent to AND NOT (A = B) same as AND (A != B)]</br>Aa+ [Exists A?]</br>Ap+ [?????]</br>Oe+ [A B is equivalent to OR A = B]</br>On+ [A B is equivalent to OR NOT (A = B) same as OR (A != B)]</br>AGL+ [A B C is equivalent to AND A in (B, C, ...)]</br>OGL+ [A B C is equivalent to OR A in (B, C, ...)] || cond=Ae+Game:Common.dirPath /dev_hdd0/game+Ae+Game:Common.fileName NPIA00002
|-
|}
 
== query ==
 
Querys the database for Games, Music, Photos, Video, etc and presents the returned items.


Usage example:
No function, direct. Using direct paths to the filesystem. Usage example:
<pre><Query class="type:x-xmb/folder-pixmap" key="vmc_device_ms" src="xcb://localhost/query?table=MMS_MEDIA_TYPE_SYSTEM&subclass=x-xcb/storagemedia-psv&sort=+StorageMedia:StorageMedia.sortOrder&genre=Game&cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+Ae+StorageMedia:StorageMedia.deviceType %xCB_DEVICE_TYPE_MS+AGL+StorageMedia:StorageMedia.type %xCB_MEDIA_TYPE_MS_STD %xCB_MEDIA_TYPE_MS_IOX+Ae+StorageMedia:StorageMedia.mediaFormat %xCB_MEDIA_FORMAT_DATA" /></pre>


=== Parameters ===
<pre><Query class="type:x-xmb/folder-pixmap" key="host_hdd0" src="host://localhost/dev_hdd0/game"/></pre>


{| class="wikitable sortable"
{| class="wikitable sortable"
|+FileSystem Paths Examples
! Path !! Example
|-
|-
! Description !! Parameter !! Confirmed accepted values !! Example
| All filesystem || host://localhost/
|-
| Returned items limit || limit || (null)<br />Numbers up to 2048? || limit=2048
|-
|-
| Main search table? || table || (null)<br />MMS_MEDIA_TYPE_SYSTEM<br />MMS_MEDIA_TYPE_HDD<br />MMS_MEDIA_TYPE_PLUS<br />MMS_MEDIA_TYPE_PS3_BD ''[OFW 1.10]''<br />MMS_MEDIA_TYPE_PS3_DVD ''[OFW 1.10]''<br />MMS_MEDIA_TYPE_PS2_DVD ''[OFW 1.10]''<br />MMS_MEDIA_TYPE_PS2_CD ''[OFW 1.10]''<br />MMS_MEDIA_TYPE_PS1_CD ''[OFW 1.10]'' || table=MMS_MEDIA_TYPE_SYSTEM
| PS3 HDD || host://localhost/dev_hdd0
|-
|-
| Filter by subclass? || subclass || (null)<br />x-xcb/storagemedia-sdps2<br />x-xcb/storagemedia-sdps3<br />x-xcb/storagemedia-sdpsp<br />x-xcb/storagemedia-dspsp ''[OFW 1.10]''<br />x-xcb/storagemedia-psv<br />x-xcb/storagemedia-psmc<br />x-xcb/storagemedia-bdc<br />x-xcb/friendachievgroup<br />x-xcb/savedata-plus<br />x-xcb/friendachievflag || subclass=x-xcb/storagemedia-sdps2
| USB Port 0 Disk || host://localhost/dev_usb000
|-
|-
| Filter by genre? || genre || (null)<br />Photo<br />Game<br />Music<br />Video || genre=Photo
| USB Port 1 Disk || host://localhost/dev_usb001
|-
|-
| Sorting || sort || (null)<br />Any combination of [[#Objects_and_fields]]<br />'''Operators:'''</br>+ ''[increasing]''<br/>- ''[decreasing]'' || sort=+StorageMedia:StorageMedia.sortOrder+StorageMedia :StorageMedia.timeInserted
| USB Port 2 Disk || host://localhost/dev_usb002
|-
|-
| Sorting (from registory.xml variables) || ssort || (null)<br />Variables from registory.xml || ssort=root.sort_selected.friend_named
| USB Port 3 Disk || host://localhost/dev_usb003
|-
|-
| Search condition || cond || (null)<br />Any combination of [[#Objects_and_fields]]<br />'''Operators:'''</br>Ae+ [A B is equivalent to AND A = B]</br>An+ [A B is equivalent to AND NOT (A = B) same as AND (A != B)]</br>Oe+ [A B is equivalent to OR A = B]</br>On+ [A B is equivalent to OR NOT (A = B) same as OR (A != B)]</br>AGL+ [A B C is equivalent to AND A in (B, C, ...)]</br>OGL+ [A B C is equivalent to OR A in (B, C, ...)] || cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+Ae+StorageMedia:StorageMedia.d eviceType %xCB_DEVICE_TYPE_CF
| APP_HOME || host://localhost/app_home
|-
| Search condition (from registory.xml variables) || scond || (null)<br />Variables from registory.xml || scond=root.cond_selected.gamelist_format
|-
| ???????? || option || (null)<br />option_hybrid<br />option_plus || opt=option_hybrid
|-
| ???????? || perm || (null)<br />1 || perm=1
|-
|-
|}
|}


== Objects and fields ==
*Only 4 usb storage devices can be mounted by the system at the same time, the usb device number is assigned dynamically (e.g: dev_usb089), there is no need to list all them
 
== host://localhost/q? ==


=== StorageMedia ===
Querys the filesystem with parameters to filter or identify contents. Usage example:
 
<pre><Query class="type:x-xmb/xmlpackagefolder" key="host_provider_usb0" src="host://localhost/q?path=/dev_usb000&suffix=.pkg&subclass=x-host/package"/></pre>


{| class="wikitable sortable"
{| class="wikitable sortable"
|+Parameters
! Description !! Parameter !! Examples
|-
|-
! Object !! Field !! Confirmed accepted values
| path || FileSystem Path || (null)<br/>path=/<br/>path=/dev_hdd0/game<br/>path=/dev_usb000<br/>path=/dev_bdvd/PS3_CONTENT/THEMEDIR/D000<br/>any other filesystem path
|-
|-
| StorageMedia || StorageMedia:StorageMedia.sortOrder || (null)
| suffix || Filter by extension? || (null)<br/>suffix=.*<br/>suffix=.pkg<br/>suffix=.P3T<br/>suffix=informationboard (see: [[Widgets]])<br/>any other extension?
|-
|-
| StorageMedia || StorageMedia:StorageMedia.timeInserted || (null)
| subclass || Subclass of the files (mimetype?) || (null)<br/>subclass=x-host/package<br/>subclass=x-host/widget (see: [[Widgets]])<br/>subclass=x-host/directory<br/>subclass=x-host/theme-content<br/>subclass=x-host/ps2_newsavedata<br/>subclass=x-host/mount-info<br/>subclass=x-host/unknown<br/>subclass=x-host/file
|-
| StorageMedia || StorageMedia:StorageMedia.reserved24 || (null)
|-
| StorageMedia || StorageMedia:StorageMedia.mediaFormat || (null)<br/>%xCB_MEDIA_FORMAT_DATA<br/>%xCB_MEDIA_FORMAT_PS3GAME_BD<br/>%xCB_MEDIA_FORMAT_PS3GAME_DVD<br/>%xCB_MEDIA_FORMAT_PS3CONTENT_BD<br/>%xCB_MEDIA_FORMAT_PS3CONTENT_DVD<br/>%xCB_MEDIA_FORMAT_PS1GAME_CD<br/>%xCB_MEDIA_FORMAT_BDMV<br/>%xCB_MEDIA_FORMAT_BDAV<br/>%xCB_MEDIA_FORMAT_AVCHD<br/>%xCB_MEDIA_FORMAT_DVD_VIDEO<br/>%xCB_MEDIA_FORMAT_DVDPVR
|-
| StorageMedia || StorageMedia:StorageMedia.type || (null)<br/>%xCB_MEDIA_TYPE_BDROM<br/>%xCB_MEDIA_TYPE_DVDROM<br/>%xCB_MEDIA_TYPE_DVDPRW<br/>%xCB_MEDIA_TYPE_DVDMR<br/>%xCB_MEDIA_TYPE_CDROM<br/>%xCB_MEDIA_TYPE_CDMRW<br/>%xCB_MEDIA_TYPE_MS_STD<br/>%xCB_MEDIA_TYPE_MS_R<br/>%xCB_MEDIA_TYPE_MS_IOX<br/>%xCB_MEDIA_TYPE_SD<br/>%xCB_MEDIA_TYPE_CF<br/>%xCB_MEDIA_TYPE_PS3_BD<br/>%xCB_MEDIA_TYPE_PS3_DVD<br/>%xCB_MEDIA_TYPE_PS2MC<br/>%xCB_MEDIA_TYPE_PS1MC<br/>%xCB_MEDIA_TYPE_PS1_CD<br/>%xCB_MEDIA_TYPE_PDA<br/>%xCB_MEDIA_TYPE_DLNA<br/>%xCB_MEDIA_TYPE_WM<br/>%xCB_MEDIA_TYPE_SACD<br/>%xCB_MEDIA_TYPE_CDDA<br/>%xCB_MEDIA_TYPE_DSD<br/>%xCB_MEDIA_TYPE_AAD ''[OFW 1.10]''
|-
| StorageMedia || StorageMedia:StorageMedia.deviceType || (null)<br/>%xCB_DEVICE_TYPE_USBPSP<br/>%xCB_DEVICE_TYPE_USBAAD<br/>%xCB_DEVICE_TYPE_USBAADWM<br/>%xCB_DEVICE_TYPE_USBWM<br/>%xCB_DEVICE_TYPE_USBMASS<br/>%xCB_DEVICE_TYPE_USBCAMERA<br/>%xCB_DEVICE_TYPE_MS<br/>%xCB_DEVICE_TYPE_SD<br/>%xCB_DEVICE_TYPE_C<br/>%xCB_DEVICE_TYPE_ETHER
|-
| StorageMedia || StorageMedia:StorageMedia.hybrid || (null)<br/>HYBRID
|-
| StorageMedia || StorageMedia:StorageMedia.sortOrder || (null)
|-
| StorageMedia || StorageMedia:StorageMedia.audio.channelType || (null)
|-
| StorageMedia || StorageMedia:StorageMedia.stat.version || (null)
|-
| StorageMedia || StorageMedia:StorageMedia.stat.mediaStatus || (null)<br/>%xCB_MEDIA_INSERTED
|-
| StorageMedia || StorageMedia:Common.stat.timeImported || (null)
|-
| StorageMedia || StorageMedia:Common.titleForSort || (null)
|-
| StorageMedia || StorageMedia:Common.fileName || (null)<br/>EX_GAME<br/>THEMEDIR<br/>EX_VIDEO<br/>VIDEODIR<br/>(any file or dir name?)
|-
|-
|}
|}


=== Game ===
= xcb Functions =
XCB = XMB Content Browser ?


{| class="wikitable sortable"
*Managed by dev_flash/vsh/module
|-
**xcbcontentop.sprx
! Object !! Field !! Confirmed accepted values
**xcbplugin1.sprx
|-
| Game || Game:Game.gameCategory || (null)
|-
| Game || Game:Game.bootable ''[OFW 1.10]''|| (null)<br/>0<br/>1
|-
| Game || Game:Game.titleId ''[OFW 1.10]''|| (null)<br/>NPUP00030<br/>(any other game ID?)
|-
| Game || Game:Game.category || (null)1P (Game - PS1 Game)<br/>2P (Game - PS2 Game)<br/>2D (Game - PS2 Emulator Data)<br/>AM (Music, ex: Qriocity Music Unlimited)<br/>AP (Photo, ex: Play Memories)<br/>AT (TV, ex: QOOK TV, Now TV)<br/>AV (Video, ex: Netflix, LoveFilm)<br/>BV (Video, ??????)<br/>CB (Network, ex: Life with Playstation, Folding@home)<br/>GD (Game - Game Data)<br/>HM (Music, ??????)<br/>HG? (Game - HDD Game)<br/>MN? (Game - PSP Mini Game)<br/>PP (Game - PSP Game?)<br/>SD? (Game - Game Save Data)<br/>VF (??????)<br/>WT (??????)
|-
| Game || Game:Common.dirPath || (null)<br/>/dev_hdd0/game
|-
| Game || Game:Common.fileName || (null)<br/>SCEAPPS01<br/>SCEAPPS02<br/>SCEAPPS03<br/>NPIA00002 (Folding@home)<br/>NPIA00005 (Playstation home)<br/>(any other game ID?)
|-
| Game || Game:Common.stat.timeLastUsed || (null)
|-
| Game || Game:Common.timeCreated || (null)
|-
| Game || Game:Common.title || (null)
|-
| Game || Game:Common.titleForSort || (null)
|-
| Game || Game:Common.stat.rating || (null)<br/>299<br/>300<br/>(any other number?)
|-
|}


=== GameList ===
== xcb://localhost/exists? ==


{| class="wikitable sortable"
Querys the database for Games, Music, Photos, Video, etc and if condition satisfaied (or not) go to selected xcb function. Usage example:
|-
! Object !! Field !! Confirmed accepted values
|-
| GameList || GameList:Common.titleForSort || (null)<br/>2000<br/>4000
|-
| GameList || GameList:GameList.type || (null)<br/>%xCB_LIST_TYPE_PSPSAVEDATA_TITLE<br/>%xCB_LIST_TYPE_PS3SAVEDATA_TITLE<br/>%xCB_LIST_TYPE_GAME_TAGS<br/>%xCB_LIST_TYPE_GAME_FORMAT
|-
| GameList || GameList:Common.owner || (null)<br/>%xUserId
|-
|}


=== Photo ===
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_folding_at_home" src="xcb://localhost/exists?having=off&rquery=root.fixed_items.fah&cond=Ae+Game:Common.dirPath /dev_hdd0/game+Ae+Game:Common.fileName NPIA00002"/></pre>


{| class="wikitable sortable"
{| class="wikitable sortable"
|+Parameters
! Description !! Parameter !! Confirmed accepted values !! Example
|-
|-
! Object !! Field !! Confirmed accepted values
| Positive or negative condition || having || on<br />off || having=off
|-
|-
| Photo || Photo:Common.titleForSort || (null)
| Main search table? || table || Table from [[XMB_database#Tables | XMB database tables]] || table=MMS_MEDIA_TYPE_SYSTEM
|-
|-
| Photo || Photo:Common.timeCreated || (null)
| Run function (from registory.xml variables) || rquery || (null)<br />Variables from registory.xml || rquery=root.fixed_items.fah
|-
| Photo || Photo:Common.size || (null)
|-
| Photo || Photo:Common.stat.contentsStatus ''[OFW 1.10]'' || (null)<br/>%xCB_CONTENT_STATUS_AVAILABLE
|-
| Photo || Photo:Common.stat.timeImported ''[OFW 1.10]'' || (null)
|-
|-
| Photo || Photo:Common.stat.timeImportedTicks || (null)
| Run function (from envirmont variables?) || rqueryenv || (null)<br />backup || rqueryenv=backup
|-
|-
| Photo || Photo:Photo.codec || (null)
| Search condition || cond || (null)<br />Combination of [[XMB_database#Objects_and_fields | XMB database object fields]] using logical [[#Operators|operators]] || cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+Ae+StorageMedia:StorageMedia.deviceType %xCB_DEVICE_TYPE_CF
|-
|-
|}
|}


=== PhotoList ===
== xcb://localhost/query? ==
 
Querys the database for Games, Music, Photos, Video, etc and presents the returned items. Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="vmc_device_ms" src="xcb://localhost/query?table=MMS_MEDIA_TYPE_SYSTEM&subclass=x-xcb/storagemedia-psv&sort=+StorageMedia:StorageMedia.sortOrder&genre=Game&cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+Ae+StorageMedia:StorageMedia.deviceType %xCB_DEVICE_TYPE_MS+AGL+StorageMedia:StorageMedia.type %xCB_MEDIA_TYPE_MS_STD %xCB_MEDIA_TYPE_MS_IOX+Ae+StorageMedia:StorageMedia.mediaFormat %xCB_MEDIA_FORMAT_DATA"/></pre>


{| class="wikitable sortable"
{| class="wikitable sortable"
|+Parameters
! Description !! Parameter !! Confirmed accepted values !! Example
|-
|-
! Object !! Field !! Confirmed accepted values
| Returned items limit || limit || (null)<br />Numbers up to 2048? || limit=2048
|-
|-
| PhotoList || PhotoList:Common.titleForSort || (null)
| Main search table? || table || Table from [[XMB_database#Tables | XMB database tables]] || table=MMS_MEDIA_TYPE_SYSTEM
|-
|-
| PhotoList || PhotoList:PhotoList.type || (null)<br/>%xCB_LIST_TYPE_PHOTO_ALBUM_MONTH<br/>%xCB_LIST_TYPE_PHOTO_ALBUM_YEAR<br/>%xCB_LIST_TYPE_PHOTO_TAGS
| Filter by subclass? || subclass || (null)<br />x-xcb/unknown<br />x-xcb/game<br />x-xcb/game-disc<br />x-xcb/game-debug<br />x-xcb/game-list<br />x-xcb/content-disc<br />x-xcb/video<br />x-xcb/video-disctitle<br />x-xcb/video-file<br />x-xcb/video-list<br />x-xcb/video-content<br />x-xcb/editingvideo<br />x-xcb/photo<br />x-xcb/photo-list<br />x-xcb/music<br />x-xcb/music-list<br />x-xcb/segment<br />x-xcb/storage-media<br />x-xcb/storagemedia-generic<br />x-xcb/storagemedia-cdda<br />x-xcb/storagemedia-sacd<br />x-xcb/storagemedia-psmc<br />x-xcb/storagemedia-dlna<br />x-xcb/storagemedia-avchd<br />x-xcb/storagemedia-bdc<br />x-xcb/storagemedia-videodisc<br />x-xcb/storagemedia-sdps3<br />x-xcb/storagemedia-sdps2<br />x-xcb/storagemedia-sdpsp<br />x-xcb/storagemedia-psv<br />x-xcb/directory<br />x-xcb/directory-generic<br />x-xcb/directory-photo<br />x-xcb/directory-music<br />x-xcb/directory-video<br />x-xcb/directory-bddata<br />x-xcb/savedata-ps3<br />x-xcb/savedata-ps2<br />x-xcb/savedata-ps1<br />x-xcb/savedata-psp<br />x-xcb/savedata-plus<br />x-xcb/savedata-pspdir<br />x-xcb/achbase<br />x-xcb/achievtitle<br />x-xcb/achievgroup<br />x-xcb/achievflag<br />x-xcb/friendachievtitle<br />x-xcb/friendachievflag<br />x-xcb/friendachievgroup<br />x-xcb/person<br />x-xcb/playedplayer<br />x-xcb/blockedplayer<br />x-xcb/message<br />x-xcb/psv<br />x-xcb/vmc<br />x-xcb/query-condition || subclass=x-xcb/storagemedia-sdps2
|-
|-
|}
| Filter by genre? || genre || (null)<br />Photo<br />Game<br />Music<br />Video<br/>BdData || genre=Photo
 
=== Music ===
 
{| class="wikitable sortable"
|-
|-
! Object !! Field !! Confirmed accepted values
| Sorting || sort || (null)<br />Combination of [[XMB_database#Objects_and_fields | XMB database object fields]] using sort operators:<br />+ ''[ascend]''<br />- ''[descend]'' || sort=+StorageMedia:StorageMedia.sortOrder+StorageMedia :StorageMedia.timeInserted
|-
|-
| Music || Music:Common.titleForSort || (null)
| Sorting (from registory.xml variables) || ssort || (null)<br />Variables from registory.xml || ssort=root.sort_selected.friend_named
|-
|-
| Music || Music:Common.reserved1 || (null)
| Search condition || cond || (null)<br />Combination of [[XMB_database#Objects_and_fields | XMB database object fields]] using logical [[#Operators|operators]] || cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+Ae+StorageMedia:StorageMedia.deviceType %xCB_DEVICE_TYPE_CF
|-
|-
| Music || Music:Common.stat.timeImported ''[OFW 1.10]'' || (null)
| Search condition (from registory.xml variables) || scond || (null)<br />Variables from registory.xml || scond=root.cond_selected.gamelist_format
|-
|-
| Music || Music:Common.stat.timeImportedTicks || (null)
| ???????? || option || (null)<br />option_hybrid<br />option_plus || option=option_hybrid
|-
|-
| Music || Music:Music.codec || (null)
| ???????? || perm || (null)<br />1 || perm=1, perm=off
|-
|-
| Music || Music:MusicServed.trackNumber || (null)
| ???????? || attr ''(to confirm)'' || (null)<br />?????? || attr=PspSdDir:Common.title+PspSdDir:Common.fileName+PspSdDir:Common.titleForSort+PspSdDir:Common.size+PspSdDir:Common.timeCreatedUTC+PspSdDir:Common.dirPath
|-
|-
| Music || Music:MusicServed.discNumber || (null)
| ???????? || trigger || (null)<br />off || trigger=off
|-
|-
| Music || Music:MusicServed.listTitleForSort || (null)
| ???????? || range || (null)<br />off<br/>only 0 1<br/>ahead 0 1024 || range=ahead 0 1024
|-
|-
| Music || Music:MusicServed.playerForSort || (null)
| ???????? || opt || (null)<br />parent<br/>logical<br/>shared || opt=parent
|-
|-
| Music || Music:MusicServed.genreForSort || (null)
| ???????? || io || IOGameVideo || io=IOGameVideo
|-
|-
|}
|}


=== MusicList ===
== xcb://localhost/raw? ==
 
Unknown. Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="vmc_device_ms" src="xcb://localhost/raw?idlist=?????"/></pre>


{| class="wikitable sortable"
{| class="wikitable sortable"
|+Parameters
! Description !! Parameter !! Confirmed accepted values !! Example
|-
|-
! Object !! Field !! Confirmed accepted values
| List of ids? || idlist || (null) || idlist=?????
|-
| MusicList || MusicList:Common.titleForSort || (null)
|-
| MusicList || MusicList:MusicList.type || (null)<br/>%xCB_LIST_TYPE_MUSIC_ALBUM<br/>%xCB_LIST_TYPE_MUSIC_PLAYLIST_ARTIST<br/>%xCB_LIST_TYPE_MUSIC_PLAYLIST_GENRE<br/>%xCB_LIST_TYPE_MUSIC_TRACKNAME_INITIAL<br/>%xCB_LIST_TYPE_MUSIC_RELEASEDYEAR
|-
| MusicList || MusicList:MusicListServed.genreForSort || (null)
|-
| MusicList || MusicList:MusicListServed.playerForSort || (null)
|-
|-
|}
|}


=== Video ===
= xmb Functions =


{| class="wikitable sortable"
== xmb://localhost/ ==
|-
Allows to load a segment from another .xml file
! Object !! Field !! Confirmed accepted values
 
Usage example with explicit complete path:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_photo_playlist" src="xmb://localhost/dev_flash/vsh/resource/explore/xmb/category_photo.xml#seg_playlist_mgmt"/></pre>
 
The same example but using the path shorcut '''%flash/''' (as a replacement of '''dev_flash/vsh/resource/explore/'''):
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_photo_playlist" src="xmb://localhost/%flash/xmb/category_photo.xml#seg_playlist_mgmt"/></pre>
 
{| class="wikitable"
|+FileSystem Paths Examples
! Path !! Example !! notes
|-
|-
| Video || Video:Common.titleForSort || (null)
| rowspan="2" | dev_flash/vsh/resource/explore/xmb/file.xml || xmb://localhost/'''dev_flash/vsh/resource/explore/'''xmb/'''file.xml'''#'''segment''' || explicit path
|-
|-
| Video || Video:Common.size || (null)
| xmb://localhost/'''%flash/'''xmb/'''file.xml'''#'''segment''' || shorcut path
|-
|-
| Video || Video:Common.stat.timeImported ''[OFW 1.10]'' || (null)
| dev_hdd0/game/XMBMANPLS/USRDIR/xmbmp/game_settings.xml || xmb://localhost/dev_hdd0/game/XMBMANPLS/USRDIR/xmbmp/game_settings.xml#seg_settings || XMBM+ mod loads the main items from the installation folder of an app<br>Intended for easy updates of the .xml files
|-
|-
| Video || Video:Common.stat.timeImportedTicks || (null)
| dev_hdd0/xmlhost/game_plugin/fb.xml || xmb://localhost/dev_hdd0/xmlhost/game_plugin/fb.xml#seg_fb || Webman plugin XMB mod loads an .xml file<br>Intended for updating the list of displayed games dinamically
|-
| Video || Video:Video.videoCodec || (null)
|-
|-
|}
|}


=== VideoList ===
*Other uses, found inside explore_category_video.sprx (interesting because the file root.xml doesnt exists in path dev_flash/vsh/resource/explore/xmb/)
**xmb://localhost/root.xml#
**xmb://localhost/app_home/root.xml#


{| class="wikitable sortable"
*Speculation (partially). It seems is posible to load an item from a segment by using one of these methods (untested):
|-
**src="xmb://localhost/%flash/xmb/file.xml#segment.item"
! Object !! Field !! Confirmed accepted values
**src="xmb://localhost/%flash/xmb/file.xml#segment:item"
|-
 
| VideoList || VideoList:Common.titleForSort || (null)
= ese Functions =
|-
ESE = acronym of ? ESE XML Schema ?
| VideoList || VideoList:VideoList.type || (null)<br/>%xCB_LIST_TYPE_VIDEO_TITLE_INITIAL<br/>%xCB_LIST_TYPE_VIDEO_IMPORTEDMONTH<br/>%xCB_LIST_TYPE_VIDEO_TAGS
 
|-
*Managed by dev_flash/vsh/module/
|}
**esecron.sprx (replaced in firmware 2.20 <!-- by eseibrd.sprx -->)
**esehttp.sprx
**eseibrd.sprx
**eseidle.sprx
**eselock.sprx
 
== ese://localhost/fixed? ==
Found inside explore_category_game.sprx
 
<pre>ese://localhost/fixed?type=dlctl</pre>
 
== ese://localhost/item? ==
Found inside explore_category_game.sprx
 
<pre>ese://localhost/item?id=</pre>
 
== ese://localhost/query? ==


=== AchievTitle ===
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_hdd_install" src="ese://localhost/query?type=install_game"/></pre>


{| class="wikitable sortable"
{| class="wikitable"
|-
! Object !! Field !! Confirmed accepted values
|-
| AchievTitle || AchievTitle:Common.dirPath || (null)<br/>%xUserHomeDir/trophy
|-
|-
| AchievTitle || AchievTitle:Common.fileName || (null)
! Unknown !! Example
|-
|-
| AchievTitle || AchievTitle:Common.titleForSort || (null)
| ? || ese://localhost/query?type=download_control
|-
|-
| AchievTitle || AchievTitle:Common.timeModified || (null)
| ? || ese://localhost/query?type=download_list
|-
|-
| AchievTitle || AchievTitle:AchievTitle.timeLastUnlocked || (null)
| ? || ese://localhost/query?type=install_game
|-
|-
| AchievTitle || AchievTitle:AchievTitle.ex.timeLastUpdate || (null)
| ? || ese://localhost/query?type=install_video
|-
|-
| AchievTitle || AchievTitle:AchievTitle.ex.timeLastUnlocked || (null)
| ? || ese://localhost/query?type=install_pkg
|-
|-
|}
|}


=== AchievFlag ===
= sel Functions =
Selective functions, only available when satisfyed a condition, e.g: with screenshots the function '''sel://localhost/screenshot?category_photo.xml#seg_screenshot''' means: "when screenshot plugin is available... then load the segment #seg_screenshot" (screenshot plugin is enabled from the eboot of some games, and screenshot segment makes the icon visible in XMB photo column)


{| class="wikitable sortable"
{| class="wikitable"
|-
|-
! Object !! Field !! Confirmed accepted values
! Parameter !! Valid values !! Example
|-
|-
| AchievFlag || AchievFlag:Common.fileName || (null)
| type || game <br />minis <br />music <br />network <br />photo <br />psn <br />tv <br />video || sel://localhost/welcome?type=game
|-
|-
| AchievFlag || AchievFlag:Common.titleForSort || (null)
| path || path to an .xml file#segment || sel://localhost/ingame?path=category_game.xml#seg_gameexit&type=game
|-
| AchievFlag || AchievFlag:Common.fileName || (null)
|-
| AchievFlag || AchievFlag:AchievFlag.flagId || (null)
|-
| AchievFlag || AchievFlag:AchievFlag.flagType || (null)
|-
| AchievFlag || AchievFlag:AchievFlag.timeUnlocked || (null)
|-
| AchievFlag || AchievFlag:AchievFlag.reserved0 || (null)
|-
| AchievFlag || AchievFlag:AchievFlag.reserved3 || (null)
|-
| AchievFlag || AchievFlag:AchievFlag.reserved4 || (null)
|-
| AchievFlag || AchievFlag:AchievFlag.ex.timeUnlocked || (null)
|-
|-
|}
|}


=== Ps3SaveData ===
== sel://localhost/avcroom? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_avcroom" src="sel://localhost/avcroom?category_friend.xml#seg_avcroom"/></pre>
 
== sel://localhost/currentuser?query? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="Played" attr="Played" src="sel://localhost/currentuser?query?table=MMS_MEDIA_TYPE_HDD&sort=-PlayedPlayer:Common.timeCreated&cond=Aa+PlayedPlayer:Common.titleForSort+Ae+PlayedPlayer:Common.owner"/></pre>
 
== sel://localhost/dlnaconf? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_network_dlnaconf" src="sel://localhost/dlnaconf?category_sysconf.xml#seg_network_dlnaconf"/></pre>
 
== sel://localhost/env? ==
Found inside explore_category_game.sprx
 
== sel://localhost/ex? ==
Loads an item from '''dev_flash/vsh/resource/explore/xmb/registory.xml'''
 
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="gameDir2" attr="gameDir2" src="sel://localhost/ex?root.view_selected.game"/></pre>
 
The example above loads all this info sequentially (reordered for convenience):
 
<pre>
<XMBML version="1.0">
<View id="root">
<Attributes>
<Table key="view_selected">
  <Pair key="game"><String>view_game.all</String></Pair>
</Table>
<Table key="view_game">
<Pair key="all"><String>xcb://localhost/query?limit=2048&ssort=root.sort_selected.game_all&limit=2048&scond=root.cond_selected.game_all</String></Pair>
</Table>
<Table key="sort_selected">
<Pair key="game_all"><String>sort_game.time_created_descend</String></Pair>
 
<Table key="sort_game">
<Pair key="time_created_descend"><String>sort=-Game:Common.stat.rating-Game:Common.timeCreated+Game:Common.titleForSort-Game:Game.category</String></Pair>
</Table>
<Table key="cond_selected">
<Pair key="game_all"><String>cond_game.all_default</String></Pair>
</Table>
<Table key="cond_game">
<Pair key="all_default"><String>cond=An+Game:Game.category GD+An+Game:Game.category 2D+An+Game:Game.category CB+An+Game:Game.category HM+An+Game:Game.category AT+An+Game:Game.category AV+An+Game:Game.category AM+An+Game:Game.category AP+An+Game:Game.category VF+An+Game:Game.category BV+An+Game:Game.category WT+An+Game:Game.category SF+An+Game:Game.category AS+AL+Game:Common.stat.rating 299</String></Pair>
</Table>
</Attributes>
<Items>
<Item key="view_selected" attr="view_selected" />
<Item key="view_game" attr="view_game" />
<Item key="sort_selected" attr="sort_selected" />
<Item key="sort_game" attr="sort_game" />
<Item key="cond_selected" attr="cond_selected" />
<Item key="cond_game" attr="cond_game" />
</Items>
</View>
</XMBML>
</pre>
 
== sel://localhost/fnregist? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_regist" src="sel://localhost/fnregist?"/></pre>
 
== sel://localhost/hakoniwa? ==
Hakoniwa is the "Photo Gallery" official app (NPIA00006) that comes partially preinstalled in the firmwares (there is a mandatory icon in XMB photo column and is dependant of hknw_plugin.sprx, but the program itself is not installed with the firmware). To use the program is needed to install the .PKG that installs the rest of the files in dev_hdd0/game/NPIA00006/USRDIR/EBOOT.PBP
 
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_hakoniwa" src="sel://localhost/hakoniwa?category_photo.xml#seg_hakoniwa"/></pre>
 
== sel://localhost/hasbddata? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_bddata_mgmt" attr="seg_bddata_mgmt" src="sel://localhost/hasbddata?category_video.xml#seg_bddatamgmt"/></pre>
 
== sel://localhost/ingame? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_minis_manual" src="sel://localhost/ingame?path=category_game.xml#seg_minis_manual&type=minis"/></pre>
 
== sel://localhost/isdlna? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_dlna_scan" attr="seg_dlna_scan" src="sel://localhost/isdlna?category_photo.xml#seg_dlna_scan"/></pre>
 
== sel://localhost/ishantai? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_device_kbim_hantai" src="sel://localhost/ishantai?category_sysconf.xml#seg_device_kbim_hantai"/></pre>


{| class="wikitable sortable"
== sel://localhost/iskana? ==
|-
Usage example:
! Object !! Field !! Confirmed accepted values
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_device_kbim_kana" src="sel://localhost/iskana?category_sysconf.xml#seg_device_kbim_kana"/></pre>
 
== sel://localhost/ismegatv? ==
Found inside explore_category_game.sprx , explore_category_network.sprx
Region Checked for Korean.
 
== sel://localhost/ispremo? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_premo" src="sel://localhost/ispremo?file=category_network.xml&n=seg_premo"/></pre>
 
== sel://localhost/minis? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_sdpsp" src="sel://localhost/minis?category_game.xml#seg_sdpsp"/></pre>
 
== sel://localhost/newchat? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_new_chat" src="sel://localhost/newchat?category_friend.xml#seg_new_chat"/></pre>
 
== sel://localhost/nogold? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_plus" src="sel://localhost/nogold?category_psn.xml#seg_plus"/></pre>
 
== sel://localhost/nonpaccount? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_reg_quick" src="sel://localhost/nonpaccount?category_psn.xml#seg_reg_quick"/></pre>
 
== sel://localhost/nopremo? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_premo" src="sel://localhost/nopremo?category_network.xml#seg_premo"/></pre>
 
== sel://localhost/npaccount? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_message_box" src="sel://localhost/npaccount?category_friend.xml#seg_message_box"/></pre>
 
== sel://localhost/nplogin? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_fixed_items" src="sel://localhost/nplogin?category_friend.xml#seg_fixed_items"/></pre>
 
== sel://localhost/npnologin? ==
Found inside explore_category_game.sprx
 
== sel://localhost/ps2emusave? ==
Checks if one or more "PS2 classic" savedata exists (by looking at the [[xRegistry.sys]]/setting/game/ps2emuSaveUtility setting ?), and if found it loads category_game.xml#seg_sdps2 to show the [[:File:Saved_Data_Utility_(PS2).jpg|Saved Data Utility (PS2)]] submenu
 
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_sdps2" src="sel://localhost/ps2emusave?category_game.xml#seg_sdps2"/></pre>
 
== sel://localhost/screenshot? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_screenshot" attr="seg_screenshot" src="sel://localhost/screenshot?category_photo.xml#seg_screenshot"/></pre>
 
== sel://localhost/videoedit? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_editingvideo_mgmt" attr="seg_editingvideo_mgmt" src="sel://localhost/videoedit?category_video.xml#seg_editingvideo_mgmt"/></pre>
 
== sel://localhost/welcome? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_welcome" attr="seg_welcome" src="sel://localhost/welcome?type=game"/></pre>
 
== sel://localhost/wenv? ==
Found inside explore_category_game.sprx<br>
Usage example:
<pre>
sel://localhost/wenv?k=FacebookDelAcc&v=on&rquery=root.fixed_items.facebook_del_acc&e=FacebookDelAccReload
</pre>
 
= xil Functions =
Acronym of... Xml? Index? List?
 
== xil://localhost/list? ==
Loads XIL information, in most cases this xil info is stored in a xil.xml configuration file. Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_xil" attr="seg_xil" src="xil://localhost/list?t=music"/></pre>
 
{| class="wikitable"
|+FileSystem Paths Examples
! t= !! Linked to xil file in path: !! Example
|-
|-
| Ps3SaveData || Ps3SaveData:Common.title ''[OFW 1.10]'' || (null)
! music
| dev_hdd0/tmp/explore/xil/music/... xil.xml || xil://localhost/list?t=music
|-
|-
| Ps3SaveData || Ps3SaveData:Common.titleForSort || (null)
! tv
| dev_hdd0/tmp/explore/xil/tv/... xil.xml || xil://localhost/list?t=tv
|-
|-
| Ps3SaveData || Ps3SaveData:Common.dirPath || (null)<br/>%xUserHomeDir/savedata
! video
| dev_hdd0/tmp/explore/xil/video/... xil.xml || xil://localhost/list?t=video
|-
|-
| Ps3SaveData || Ps3SaveData:Common.owner || (null)<br/>%xUserId
! game
|-
| no xil.xml associated || xil://localhost/list?t=game
| Ps3SaveData || Ps3SaveData:Ps3SaveData.timeModified || (null)
|-
| Ps3SaveData || Ps3SaveData:Ps3SaveData.subTitle || (null)
|-
| Ps3SaveData || Ps3SaveData:Ps3SaveData.broken || (null)
|-
|-
|}
|}


=== Ps2SaveData ===
*Notes
**'''xil://localhost/list?t=game''' - Used for first time around firmware 4.40~4.46 in '''category_game.xml''', in the XMB item '''gameDir'''. In previous/older firmwares '''gameDir''' was using xcb://localhost/query? with a long list of operators to filter contents. In other words the old xcb query (usefull because was very open, but maybe not much efficient) has been replaced by a new xil function (maybe more efficient, but with the filtering operators hardcoded somewhere, and doesnt seems to be a xil.xml associated with it). As a note, the XMBM+ project (an unnofficial xml mod able to display games by groups by using custom filters) is based in the old method


{| class="wikitable sortable"
 
== xil://localhost/item? ==
Found in explore_category_game.sprx (never found used on XMBML files, so no example from ofw available)
 
<pre>xil://localhost/item?x=%d&y=%u&t=%llx</pre>
 
{| class="wikitable"
|-
|-
! Object !! Field !! Confirmed accepted values
! ? !! ? !! ?
|-
|-
| Ps2SaveData || Ps2SaveData:Common.titleForSort || (null)
! x
| ||  
|-
|-
| Ps2SaveData || Ps2SaveData:Ps2.timeModified || (null)
! y
| ||  
|-
|-
| Ps2SaveData || Ps2SaveData:Ps2.timeModified || (null)
! t
| ||  
|-
|-
|}
|}


=== PspSaveData ===
*Speculation
**The valid values for "t" probably are the same used by xil://localhost/list
***t=music
***t=tv
***t=video
***t=game


{| class="wikitable sortable"
= chat Functions =
|-
 
! Object !! Field !! Confirmed accepted values
== chat://localhost/player? ==
Found in explore_plugin.sprx
 
<pre>chat://localhost/player?id=</pre>
 
== chat://localhost/room? ==
Found in explore_plugin.sprx
 
<pre>chat://localhost/room?id=</pre>
 
== chat://localhost/roomlist? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_chat" src="chat://localhost/roomlist?"/></pre>
 
{| class="wikitable"
|-
|-
| PspSaveData || PspSaveData:Common.titleForSort || (null)
! Unknown !! Example
|-
|-
| PspSaveData || PspSaveData:Common.dirPath || (null)<br/>%xUserHomeDir/minis_savedata
| ? || chat://localhost/roomlist?
|-
| PspSaveData || PspSaveData:Common.owner || (null)<br/>%xUserId
|-
| PspSaveData || PspSaveData:PspSaveData.timeModified || (null)
|-
| PspSaveData || PspSaveData:PspSaveData.sdTitle || (null)
|-
| PspSaveData || PspSaveData:PspSaveData.broken || (null)
|-
|-
|}
|}


=== Person ===
= user Functions =


{| class="wikitable sortable"
== user://localhost/create ==
|-
Usage example:
! Object !! Field !! Confirmed accepted values
 
|-
<pre><Query class="type:x-xmb/folder-pixmap" key="user_provider_0" attr="user_provider_0" src="user://localhost/create"/></pre>
| Person || Person:Common.titleForSort || (null)
 
|-
== user://localhost/others ==
| Person || Person:Common.stat.status || (null)<br/>2<br/>3<br/>4<br/>5<br/>6<br/>2 5
 
|-
== user://localhost/users ==
| Person || Person:Common.stat.timeLastUsed || (null)
Usage example:
|-
 
| Person || Person:Person.reserved20 || (null)
<pre><Query class="type:x-xmb/folder-pixmap" key="user_provider_1" attr="user_provider_1" src="user://localhost/users"/></pre>
|-
 
| Person || Person:Person.stat.presence || (null)<br/>2 6
= now Functions =
|-
 
|}
== now://localhost/q? ==
Usage example:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="seg_now" src="now://localhost/q?id=XMB_MODULE_MUSIC&rquery=root.fixed_items.nowmusic"/></pre>
 
= rss Functions =
 
== rss:// ==
Usage examples:
 
<pre><Query class="type:x-xmb/folder-pixmap" key="site_rss_2" attr="site_rss_2" src="rss://http://ps3.drikin.com/rss/sample.xml"/></pre>
<pre><Query class="type:x-xmb/folder-pixmap" key="rss_provider_0" attr="rss_provider_0" src="rss://http://www.rssnavi.jp/rss/?k=caterss3"/></pre>
 
k = channel ?


=== BlockedPlayer ===
= wboard Functions =


{| class="wikitable sortable"
== wboard://localhost/item? ==
|-
Usage example: (x and y axis ?)
! Object !! Field !! Confirmed accepted values
|-
| BlockedPlayer || BlockedPlayer:Common.titleForSort || (null)
|-
| BlockedPlayer || BlockedPlayer:Common.owner || (null)<br/>%xUserId
|-
|}


=== PlayedPlayer ===
<pre>wboard://localhost/item?x=%u&y=%u</pre>


{| class="wikitable sortable"
== wboard://localhost/list? ==
|-
! Object !! Field !! Confirmed accepted values
|-
| PlayedPlayer || PlayedPlayer:Common.timeCreated || (null)
|-
| PlayedPlayer || PlayedPlayer:Common.titleForSort || (null)
|-
| PlayedPlayer || PlayedPlayer:Common.owner || (null)<br/>%xUserId
|-
|}


=== Vmc ===


{| class="wikitable sortable"
{{System Firmware}}<noinclude>[[Category:Main]]</noinclude>
|-
! Object !! Field !! Confirmed accepted values
|-
| Vmc || Vmc:Common.timeCreated ''[OFW 1.10]'' || (null)
|-
| Vmc || Vmc:Common.timeCreatedUTC || (null)
|-
| Vmc || Vmc:Common.titleForSort || (null)
|-
| Vmc || Vmc:Common.title || (null)
|-
| Vmc || Vmc:Vmc.type || (null)
|-
|}

Latest revision as of 09:20, 31 October 2018

Operators[edit | edit source]

XMBML Operators
Operator Field Example
Ae And equal Ae+Game:Game.category GD
An And not equal An+Game:Game.category GD
Al And less than Al+Game:Common.stat.rating 299
AL And less or equal than AL+Game:Common.stat.rating 299
Ag And greater than Ag+Game:Common.stat.rating 299
Agl And greater than and less than Agl+Person:Person.stat.presence 2 6
AgL And greater than and less or equal than AgL+Person:Person.stat.presence 2 6
AG And greater or equal than AG+Game:Common.stat.rating 299
AGl And greater or equal than and less than AGl+Person:Person.stat.presence 2 6
AGL And greater or equal than and less or equal than AGL+StorageMedia:StorageMedia.type 1 5
Aa And exists Aa+Game:Common.title
Ai And indexed ? (in XMB database) Ai+xCB:VideoList
Ap And present ? (in a path) Ap+Ps3SaveData:Common.dirPath %xUserHomeDir/savedata
Oe Or equal Oe+Game:Game.category GD
On Or not equal On+Game:Game.category GD
Ol Or less than Ol+Game:Common.stat.rating 299
OL Or less or equal than OL+Game:Common.stat.rating 299
Og Or greater than Og+Game:Common.stat.rating 299
Ogl Or greater than and less than Ogl+Person:Person.stat.presence 2 6
OgL Or greater than and less or equal than OgL+Person:Person.stat.presence 2 6
OG Or greater or equal than OG+Game:Common.stat.rating 299
OGl Or greater or equal than and less than OGl+Person:Person.stat.presence 2 6
OGL Or greater or equal than and less or equal than OGL+Person:Person.stat.presence 2 6
Oa Or exists Oa+Game:Common.title
Oi Or indexed ? (in XMB database) Oi+xCB:VideoList
Op Or present ? (in a path) Op+Ps3SaveData:Common.dirPath %xUserHomeDir/savedata
  • There are 8 double operators (Agl, AgL, AGl, AGL, Ogl, OgL, OGl, OGL), with this operators are set 2 values of the range, in the example above AGL+StorageMedia:StorageMedia.type 1 5 are fullfilled 2 conditions: The type is "greater or equal than" 1, and "less or equal than" 5. So it represents a range that includes the types 1, 2, 3, 4, 5

app Functions[edit | edit source]

app://localhost/query?[edit | edit source]

App provider

<Query class="type:x-xmb/folder-pixmap" key="app_provider_0" attr="app_provider_0" src="app://localhost/query?" />

host Functions[edit | edit source]

host functions enable you to see folders and files on the filesystem.

host://localhost/[edit | edit source]

No function, direct. Using direct paths to the filesystem. Usage example:

<Query class="type:x-xmb/folder-pixmap" key="host_hdd0" src="host://localhost/dev_hdd0/game"/>
FileSystem Paths Examples
Path Example
All filesystem host://localhost/
PS3 HDD host://localhost/dev_hdd0
USB Port 0 Disk host://localhost/dev_usb000
USB Port 1 Disk host://localhost/dev_usb001
USB Port 2 Disk host://localhost/dev_usb002
USB Port 3 Disk host://localhost/dev_usb003
APP_HOME host://localhost/app_home
  • Only 4 usb storage devices can be mounted by the system at the same time, the usb device number is assigned dynamically (e.g: dev_usb089), there is no need to list all them

host://localhost/q?[edit | edit source]

Querys the filesystem with parameters to filter or identify contents. Usage example:

<Query class="type:x-xmb/xmlpackagefolder" key="host_provider_usb0" src="host://localhost/q?path=/dev_usb000&suffix=.pkg&subclass=x-host/package"/>
Parameters
Description Parameter Examples
path FileSystem Path (null)
path=/
path=/dev_hdd0/game
path=/dev_usb000
path=/dev_bdvd/PS3_CONTENT/THEMEDIR/D000
any other filesystem path
suffix Filter by extension? (null)
suffix=.*
suffix=.pkg
suffix=.P3T
suffix=informationboard (see: Widgets)
any other extension?
subclass Subclass of the files (mimetype?) (null)
subclass=x-host/package
subclass=x-host/widget (see: Widgets)
subclass=x-host/directory
subclass=x-host/theme-content
subclass=x-host/ps2_newsavedata
subclass=x-host/mount-info
subclass=x-host/unknown
subclass=x-host/file

xcb Functions[edit | edit source]

XCB = XMB Content Browser ?

  • Managed by dev_flash/vsh/module
    • xcbcontentop.sprx
    • xcbplugin1.sprx

xcb://localhost/exists?[edit | edit source]

Querys the database for Games, Music, Photos, Video, etc and if condition satisfaied (or not) go to selected xcb function. Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_folding_at_home" src="xcb://localhost/exists?having=off&rquery=root.fixed_items.fah&cond=Ae+Game:Common.dirPath /dev_hdd0/game+Ae+Game:Common.fileName NPIA00002"/>
Parameters
Description Parameter Confirmed accepted values Example
Positive or negative condition having on
off
having=off
Main search table? table Table from XMB database tables table=MMS_MEDIA_TYPE_SYSTEM
Run function (from registory.xml variables) rquery (null)
Variables from registory.xml
rquery=root.fixed_items.fah
Run function (from envirmont variables?) rqueryenv (null)
backup
rqueryenv=backup
Search condition cond (null)
Combination of XMB database object fields using logical operators
cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+Ae+StorageMedia:StorageMedia.deviceType %xCB_DEVICE_TYPE_CF

xcb://localhost/query?[edit | edit source]

Querys the database for Games, Music, Photos, Video, etc and presents the returned items. Usage example:

<Query class="type:x-xmb/folder-pixmap" key="vmc_device_ms" src="xcb://localhost/query?table=MMS_MEDIA_TYPE_SYSTEM&subclass=x-xcb/storagemedia-psv&sort=+StorageMedia:StorageMedia.sortOrder&genre=Game&cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+Ae+StorageMedia:StorageMedia.deviceType %xCB_DEVICE_TYPE_MS+AGL+StorageMedia:StorageMedia.type %xCB_MEDIA_TYPE_MS_STD %xCB_MEDIA_TYPE_MS_IOX+Ae+StorageMedia:StorageMedia.mediaFormat %xCB_MEDIA_FORMAT_DATA"/>
Parameters
Description Parameter Confirmed accepted values Example
Returned items limit limit (null)
Numbers up to 2048?
limit=2048
Main search table? table Table from XMB database tables table=MMS_MEDIA_TYPE_SYSTEM
Filter by subclass? subclass (null)
x-xcb/unknown
x-xcb/game
x-xcb/game-disc
x-xcb/game-debug
x-xcb/game-list
x-xcb/content-disc
x-xcb/video
x-xcb/video-disctitle
x-xcb/video-file
x-xcb/video-list
x-xcb/video-content
x-xcb/editingvideo
x-xcb/photo
x-xcb/photo-list
x-xcb/music
x-xcb/music-list
x-xcb/segment
x-xcb/storage-media
x-xcb/storagemedia-generic
x-xcb/storagemedia-cdda
x-xcb/storagemedia-sacd
x-xcb/storagemedia-psmc
x-xcb/storagemedia-dlna
x-xcb/storagemedia-avchd
x-xcb/storagemedia-bdc
x-xcb/storagemedia-videodisc
x-xcb/storagemedia-sdps3
x-xcb/storagemedia-sdps2
x-xcb/storagemedia-sdpsp
x-xcb/storagemedia-psv
x-xcb/directory
x-xcb/directory-generic
x-xcb/directory-photo
x-xcb/directory-music
x-xcb/directory-video
x-xcb/directory-bddata
x-xcb/savedata-ps3
x-xcb/savedata-ps2
x-xcb/savedata-ps1
x-xcb/savedata-psp
x-xcb/savedata-plus
x-xcb/savedata-pspdir
x-xcb/achbase
x-xcb/achievtitle
x-xcb/achievgroup
x-xcb/achievflag
x-xcb/friendachievtitle
x-xcb/friendachievflag
x-xcb/friendachievgroup
x-xcb/person
x-xcb/playedplayer
x-xcb/blockedplayer
x-xcb/message
x-xcb/psv
x-xcb/vmc
x-xcb/query-condition
subclass=x-xcb/storagemedia-sdps2
Filter by genre? genre (null)
Photo
Game
Music
Video
BdData
genre=Photo
Sorting sort (null)
Combination of XMB database object fields using sort operators:
+ [ascend]
- [descend]
sort=+StorageMedia:StorageMedia.sortOrder+StorageMedia :StorageMedia.timeInserted
Sorting (from registory.xml variables) ssort (null)
Variables from registory.xml
ssort=root.sort_selected.friend_named
Search condition cond (null)
Combination of XMB database object fields using logical operators
cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+Ae+StorageMedia:StorageMedia.deviceType %xCB_DEVICE_TYPE_CF
Search condition (from registory.xml variables) scond (null)
Variables from registory.xml
scond=root.cond_selected.gamelist_format
???????? option (null)
option_hybrid
option_plus
option=option_hybrid
???????? perm (null)
1
perm=1, perm=off
???????? attr (to confirm) (null)
??????
attr=PspSdDir:Common.title+PspSdDir:Common.fileName+PspSdDir:Common.titleForSort+PspSdDir:Common.size+PspSdDir:Common.timeCreatedUTC+PspSdDir:Common.dirPath
???????? trigger (null)
off
trigger=off
???????? range (null)
off
only 0 1
ahead 0 1024
range=ahead 0 1024
???????? opt (null)
parent
logical
shared
opt=parent
???????? io IOGameVideo io=IOGameVideo

xcb://localhost/raw?[edit | edit source]

Unknown. Usage example:

<Query class="type:x-xmb/folder-pixmap" key="vmc_device_ms" src="xcb://localhost/raw?idlist=?????"/>
Parameters
Description Parameter Confirmed accepted values Example
List of ids? idlist (null) idlist=?????

xmb Functions[edit | edit source]

xmb://localhost/[edit | edit source]

Allows to load a segment from another .xml file

Usage example with explicit complete path:

<Query class="type:x-xmb/folder-pixmap" key="seg_photo_playlist" src="xmb://localhost/dev_flash/vsh/resource/explore/xmb/category_photo.xml#seg_playlist_mgmt"/>

The same example but using the path shorcut %flash/ (as a replacement of dev_flash/vsh/resource/explore/):

<Query class="type:x-xmb/folder-pixmap" key="seg_photo_playlist" src="xmb://localhost/%flash/xmb/category_photo.xml#seg_playlist_mgmt"/>
FileSystem Paths Examples
Path Example notes
dev_flash/vsh/resource/explore/xmb/file.xml xmb://localhost/dev_flash/vsh/resource/explore/xmb/file.xml#segment explicit path
xmb://localhost/%flash/xmb/file.xml#segment shorcut path
dev_hdd0/game/XMBMANPLS/USRDIR/xmbmp/game_settings.xml xmb://localhost/dev_hdd0/game/XMBMANPLS/USRDIR/xmbmp/game_settings.xml#seg_settings XMBM+ mod loads the main items from the installation folder of an app
Intended for easy updates of the .xml files
dev_hdd0/xmlhost/game_plugin/fb.xml xmb://localhost/dev_hdd0/xmlhost/game_plugin/fb.xml#seg_fb Webman plugin XMB mod loads an .xml file
Intended for updating the list of displayed games dinamically
  • Other uses, found inside explore_category_video.sprx (interesting because the file root.xml doesnt exists in path dev_flash/vsh/resource/explore/xmb/)
    • xmb://localhost/root.xml#
    • xmb://localhost/app_home/root.xml#
  • Speculation (partially). It seems is posible to load an item from a segment by using one of these methods (untested):
    • src="xmb://localhost/%flash/xmb/file.xml#segment.item"
    • src="xmb://localhost/%flash/xmb/file.xml#segment:item"

ese Functions[edit | edit source]

ESE = acronym of ? ESE XML Schema ?

  • Managed by dev_flash/vsh/module/
    • esecron.sprx (replaced in firmware 2.20 )
    • esehttp.sprx
    • eseibrd.sprx
    • eseidle.sprx
    • eselock.sprx

ese://localhost/fixed?[edit | edit source]

Found inside explore_category_game.sprx

ese://localhost/fixed?type=dlctl

ese://localhost/item?[edit | edit source]

Found inside explore_category_game.sprx

ese://localhost/item?id=

ese://localhost/query?[edit | edit source]

<Query class="type:x-xmb/folder-pixmap" key="seg_hdd_install" src="ese://localhost/query?type=install_game"/>
Unknown Example
? ese://localhost/query?type=download_control
? ese://localhost/query?type=download_list
? ese://localhost/query?type=install_game
? ese://localhost/query?type=install_video
? ese://localhost/query?type=install_pkg

sel Functions[edit | edit source]

Selective functions, only available when satisfyed a condition, e.g: with screenshots the function sel://localhost/screenshot?category_photo.xml#seg_screenshot means: "when screenshot plugin is available... then load the segment #seg_screenshot" (screenshot plugin is enabled from the eboot of some games, and screenshot segment makes the icon visible in XMB photo column)

Parameter Valid values Example
type game
minis
music
network
photo
psn
tv
video
sel://localhost/welcome?type=game
path path to an .xml file#segment sel://localhost/ingame?path=category_game.xml#seg_gameexit&type=game

sel://localhost/avcroom?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_avcroom" src="sel://localhost/avcroom?category_friend.xml#seg_avcroom"/>

sel://localhost/currentuser?query?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="Played" attr="Played" src="sel://localhost/currentuser?query?table=MMS_MEDIA_TYPE_HDD&sort=-PlayedPlayer:Common.timeCreated&cond=Aa+PlayedPlayer:Common.titleForSort+Ae+PlayedPlayer:Common.owner"/>

sel://localhost/dlnaconf?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_network_dlnaconf" src="sel://localhost/dlnaconf?category_sysconf.xml#seg_network_dlnaconf"/>

sel://localhost/env?[edit | edit source]

Found inside explore_category_game.sprx

sel://localhost/ex?[edit | edit source]

Loads an item from dev_flash/vsh/resource/explore/xmb/registory.xml

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="gameDir2" attr="gameDir2" src="sel://localhost/ex?root.view_selected.game"/>

The example above loads all this info sequentially (reordered for convenience):

 <XMBML version="1.0">
 	<View id="root">
 		<Attributes>
 			<Table key="view_selected">
  				<Pair key="game"><String>view_game.all</String></Pair>
 			</Table>
			<Table key="view_game">
				<Pair key="all"><String>xcb://localhost/query?limit=2048&ssort=root.sort_selected.game_all&limit=2048&scond=root.cond_selected.game_all</String></Pair>
			</Table>
			<Table key="sort_selected">
				<Pair key="game_all"><String>sort_game.time_created_descend</String></Pair>

			<Table key="sort_game">
				<Pair key="time_created_descend"><String>sort=-Game:Common.stat.rating-Game:Common.timeCreated+Game:Common.titleForSort-Game:Game.category</String></Pair>
			</Table>
			<Table key="cond_selected">
				<Pair key="game_all"><String>cond_game.all_default</String></Pair>
			</Table>
			<Table key="cond_game">
				<Pair key="all_default"><String>cond=An+Game:Game.category GD+An+Game:Game.category 2D+An+Game:Game.category CB+An+Game:Game.category HM+An+Game:Game.category AT+An+Game:Game.category AV+An+Game:Game.category AM+An+Game:Game.category AP+An+Game:Game.category VF+An+Game:Game.category BV+An+Game:Game.category WT+An+Game:Game.category SF+An+Game:Game.category AS+AL+Game:Common.stat.rating 299</String></Pair>
			</Table>
 		</Attributes>
 		<Items>
 			<Item key="view_selected"		attr="view_selected" />
			<Item key="view_game"			attr="view_game" />
			<Item key="sort_selected"		attr="sort_selected" />
			<Item key="sort_game"			attr="sort_game" />
			<Item key="cond_selected"		attr="cond_selected" />
			<Item key="cond_game"			attr="cond_game" />
 		</Items>
 	</View>
 
 </XMBML>

sel://localhost/fnregist?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_regist" src="sel://localhost/fnregist?"/>

sel://localhost/hakoniwa?[edit | edit source]

Hakoniwa is the "Photo Gallery" official app (NPIA00006) that comes partially preinstalled in the firmwares (there is a mandatory icon in XMB photo column and is dependant of hknw_plugin.sprx, but the program itself is not installed with the firmware). To use the program is needed to install the .PKG that installs the rest of the files in dev_hdd0/game/NPIA00006/USRDIR/EBOOT.PBP

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_hakoniwa" src="sel://localhost/hakoniwa?category_photo.xml#seg_hakoniwa"/>

sel://localhost/hasbddata?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_bddata_mgmt" attr="seg_bddata_mgmt" src="sel://localhost/hasbddata?category_video.xml#seg_bddatamgmt"/>

sel://localhost/ingame?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_minis_manual" src="sel://localhost/ingame?path=category_game.xml#seg_minis_manual&type=minis"/>

sel://localhost/isdlna?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_dlna_scan" attr="seg_dlna_scan" src="sel://localhost/isdlna?category_photo.xml#seg_dlna_scan"/>

sel://localhost/ishantai?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_device_kbim_hantai" src="sel://localhost/ishantai?category_sysconf.xml#seg_device_kbim_hantai"/>

sel://localhost/iskana?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_device_kbim_kana" src="sel://localhost/iskana?category_sysconf.xml#seg_device_kbim_kana"/>

sel://localhost/ismegatv?[edit | edit source]

Found inside explore_category_game.sprx , explore_category_network.sprx Region Checked for Korean.

sel://localhost/ispremo?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_premo" src="sel://localhost/ispremo?file=category_network.xml&n=seg_premo"/>

sel://localhost/minis?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_sdpsp" src="sel://localhost/minis?category_game.xml#seg_sdpsp"/>

sel://localhost/newchat?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_new_chat" src="sel://localhost/newchat?category_friend.xml#seg_new_chat"/>

sel://localhost/nogold?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_plus" src="sel://localhost/nogold?category_psn.xml#seg_plus"/>

sel://localhost/nonpaccount?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_reg_quick" src="sel://localhost/nonpaccount?category_psn.xml#seg_reg_quick"/>

sel://localhost/nopremo?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_premo" src="sel://localhost/nopremo?category_network.xml#seg_premo"/>

sel://localhost/npaccount?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_message_box" src="sel://localhost/npaccount?category_friend.xml#seg_message_box"/>

sel://localhost/nplogin?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_fixed_items" src="sel://localhost/nplogin?category_friend.xml#seg_fixed_items"/>

sel://localhost/npnologin?[edit | edit source]

Found inside explore_category_game.sprx

sel://localhost/ps2emusave?[edit | edit source]

Checks if one or more "PS2 classic" savedata exists (by looking at the xRegistry.sys/setting/game/ps2emuSaveUtility setting ?), and if found it loads category_game.xml#seg_sdps2 to show the Saved Data Utility (PS2) submenu

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_sdps2" src="sel://localhost/ps2emusave?category_game.xml#seg_sdps2"/>

sel://localhost/screenshot?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_screenshot" attr="seg_screenshot" src="sel://localhost/screenshot?category_photo.xml#seg_screenshot"/>

sel://localhost/videoedit?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_editingvideo_mgmt" attr="seg_editingvideo_mgmt" src="sel://localhost/videoedit?category_video.xml#seg_editingvideo_mgmt"/>

sel://localhost/welcome?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_welcome" attr="seg_welcome" src="sel://localhost/welcome?type=game"/>

sel://localhost/wenv?[edit | edit source]

Found inside explore_category_game.sprx
Usage example:

sel://localhost/wenv?k=FacebookDelAcc&v=on&rquery=root.fixed_items.facebook_del_acc&e=FacebookDelAccReload

xil Functions[edit | edit source]

Acronym of... Xml? Index? List?

xil://localhost/list?[edit | edit source]

Loads XIL information, in most cases this xil info is stored in a xil.xml configuration file. Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_xil" attr="seg_xil" src="xil://localhost/list?t=music"/>
FileSystem Paths Examples
t= Linked to xil file in path: Example
music dev_hdd0/tmp/explore/xil/music/... xil.xml xil://localhost/list?t=music
tv dev_hdd0/tmp/explore/xil/tv/... xil.xml xil://localhost/list?t=tv
video dev_hdd0/tmp/explore/xil/video/... xil.xml xil://localhost/list?t=video
game no xil.xml associated xil://localhost/list?t=game
  • Notes
    • xil://localhost/list?t=game - Used for first time around firmware 4.40~4.46 in category_game.xml, in the XMB item gameDir. In previous/older firmwares gameDir was using xcb://localhost/query? with a long list of operators to filter contents. In other words the old xcb query (usefull because was very open, but maybe not much efficient) has been replaced by a new xil function (maybe more efficient, but with the filtering operators hardcoded somewhere, and doesnt seems to be a xil.xml associated with it). As a note, the XMBM+ project (an unnofficial xml mod able to display games by groups by using custom filters) is based in the old method


xil://localhost/item?[edit | edit source]

Found in explore_category_game.sprx (never found used on XMBML files, so no example from ofw available)

xil://localhost/item?x=%d&y=%u&t=%llx
? ? ?
x
y
t
  • Speculation
    • The valid values for "t" probably are the same used by xil://localhost/list
      • t=music
      • t=tv
      • t=video
      • t=game

chat Functions[edit | edit source]

chat://localhost/player?[edit | edit source]

Found in explore_plugin.sprx

chat://localhost/player?id=

chat://localhost/room?[edit | edit source]

Found in explore_plugin.sprx

chat://localhost/room?id=

chat://localhost/roomlist?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_chat" src="chat://localhost/roomlist?"/>
Unknown Example
? chat://localhost/roomlist?

user Functions[edit | edit source]

user://localhost/create[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="user_provider_0" attr="user_provider_0" src="user://localhost/create"/>

user://localhost/others[edit | edit source]

user://localhost/users[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="user_provider_1" attr="user_provider_1" src="user://localhost/users"/>

now Functions[edit | edit source]

now://localhost/q?[edit | edit source]

Usage example:

<Query class="type:x-xmb/folder-pixmap" key="seg_now" src="now://localhost/q?id=XMB_MODULE_MUSIC&rquery=root.fixed_items.nowmusic"/>

rss Functions[edit | edit source]

rss://[edit | edit source]

Usage examples:

<Query class="type:x-xmb/folder-pixmap" key="site_rss_2" attr="site_rss_2" src="rss://http://ps3.drikin.com/rss/sample.xml"/>
<Query class="type:x-xmb/folder-pixmap" key="rss_provider_0" attr="rss_provider_0" src="rss://http://www.rssnavi.jp/rss/?k=caterss3"/>

k = channel ?

wboard Functions[edit | edit source]

wboard://localhost/item?[edit | edit source]

Usage example: (x and y axis ?)

wboard://localhost/item?x=%u&y=%u

wboard://localhost/list?[edit | edit source]