XMBML Functions

From PS3 Developer wiki
Jump to: navigation, search

Contents

Operators[edit]

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+Person:Person.stat.presence 2 6
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[edit]

app://localhost/query?[edit]

App provider

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

host Functions[edit]

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

host://localhost/[edit]

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]

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
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[edit]

XCB = XMB Content Browser ?

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

xcb://localhost/exists?[edit]

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]

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

xcb://localhost/raw?[edit]

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]

xmb://localhost/[edit]

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]

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]

Found inside explore_category_game.sprx

ese://localhost/fixed?type=dlctl

ese://localhost/item?[edit]

Found inside explore_category_game.sprx

ese://localhost/item?id=

ese://localhost/query?[edit]

<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]

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]

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]

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]

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]

Found inside explore_category_game.sprx

sel://localhost/ex?[edit]

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]

Usage example:

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

sel://localhost/hakoniwa?[edit]

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]

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]

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]

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]

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]

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]

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

sel://localhost/ispremo?[edit]

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]

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]

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]

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]

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]

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]

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]

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]

Found inside explore_category_game.sprx

sel://localhost/ps2emusave?[edit]

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]

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]

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]

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]

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]

Acronym of... Xml? Index? List?

xil://localhost/list?[edit]

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]

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]

chat://localhost/player?[edit]

Found in explore_plugin.sprx

chat://localhost/player?id=

chat://localhost/room?[edit]

Found in explore_plugin.sprx

chat://localhost/room?id=

chat://localhost/roomlist?[edit]

Usage example:

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

user Functions[edit]

user://localhost/create[edit]

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]

user://localhost/users[edit]

Usage example:

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

now Functions[edit]

now://localhost/q?[edit]

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]

rss://[edit]

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]

wboard://localhost/item?[edit]

Usage example: (x and y axis ?)

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

wboard://localhost/list?[edit]