XMBML Functions
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 | |
app Functions
app://localhost/query?
App provider
<Query class="type:x-xmb/folder-pixmap" key="app_provider_0" attr="app_provider_0" src="app://localhost/query?" />
host Functions
host functions enable you to see folders and files on the filesystem.
host://localhost/
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"/>
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?
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"/>
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 any other extension? |
subclass | Subclass of the files (mimetype?) | (null) subclass=x-host/package subclass=x-host/widget 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
XCB = XMB Content Browser ?
- Managed by dev_flash/vsh/module
- xcbcontentop.sprx
- xcbplugin1.sprx
xcb://localhost/exists?
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"/>
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?
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"/>
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 |
xcb://localhost/raw?
Unknown. Usage example:
<Query class="type:x-xmb/folder-pixmap" key="vmc_device_ms" src="xcb://localhost/raw?idlist=?????"/>
Description | Parameter | Confirmed accepted values | Example |
---|---|---|---|
List of ids? | idlist | (null) | idlist=????? |
xmb Functions
xmb://localhost/
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"/>
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
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?
Found inside explore_category_game.sprx
ese://localhost/fixed?type=dlctl
ese://localhost/item?
Found inside explore_category_game.sprx
ese://localhost/item?id=
ese://localhost/query?
<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
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?
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?
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?
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?
Found inside explore_category_game.sprx
sel://localhost/ex?
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?
Usage example:
<Query class="type:x-xmb/folder-pixmap" key="seg_regist" src="sel://localhost/fnregist?"/>
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:
<Query class="type:x-xmb/folder-pixmap" key="seg_hakoniwa" src="sel://localhost/hakoniwa?category_photo.xml#seg_hakoniwa"/>
sel://localhost/hasbddata?
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?
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?
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?
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?
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?
Found inside explore_category_game.sprx , explore_category_network.sprx Region Checked for Korean.
sel://localhost/ispremo?
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?
Usage example:
<Query class="type:x-xmb/folder-pixmap" key="seg_sdpsp" src="sel://localhost/minis?category_game.xml#seg_sdpsp"/>
sel://localhost/newchat?
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?
Usage example:
<Query class="type:x-xmb/folder-pixmap" key="seg_plus" src="sel://localhost/nogold?category_psn.xml#seg_plus"/>
sel://localhost/nonpaccount?
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?
Usage example:
<Query class="type:x-xmb/folder-pixmap" key="seg_premo" src="sel://localhost/nopremo?category_network.xml#seg_premo"/>
sel://localhost/npaccount?
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?
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?
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 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?
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?
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?
Usage example:
<Query class="type:x-xmb/folder-pixmap" key="seg_welcome" attr="seg_welcome" src="sel://localhost/welcome?type=game"/>
sel://localhost/wenv?
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
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:
<Query class="type:x-xmb/folder-pixmap" key="seg_xil" attr="seg_xil" src="xil://localhost/list?t=music"/>
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?
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
- The valid values for "t" probably are the same used by xil://localhost/list
chat Functions
chat://localhost/player?
Found in explore_plugin.sprx
chat://localhost/player?id=
chat://localhost/room?
Found in explore_plugin.sprx
chat://localhost/room?id=
chat://localhost/roomlist?
Usage example:
<Query class="type:x-xmb/folder-pixmap" key="seg_chat" src="chat://localhost/roomlist?"/>
Unknown | Example |
---|---|
? | chat://localhost/roomlist? |
user Functions
user://localhost/create
Usage example:
<Query class="type:x-xmb/folder-pixmap" key="user_provider_0" attr="user_provider_0" src="user://localhost/create"/>
user://localhost/others
user://localhost/users
Usage example:
<Query class="type:x-xmb/folder-pixmap" key="user_provider_1" attr="user_provider_1" src="user://localhost/users"/>
now Functions
now://localhost/q?
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
rss://
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
wboard://localhost/item?
Usage example: (x and y axis ?)
wboard://localhost/item?x=%u&y=%u