XMBML Coding: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
m (→‎Items: classes reordered by importance, and subclasses alphabetically)
mNo edit summary
 
(87 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:Software]]
== Basic XMBML Structure ==
This page will outline the logic behind [[XMB]] .xml configuration files.  
This page outlines the logic behind [[XMB]] XML configuration files. For some practise usage see: [[XMBML Coding Examples]]


== Basic Structure ==
This is a reduced version of [[XMB-Network | category_network.xml]] with only one icon (tex_browser) that launches the webbrowser (type:x-xmb/xmlwebbrowser). The .xml is loaded starting from <View id="root">, then inside the <Items> table there is a <Query> linking to #seg_browser (the character "#" links to a <View id> in the same file, so is linked to <View id="seg_browser">). When <View id="seg_browser"> is loaded first starts reading the table of <Items> that contains an <Item> that is linked using attr="browser" to a table of attributes <Table key="browser"
This is a reduced version of [[XMB-Network | category_network.xml]] with only one icon (tex_browser) that launches the webbrowser (type:x-xmb/xmlwebbrowser). The .xml is loaded starting from <View id="root">, then inside the <Items> table there is a <Query> linking to #seg_browser (the character "#" links to a <View id> in the same file, so is linked to <View id="seg_browser">). When <View id="seg_browser"> is loaded first starts reading the table of <Items> that contains an <Item> that is linked using attr="browser" to a table of attributes <Table key="browser"


{{Boxcode|content=<syntaxhighlight lang="xml">
{{Boxcode|code=<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>


Line 11: Line 10:
<View id="root">
<View id="root">
<Items>
<Items>
<Query class="type:x-xmb/folder-pixmap" key="seg_browser" src="#seg_browser" />
<Query class="type:x-xmb/folder-pixmap" key="seg_browser" src="#seg_browser"/>
</Items>
</Items>
</View>
</View>
Line 23: Line 22:
</Attributes>
</Attributes>
<Items>
<Items>
<Item class="type:x-xmb/xmlwebbrowser" key="browser" attr="browser" />
<Item class="type:x-xmb/xmlwebbrowser" key="browser" attr="browser"/>
</Items>
</Items>
</View>
</View>
Line 29: Line 28:
</syntaxhighlight>}}
</syntaxhighlight>}}


*The whole contents of the .xml file can be identifyed by the &lt;View id&gt; and &lt;key&gt; this way:
*The contents of the .xml file can be identifyed by the &lt;View id&gt; and &lt;key&gt; this way:
**&lt;View id="root"&gt; contains 1 &lt;Items&gt; with the key="seg_browser"
**&lt;View id="root"&gt; contains 1 &lt;Items&gt; with the key="seg_browser"
**&lt;View id="seg_browser"&gt; contains 1 &lt;Items&gt; with the key="browser"
**&lt;View id="seg_browser"&gt; contains 1 &lt;Items&gt; with the key="browser"


=== View id ===
{{Boxcode|code=<syntaxhighlight lang="xml">
Must consist of UTF-8 characters and have no spaces. There must be no other entries with the same '''&lt;View id&gt;'''.
<View id="root">
<Items>
<Query key="seg_browser"/>
</Items>
</View>
<View id="seg_browser">
<Attributes>
<Table key="browser">
</Table>
</Attributes>
<Items>
<Item key="browser"/>
</Items>
</View>
</syntaxhighlight>}}
*Note the "Pair key"'s inside "attributes tables" are not considered identifyers of the xml tag
 
=== View ID's (Enviroment ID's, and Segment ID's) ===
Identifyers made of UTF-8 characters and without spaces. There are two types: Enviroments, and Segments


*There are some specific '''&lt;View id&gt;''' names that are placed at the top of the .xml and can be considered the "XMB enviroments" that can be loaded by [[VSH]]
*'''Enviroments''' are reserved names (hardcoded in VSH?): '''"root", "root_info", "root_for_dex", "root_dex", "root_for_BDU", "root_power_only", "root_hide_friend", "tool_root", "shop_root", "shop_guest_root", "shop_staff_root", "root_arcade"''' and obsolete: '''"stage_demo_root", "xai_test_root", "store_root"'''
**'''"root", "root_for_dex", " tool_root", "shop_root", "shop_guest_root", "shop_staff_root", and "root_arcade"'''
**Used to load specific XMB items for different PS3 types (retail, debug, etc...), or to load items in specific boot modes (e.g: in shop PS3's "locked" or "unlocked" modes), can be considered the [[XMB]] enviroments used by the [[XMB#XMB_Configuration_Files|XMB Configuration Files]]
**Are used to be able to load specific items for every [[Target ID]] or for loading items in specific conditions (e.g: is shop firmware "locked" or "unlocked" modes)
**Usually inside the .XML files there are several '''&lt;View id&gt;''' of this type starting with '''"root"''' (retail XMB) at the top, only one of them is loaded by [[VSH]] when the PS3 boots


*A '''&lt;View id&gt;''' can load another '''&lt;View id&gt;''' from the same or other .xml file by making one of his '''&lt;items&gt;''' to point to the other '''&lt;View id&gt;'''
*'''Segments''' are all the others with names starting with '''"seg_"''' (e.g: '''seg_'''gamedata, '''seg_'''gameexit, '''seg'''_manual, etc...). There must be no other segments with the same name in the same .XML file, but some segments used for common functions are repeated in different .XML files and uses the same segment name and key identifyer (e.g. the segment "seg_gameexit" containing an item with the key "gamexit" is repeated in 8 .XML files)
**Links to a '''&lt;View id&gt;''' in the same .xml file can be considered "direct links" and uses the character "'''#'''" followed by the '''&lt;View id&gt;''' of the linked item (e.g: '''src="#seg_poweroff"''')
**Segments are loaded by some '''query classes''' (inside '''&lt;items&gt;''' tables)  by making his '''"src"''' to point to the target segment. When the segment is in the same .XML file it works simply by "jumping" to another line of the same file. When the segment is in another .XML file first is needed to locate the target .XML file, and then the "jump" to the target segment
**Links to a '''&lt;View id&gt;''' in another .xml file uses the '''localhost''' functions with the full path of the file followed by the character "'''#'''" and the '''&lt;View id&gt;''' of the linked item (e.g: '''src="xmb://localhost/dev_flash/vsh/resource/explore/xmb/category_user.xml#seg_poweroff"''')
***Links to a segment in the same .XML file uses the character "'''#'''", and the name of the target segment (e.g: '''src="#seg_poweroff"''')
***Links to a segment in another .XML file uses the '''xmb://localhost/''' function with the path of the target file, the character "'''#'''", and the name of the target segment (e.g: '''src="xmb://localhost/dev_flash/vsh/resource/explore/xmb/category_user.xml#seg_poweroff"'''), or alternativelly the short path form replacing '''"dev_flash/vsh/resource/explore/"''' by '''"%flash/"''' (e.g: '''src="xmb://localhost/%flash/xmb/category_user.xml#seg_poweroff"''')
**Is posible to load the "root" view IDs of other file (e.g: '''src="xmb://localhost/%flash/xmb/category_user.xml#root"''')


==== Items ====
=== Items (Query classes, and Item classes) ===
The contents of this sub group dictates what exists on the XMB when this entry is used. There can be more than one.
The contents of this sub group dictates what exists on the XMB when this entry is used. There can be more than one.


Line 53: Line 72:
! Query classes x-xmb !! <key> !! <attr> !! <src> !! Remarks
! Query classes x-xmb !! <key> !! <attr> !! <src> !! Remarks
|-
|-
| <Query class="type:x-xmb/'''folder-pixmap'''" || {{Yes}} || {{Opt}} || {{Yes}} || Has many uses see [[XMB modding|here]]
| <Query class="type:x-xmb/'''category'''" || {{Yes}} || {{Yes}} || {{Yes}} || Main/Root XMB
|-
| <Query class="type:x-xmb/'''folder-pixmap'''" || {{Yes}} || {{Yes}} || {{Yes}} || Has many uses see [[XMBML Functions|here]]
|-
| <Query class="type:x-xmb/'''xmlmcutility'''" || {{Yes}} || {{Yes}} || {{Yes}} || PS1 and PS2 virtual memory card utility
|-
| <Query class="type:x-xmb/'''xmlnpsignup'''" || {{Yes}} || {{Yes}} || {{No}} ||
|-
| <Query class="type:x-xmb/'''xmlpackagefolder'''" || {{Yes}} || {{Yes}} || {{Yes}} || Used for installing package files
|-
| <Query class="type:x-xmb/'''xmlpsp2appdata'''" || {{Yes}} || {{Yes}} || {{No}} || PSVita application utility
|-
| <Query class="type:x-xmb/'''xmlsavedata-plus'''" || {{Yes}} || {{Yes}} || {{No}} || Online storage
|-
| <Query class="type:x-xmb/'''xmlsavedata-ps2'''" || {{Yes}} || {{Yes}} || {{No}} || Savedata utility PS2
|-
| <Query class="type:x-xmb/'''xmlsavedata-ps3'''" || {{Yes}} || {{Yes}} || {{No}} || Savedata utility PS3
|-
| <Query class="type:x-xmb/'''xmlsavedata-psp'''" || {{Yes}} || {{Yes}} || {{No}} || Savedata utility PSP
|-
|-
| <Query class="type:x-xmb/'''xmlmcutility'''" || {{Yes}} || {{Opt}} || ? ||
! Query classes x-xcb !! <key> !! <attr> !! <src> !! Remarks
|-
|-
| <Query class="type:x-xmb/'''xmlpackagefolder'''" || {{Yes}} || {{Opt}} || {{Yes}} || Used for installing package files
| <Query class="type:x-xcb/'''game-debug'''" || {{Yes}} || {{Yes}} || {{No}} || /app_home/PS3_GAME/ link
|-
|-
| <Query class="type:x-xmb/'''xmlsavedata-ps3'''" || {{Yes}} || {{Opt}} || ? ||  
| <Query class="type:x-xcb/'''savedata-ps3'''" || {{Yes}} || {{Yes}} || {{No}} || PS3 new savedata
|-
|-
| <Query class="type:x-xmb/'''xmlsavedata-psp'''" || {{Yes}} || {{Opt}} || ? ||  
| <Query class="type:x-xcb/'''savedata-psp'''" || {{Yes}} || {{Yes}} || {{No}} || PSP new savedata
|-
|-
! Item classes x-xmb !! <key> !! <attr> !! <src> !! Remarks
! Item classes x-xmb !! <key> !! <attr> !! <src> !! Remarks
|-
|-
| <Item class="type:x-xmb/'''module-action'''" || {{Yes}} || {{Yes}} || {{No}} || Uses a particular module to support the XMB item. See [[VSH_module-action|VSH module-action]] page
| <Item class="type:x-xmb/'''module-action'''" || {{Yes}} || {{Yes}} || {{No}} || Uses a particular module to support the XMB item. See [[XMBML module-action]] page
|-
| <Item class="type:x-xmb/'''vmc-new'''" || {{Yes}} || {{Yes}} || {{No}} ||
|-
|-
| <Item class="type:x-xmb/'''vmc-new'''" || {{Yes}} || ? || {{No}} ||  
| <Item class="type:x-xmb/'''xmlbddatamgmt'''" || {{Yes}} || {{Yes}} || {{No}} ||  
|-
|-
| <Item class="type:x-xmb/'''xmlbddatamgmt'''" || {{Yes}} || ? || {{No}} ||  
| <Item class="type:x-xmb/'''xmleditingvideo'''" || {{Yes}} || {{Yes}} || {{No}} ||  
|-
|-
| <Item class="type:x-xmb/'''xmleditingvideo'''" || {{Yes}} || ? || {{No}} ||  
| <Item class="type:x-xmb/'''xmlflashplayer'''" || {{Yes}} || {{Yes}} || {{No}} ||  
|-
|-
| <Item class="type:x-xmb/'''xmlgameexit'''" || {{Yes}} || ? || {{No}} ||  
| <Item class="type:x-xmb/'''xmlgameexit'''" || {{Yes}} || {{No}} || {{No}} ||  
|-
|-
| <Item class="type:x-xmb/'''xmlhakoniwa'''" || {{Yes}} || ? || {{No}} ||  
| <Item class="type:x-xmb/'''xmlhakoniwa'''" || {{Yes}} || {{Yes}} || {{No}} ||  
|-
|-
| <Item class="type:x-xmb/'''xmliboard'''" || {{Yes}} || {{Yes}} || {{No}} || Used in [[Widgets]]
| <Item class="type:x-xmb/'''xmliboard'''" || {{Yes}} || {{Yes}} || {{No}} || [[Widgets]] control (class not used over firmware 3.00)
|-
|-
| <Item class="type:x-xmb/'''xmlmessagelist'''" || {{Yes}} || ? || {{No}} ||  
| <Item class="type:x-xmb/'''xmlmessagelist'''" || {{Yes}} || {{Yes}} || {{No}} ||  
|-
|-
| <Item class="type:x-xmb/'''xmlnowplaying'''" || {{Yes}} || ? || {{No}} ||  
| <Item class="type:x-xmb/'''xmlnowplaying'''" || {{Yes}} || {{Yes}} || {{No}} ||  
|-
|-
| <Item class="type:x-xmb/'''xmlnpsignup'''" || {{Yes}} || ? || {{No}} ||  
| <Item class="type:x-xmb/'''xmlnpsignup'''" || {{Yes}} || {{Yes}} || {{No}} ||  
|-
|-
| <Item class="type:x-xmb/'''xmlplaylist'''" || {{Yes}} || ? || {{No}} ||  
| <Item class="type:x-xmb/'''xmlplaylist'''" || {{Yes}} || {{Yes}} || {{No}} ||  
|-
|-
| <Item class="type:x-xmb/'''xmlpoweroff'''" || {{Yes}} || ? || {{No}} ||  
| <Item class="type:x-xmb/'''xmlplus'''" || {{Yes}} || {{No}} || {{No}} ||  
|-
|-
| <Item class="type:x-xmb/'''xmlpremo'''" || {{Yes}} || ? || {{No}} ||  
| <Item class="type:x-xmb/'''xmlpoweroff'''" || {{Yes}} || {{No}} || {{No}} ||  
|-
|-
| <Item class="type:x-xmb/'''xmlscreenshot'''" || {{Yes}} || ? || {{No}} ||  
| <Item class="type:x-xmb/'''xmlpremo'''" || {{Yes}} || {{No}} || {{No}} ||  
|-
|-
| <Item class="type:x-xmb/'''xmlsysconf'''" || {{Yes}} || ? || {{No}} ||  
| <Item class="type:x-xmb/'''xmlpsp2appdata-cont'''" || {{Yes}} || {{Yes}} || {{No}} || PSVita Applications (PSVita, PSP, PS1, PSMobile)
|-
|-
| <Item class="type:x-xmb/'''xmltrophy'''" || {{Yes}} || ? || {{No}} ||  
| <Item class="type:x-xmb/'''xmlscreenshot'''" || {{Yes}} || {{No}} || {{No}} ||  
|-
|-
| <Item class="type:x-xmb/'''xmlwebbrowser'''" || {{Yes}} || ? || {{No}} ||  
| <Item class="type:x-xmb/'''xmlsysconf'''" || {{Yes}} || {{Yes}} || {{No}} ||  
|-
|-
| <Item class="type:x-xmb/'''xmlwelcome'''" || {{Yes}} || ? || {{No}} ||  
| <Item class="type:x-xmb/'''xmltrophy'''" || {{Yes}} || {{Yes}} || {{No}} ||
|-
| <Item class="type:x-xmb/'''xmlwebbrowser'''" || {{Yes}} || {{Yes}} || {{No}} ||
|-
| <Item class="type:x-xmb/'''xmlwelcome'''" || {{Yes}} || {{Yes}} || {{No}} ||  
|-
|-
! Item classes x-chat !! <key> !! <attr> !! <src> !! Remarks
! Item classes x-chat !! <key> !! <attr> !! <src> !! Remarks
|-
|-
| <Item class="type:x-chat/'''xmlchatroom-manager'''" || {{Yes}} || ? || {{No}} ||  
| <Item class="type:x-chat/'''xmlchatroom-manager'''" || {{Yes}} || {{Yes}} || {{No}} ||  
|-
|-
|}
|}
<div style="height:200px; overflow:auto">
{| class="wikitable"
|+Unknown usage
! Unknown classes !! <key> !! <attr> !! <src> !! Remarks
|-
| x-xcb/'''achbase''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''achievtitle''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''achievgroup''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''achievflag''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''friendachievtitle''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''friendachievgroup''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''friendachievflag''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''blockedplayer''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''directory''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''directory-bddata''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''directory-generic''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''directory-photo''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''directory-music''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''directory-video''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''unknown''' || ? || ? || ? || found inside explore_category_game.sprx
|-
| x-xcb/'''message''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''person''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''playedplayer''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''psv''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''savedata-ps1''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''savedata-ps2''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''savedata-ps3delegate''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''savedata-plus''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''savedata-pspdir''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''segment''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''storage-media''' || ? || ? || ? || found inside explore_category_game.sprx
|-
| x-xcb/'''storagemedia-cdda''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''storagemedia-sacd''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''storagemedia-psmc''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''storagemedia-psv''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''storagemedia-sdps3''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''storagemedia-sdpsp''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''storagemedia-sdpsp2''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''storagemedia-dlna''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''storagemedia-avchd''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''storagemedia-bdc''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''storagemedia-generic''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''storagemedia-videodisc''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''game-disc''' || ? || ? || ? || found inside explore_category_game.sprx
|-
| x-xcb/'''game''' || ? || ? || ? || found inside explore_category_game.sprx
|-
| x-xcb/'''game-list''' || ? || ? || ? || found inside explore_category_game.sprx
|-
| x-xcb/'''content-disc''' || ? || ? || ? || found inside explore_category_game.sprx
|-
| x-xcb/'''music''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''music-list''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''photo''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''photo-list''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''query-condition''' || ? || ? || ? || found inside explore_category_game.sprx
|-
| x-xcb/'''video''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''video-content''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''video-list''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''video-file''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''video-disctitle''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''vmc''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xcb/'''vmc-new''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xmb/'''xmlchannel''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xmb/'''xmlpsp2appdata-cont''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xmb/'''xmlscenefolder''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xmb/'''xmlvideodownloader''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-xmb/'''unknown''' || ? || ? || ? || found inside explore_category_game.sprx
|-
| x-xil/'''xilitem''' || ? || ? || ? || found inside explore_category_game.sprx
|-
| x-ese/'''task''' || ? || ? || ? || found inside explore_category_game.sprx
|-
| x-ese/'''dlctl''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-sel/'''registory-accessor''' || ? || ? || ? || found inside explore_category_game.sprx
|-
| x-user/'''user''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-host/'''unknown''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-host/'''mount-info''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-host/'''directory''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-host/'''file''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-host/'''package''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-host/'''theme-content''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-host/'''ps2_newsavedata''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-chat/'''room''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-chat/'''player''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-chat/'''xmlchatroom-manager''' || ? || ? || ? || found inside explore_plugin.sprx
|-
|}
</div>


*'''&lt;key&gt;'''
*'''&lt;key&gt;'''
Line 121: Line 320:
**Use a XMB database function. Example: '''src="xcb://localhost/query?table=MMS_MEDIA_TYPE_SYSTEM&genre=Music&sort=+StorageMedia:Common.titleForSort&cond=Ae+StorageMedia:StorageMedia.type %xCB_MEDIA_TYPE_DLNA"'''
**Use a XMB database function. Example: '''src="xcb://localhost/query?table=MMS_MEDIA_TYPE_SYSTEM&genre=Music&sort=+StorageMedia:Common.titleForSort&cond=Ae+StorageMedia:StorageMedia.type %xCB_MEDIA_TYPE_DLNA"'''


==== Attributes ====
=== Attributes (Pairs) ===
This provides additional information about '''&lt;Items&gt;''' sub-entries by linking them to a table with attributes associated (is optionall, not all &lt;Items&gt; requires attributes), this tables uses a '''&lt; Table key&gt;''' matching the '''&lt;attr&gt;''' sub-entry asociated and contains one or more attributes separated in lines starting with '''&lt;Pair key&gt;'''.
This provides additional information about '''&lt;Items&gt;''' sub-entries by linking them to a table with attributes associated (is optionall, not all &lt;Items&gt; requires attributes), this tables uses a '''&lt;Table key&gt;''' matching the '''&lt;attr&gt;''' sub-entry asociated and contains one or more attributes separated in lines starting with '''&lt;Pair key&gt;'''.


{| class="wikitable"
{| class="wikitable" style="font-size:x-small;"
|+A table of usable attributes and what <Items> sub-entries they can be used with
|+Attributes used in official XMB, ordered by classes
! rowspan="2" | <Pair key> !! rowspan="2" | Use !! colspan="3" | Used by class type: !! Example(s)
! &lt;Attributes&gt; !! colspan="28" | &lt;Items&gt; !! rowspan="4" | Examples
|-
! &lt;Table !! colspan="12" | &lt;Query class="type: !! colspan="16" | &lt;Item class="type:
|-
! rowspan="2" | &lt;Pair key= !! colspan="9" | x-xmb/ !! colspan="3" | x-xcb/ !! colspan="15" | x-xmb/ !! x-chat/
|-
! <abbr title="folder-pixmap">folder<BR />pixmap</abbr> !! <abbr title="xmlmcutility">mc<BR />utility</abbr> !! <abbr title="xmlnpsignup">np<BR />signup</abbr> !! <abbr title="xmlpackagefolder">pkg<BR />folder</abbr> !! <abbr title="xmlpsp2appdata">vita<BR />apps</abbr> !! <abbr title="xmlsavedata-plus">save<BR />plus</abbr> !! <abbr title="xmlsavedata-ps2">save<BR />ps2</abbr> !! <abbr title="xmlsavedata-ps3">save<BR />ps3</abbr> !! <abbr title="xmlsavedata-psp">save<BR />psp</abbr> !! <abbr title="game-debug">game<BR />debug</abbr> !! <abbr title="savedata-ps3">save<BR />ps3</abbr> !! <abbr title="savedata-psp">save<BR />psp</abbr> !! <abbr title="module-action">module<BR />action</abbr> !! <abbr title="vmc-new">vmc<BR />new</abbr> !! <abbr title="xmlbddatamgmt">bddata<BR />mgmt</abbr> !! <abbr title="xmleditingvideo">edit<BR />video</abbr> !! <abbr title="xmlhakoniwa">hako<BR />niwa</abbr> !! <abbr title="xmliboard">info<BR />board</abbr> !! <abbr title="xmlmessagelist">msg<BR />list</abbr> !! <abbr title="xmlnowplaying">now<BR />playing</abbr> !! <abbr title="xmlnpsignup">np<BR />signup</abbr> !! <abbr title="xmlplaylist">play<BR />list</abbr> !! <abbr title="xmlpsp2appdata-cont">vita<BR />apps</abbr> !! <abbr title="xmlsysconf">sys<BR />conf</abbr> !! <abbr title="xmltrophy">trophy</abbr> !! <abbr title="xmlwebbrowser">browser</abbr> !! <abbr title="xmlwelcome">welcome</abbr> !! <abbr title="xmlchatroom-manager">chat<BR />room</abbr>
|-
| action
| {{Yes}} || {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}}
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "exec_game", etc... (see table below)
|-
| bar_action
| {{No}} || ? || ? || {{No}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || {{Yes}} || ? || ? || ?
| ?
| "none", "hide", "game_pspemu_viewmode", "game_pspemu_3d", "game_psemu_upcon", "game_psemu_smooth", "pad_assign", "pad_vibration", "bt_device_utility", "audio_setting", "voice_changer", "net_netlist"
|-
| connection
| ? || ? || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}}
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "xcb://localhost/query?..."
|-
| cf_connection
| ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "xcb://localhost/query?..."
|-
| ch_pos
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "1"
|-
| child
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{No}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "segment", "grid", "Video"
|-
| content_id
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| "IP9100-NPIA00002_00-0000111122223333"
|-
| content_info_pict
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "/dev_flash/vsh/resource/explore/icon/pstex01.png"
|-
| content_info_pict_sd
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "/dev_flash/vsh/resource/explore/icon/pstex-sd.png"
|-
| content_info_tex
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "msg_ps3_portal"
|-
| content_info_title
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "msg_psstore_explanation_hd"
|-
| content_info_title_sd
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "msg_psstore_explanation_sd"
|-
| content_name
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| "msg_title_lwp", "msg_information_board"
|-
| content_type
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}}
| ?
| "game", "video", "tv"
|-
| custom_priority
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "game=-80", "video=-80", "tv=-80"
|-
| data_connection
| ? || ? || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}}
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ?
| ?
| "xcb://localhost/query?..."
|-
| device_path
| {{yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "/dev_hdd0"
|-
| fo_lbl_alpha
| {{Yes}} || {{Yes}} || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "0" - float number
|-
| fo_lbl2_alpha
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "0" - float number
|-
| focus
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| "last"
|-
| focus_detect
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "enable"
|-
| focus_priority
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "-5", "-4", "-3", "-2", "-1", "0", "1", "2", "3", "4", "5", "6". "-50", "-49", "-48", "-47", "-46". "-80"
|-
| fs_path
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "/dev_hdd0/widget/npdrm/informationboard"
|-
| genre
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || {{yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "BdData"
|-
| icon
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "/dev_hdd0/myicon.png"
|-
| icon_fixed_height
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "181"
|-
| icon_fixed_width
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "181"
|-
| icon_notation
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || {{Yes}} || ?
| {{Yes}}
| "WNT_XmbItemAlbum", etc... (see table below)
|-
| icon_rsc
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}} || ? || ? || ? || ? || {{Yes}} || {{Yes}} || ?
| {{Yes}}
| "tex_album_icon"
|-
| id
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ?
| ?
|-
| info
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || {{Yes}} || ? || ? ||  ? || ? || ? || ?
| ?
| "This is a cool plain text info string"
|-
| info_rsc
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "item_tex_cam_icon"
|-
| ingame
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{No}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "enable", "disable"
|-
| instruction_rsc
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| "msg_lwp_explanation"
|-
| item_type
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "systop"
|-
|-
! x-xmb/folder-pixmap !! x-xmb/module-action !! x-xmb/xmlpackagefolder
| lbl_half
| {{No}} || ? || ? || {{No}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "1"
|-
|-
| icon_rsc || displays a .rco referable image as XMB icon. Cannot be used at the same time as 'icon'. || {{Yes}} || {{Yes}} || {{Yes}} || "tex_album_icon"
| logical_sceme
| {{yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "Music", "Photo", "Video"
|-
|-
| icon || displays a .png image from an absolute path as XMB icon. Cannot be used at the same time as 'icon_rsc'. || {{Yes}} || {{Yes}} || {{Yes}} || "/dev_hdd0/game/XMBMANPLS/USRDIR/IMAGES/filemanager.png"
| mass_connection
| ? || ? || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}}
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "xcb://localhost/query?..."
|-
|-
| icon_notation || tells the XMB how to treat the icon (transparency etc.) by refering to the relevant .rco. Can in some cases override 'icon' or 'icon_rsc' || {{Yes}} || {{Yes}} || {{Yes}} || "WNT_XmbItemSavePS3"
| mode
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || {{yes}} || {{yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ?
| "common", "mgmt", "playlistmgmt", "playlistmgmtpsp", "playlistempty"
|-
|-
| title_rsc || displays XMB main title text referred from relevant .rco. Cannot be used at the same time as 'title'. || {{Yes}} || {{Yes}} || {{Yes}} || "msg_tool_app_home_ps3_game"
| module_action
| {{No}} || ? || ? || {{No}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "NotifyErrorNoExecute", "http://m.facebook.com", 0, 1
|-
|-
| title || displays XMB main title from plain text input. Cannot be used at the same time as 'title_rsc'. || {{Yes}} || {{Yes}} || {{Yes}} || "Debug Settings"
| module_name
| {{No}} || ? || ? || {{No}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "explore_plugin", "webbrowser_plugin"
|-
|-
| info_rsc || displays XMB title information from relevant .rco. This is shown below the 'title' or 'title_rsc' entry ins a smaller font. Cannot be used at the same time as 'info'. || {{Yes}} || {{Yes}} || {{Yes}} || "item_tex_cam_icon"
| ms_connection
| ? || ? || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}}
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "xcb://localhost/query?..."
|-
|-
| info || displays XMB title information from plain text input. This is shown below the 'title' or 'title_rsc' entry ins a smaller font. Cannot be used at the same time as 'info_rsc'. || {{Yes}} || {{Yes}} || {{Yes}} || "This is a cool plain text info string"
| name
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "Flash Player[test.swf]"
|-
|-
| child || tells the PS3 what action should be taken when the XMB item is selected. || {{Yes}} || {{No}} || {{Yes}} || "segment"  
| path
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ?
| "flash0/vsh/resource/flash/test.swf"
|-
|-
| ingame || tells the PS3 if the item can be accessed ingame. || {{Yes}} || {{No}} || {{Yes}} || "enable"/"disable"
| pkg_src
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| "http://dL-REGION01.ps3.download.playstation.net/.../lwp.pkg"
|-
|-
| str_noitem || displays information from relevant .rco when no data/XMB items are found from then search function of the current XMB item. || {{Yes}} || {{No}} || {{No}} || "msg_error_no_gamedata"
| pkg_src_qa
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| ?
|-
|-
| module_name || the name of the module to be used from this [[VSH:Module-Action|list]] || {{No}} || {{Yes}} || {{No}} || "webbrowser_plugin"/"explore_plugin"
| prod_pic_path
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| "/dev_flash/vsh/resource/explore/icon/fah-xmb.png"
|-
|-
| module_action || what the module is commanded to use. The example commands are in respect the above modules || {{No}} || {{Yes}} || {{No}} || "http://m.facebook.com"/"NotifyErrorNoExecute"
| sd_connection
| ? || ? || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}}
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "xcb://localhost/query?..."
|-
|-
| bar_action || ? || {{No}} || {{Yes}} || {{No}} || "none"
| start_factory_play
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "disable"
|-
|-
| lbl_half || ? || {{No}} || {{Yes}} || {{No}} || "1"
| str_noitem
| {{Yes}} || ? || ? || {{No}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{No}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "msg_error_no_file", any message text from explore_plugin rco works
|-
|-
| focus_detect || tells the PS3 to focus on the item if it is activated/utilised (like inserting a PS3 game disc). Of course the vsh.self has the final say on whether it is used (turning off auto boot) || {{Yes}} || {{Yes}} || {{Yes}} || "enable"
| title
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || ?
| ?
| "Debug Settings"
|-
|-
| focus_priority || tells the PS3 the order in which the XMB items are loaded. This is use more by XMB items on the root of the XMB. || {{Yes}} || {{Yes}} || {{Yes}} || any integer
| title_fo
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "1"
|-
|-
| fo_lbl2_alpha || ? || {{Yes}} || ? || ? || "0"  
| title_rsc
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || {{Yes}} || ? || {{Yes}} || {{Yes}} || ?
| {{Yes}}
| "msg_tool_app_home_ps3_game"
|-
|-
| item_type || ? || {{Yes}} || ? || ? || "systop"  
| type
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || {{yes}} || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}} || ? || ? || ? || ?
| ?
| "photo", "music", "video"
|-
|-
| ch_pos || ? || {{Yes}} || ? || ? || "1"  
| vmc
| ? || {{Yes}} || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "promote"
|-
|-
|}
|}


*Official are marked as "Yes"
*Unnofficial and working are marked as "Opt"
*Unnofficial and not working are marked as "No"


'''icon_rsc'''
----
*Use: displays a .rco referable image as XMB icon. Cannot be used at the same time as 'icon'.
*Example: "tex_album_icon"


'''icon'''
'''action'''.
*Use: displays a .png image from an absolute path as XMB icon. Cannot be used at the same time as 'icon_rsc'.
{| class="wikitable"
*Example: "/dev_hdd0/myicon.png"
|+action
! action !! usage
|-
| exec_game || ps3 gamedata
|-
| exec_vmcsavedata || ps1/ps2 savedata
|-
| exec_ps3savedata || ps3 savedata
|-
| exec_pspsavedata || psp savedata
|-
| exec_psp2appdata || psvita utility
|-
| exec_sdps2 || ps2 savedata
|}


'''icon_notation'''
'''child'''. Tells the PS3 what action should be taken when the XMB item is selected.
*Use: tells the XMB how to treat the icon (transparency etc.) by refering to the relevant .rco. Can in some cases override 'icon' or 'icon_rsc'.
*Example: "WNT_XmbItemSavePS3"


'''title_rsc'''
'''focus_detect'''. Tells the PS3 to focus on the item if it is activated/used(like inserting a PS3 game disc). Of course the vsh.self has the final say on whether it is used (turning off auto boot)
*Use: displays XMB main title text referred from relevant .rco. Cannot be used at the same time as 'title'.
*Example: "msg_tool_app_home_ps3_game"


'''title'''
'''focus_priority'''. Tells the PS3 the order in which the XMB items are loaded. This is used more by XMB items on the root of the XMB.
*Use: displays XMB main title from plain text input. Cannot be used at the same time as 'title_rsc'.
*Example: "Debug Settings"


'''info_rsc'''
'''icon'''. Displays a .png image from an absolute path as XMB icon. Cannot be used at the same time as 'icon_rsc'
*Use: displays XMB title information from relevant .rco. This is shown below the 'title' or 'title_rsc' entry ins a smaller font. Cannot be used at the same time as 'info'.
*Example: "item_tex_cam_icon"


'''info'''
'''icon_notation'''. Tells the XMB how to display the icon layout (transparency etc). Can in some cases override 'icon' or 'icon_rsc'
*Use: displays XMB title information from plain text input. This is shown below the 'title' or 'title_rsc' entry ins a smaller font. Cannot be used at the same time as 'info_rsc'.
*Example: "This is a cool plain text info string"


'''child'''
{| class="wikitable"
*Use: tells the PS3 what action should be taken when the XMB item is selected.
|+icon_notation
*Example: "segment"
! icon_notation !! Use !! Notes
|-
| WNT_XmbItemAlbum || || overrides 'icon_rsc'
|-
| WNT_XmbItemBrowser || || overrides 'icon_rsc'
|-
| WNT_XmbItemChat || ||
|-
| WNT_XmbItemChatRoomText || ||
|-
| WNT_XmbItemFriendAccountManagement || ||
|-
| WNT_XmbItemFriendAdd || ||
|-
| WNT_XmbItemFriendBlock || ||
|-
| WNT_XmbItemFriendMessageBox || ||
|-
| WNT_XmbItemFriendMessageBoxReceived || ||
|-
| WNT_XmbItemFriendMessageBoxSent || ||
|-
| WNT_XmbItemFriendMessageCreate || ||
|-
| WNT_XmbItemFriendPlayer || ||
|-
| WNT_XmbItemInetSearch || ||
|-
| WNT_XmbItemMediaServerSearch || ||
|-
| WNT_XmbItemOnlineManual || ||
|-
| WNT_XmbItemPRemo || ||
|-
| WNT_XmbItemPlaylist || || overrides 'icon_rsc'
|-
| WNT_XmbItemPlaylistAdd || ||
|-
| WNT_XmbItemPowerOff || ||
|-
| WNT_XmbItemSavePS12 || ||
|-
| WNT_XmbItemSavePS3 || ||
|-
| WNT_XmbItemSavedataMinis || ||
|-
| WNT_XmbItemTrophy || ||
|-
| WNT_XmbItemUser || ||
|-
| WNT_XmbItemVideoNew || ||
|-
| WNT_XmbListMusic || || overrides 'icon_rsc'
|-
| WNT_XmbListPhoto || || overrides 'icon_rsc'
|-
| WNT_XmbListVideo || || overrides 'icon_rsc'
|-
|}


'''ingame'''
'''icon_rsc'''. Displays an image from a .rco as XMB icon. Cannot be used at the same time as 'icon'
*Use: tells the PS3 if the item can be accessed ingame.
*Example: "enable"/"disable"


'''str_noitem'''
'''info'''. Displays XMB title information from plain text input. This is shown below the 'title' or 'title_rsc' entry in a smaller font
*Use: displays information from relevant .rco when no data/XMB items are found from then search function of the current XMB item.
*Example: "msg_error_no_gamedata"


'''module_name'''
'''info_rsc'''. Displays XMB title information from relevant .rco. This is shown below the 'title' or 'title_rsc' entry in a smaller font
*Use: the name of the module to be used from this [[VSH Module-Action|list]].
*Example: "webbrowser_plugin"/"explore_plugin"


'''module_action'''
'''ingame''' Use: tells the PS3 if the item can be accessed ingame
*Use: what the module is commanded to use. The example commands are in respect the above modules.
*Example: "http://m.facebook.com"/"NotifyErrorNoExecute"


'''bar_action'''
'''mode'''.
*Example: "none"
{| class="wikitable"
 
|+mode
'''lbl_half'''
! mode !! usage
*Example: "1"
|-
 
| common ||
'''focus_detect'''
|-
*Use: tells the PS3 to focus on the item if it is activated/utilised (like inserting a PS3 game disc). Of course the vsh.self has the final say on whether it is used (turning off auto boot).
| mgmt ||
*Example: "enable"
|-
| playlistmgmt ||
|-
| playlistmgmtpsp ||
|-
| playlistempty ||
|}


'''focus_priority'''
'''module_action'''. Is the commanded to be used by the module
*Use: tells the PS3 the order in which the XMB items are loaded. This is use more by XMB items on the root of the XMB.
*Example: any integer


'''fo_lbl2_alpha'''.
'''module_name''' Use: the name of the module to be used from the [[XMBML module-action]] list
*Example: "0"


'''item_type'''.
'''str_noitem'''. Displays information from relevant .rco when no data/XMB items are found
*Example: "systop"


'''ch_pos'''.
'''title'''. Displays XMB main title from plain text input. Cannot be used at the same time as 'title_rsc'
*Example: "1"


'''title_rsc'''. Displays XMB main title text referred from relevant .rco. Cannot be used at the same time as 'title'


==Loading resource files from the associated .rco==
The attributes with names containing '''rsc''' (resource), '''str''' (string), or '''msg''' (message), as '''icon_rsc''', '''title_rsc''', '''info_rsc''', and '''instruction_rsc''' can load images or texts from the .rco associated with the XMB column (the variants of explore_category_****.rco, and explore_plugin_full.rco that is common for all XMB categories, also some others that are specific for a category as gamelib_plugin.rco or gamedata_plugin.rco)
{{RCO TOC reference types}}




 
{{File Formats}}<noinclude>[[Category:Main]]</noinclude>
 
 
{{Boxframe4|content='''Others not in the table''':
*XMB categories
**In category_photo.xml
***class="type:x-xmb/xmlplaylist" - <Pair key="mode"><String>playlistmgmt</String></Pair>
***class="type:x-xmb/xmlplaylist" - <Pair key="type"><String>photo</String></Pair>
***class="type:x-xmb/xmlplaylist" - <Pair key="id"><String></String></Pair>
***class="type:x-xmb/xmlplaylist" - <Pair key="path"><String></String></Pair>
**In category_music.xml
***class="type:x-xmb/xmlplaylist" - <Pair key="type"><String>music</String></Pair>
**In category_video.xml
***class="type:x-xmb/folder-pixmap" - <Pair key="custom_priority"><String>video=-80</String></Pair>
**In category_game.xml
***class="type:x-xmb/folder-pixmap" - <Pair key="custom_priority"><String>game=-80</String></Pair>
***class="type:x-xmb/folder-pixmap" - <Pair key="action"><String>exec_game</String></Pair>
***class="type:x-xmb/xmlmcutility" - <Pair key="action"><String>exec_vmcsavedata</String></Pair>
***class="type:x-xmb/xmlmcutility" - <Pair key="vmc"><String>promote</String></Pair>
***class="type:x-xmb/xmlsavedata-ps3" - <Pair key="action"><String>exec_ps3savedata</String></Pair>
***class="type:x-xmb/xmlsavedata-ps3" - <Pair key="ms_connection"><String>xcb://localhost/query?... (too long for wiki)
***class="type:x-xmb/xmlsavedata-ps3" - <Pair key="sd_connection"><String>xcb://localhost/query?... (too long for wiki)
***class="type:x-xmb/xmlsavedata-ps3" - <Pair key="cf_connection"><String>xcb://localhost/query?... (too long for wiki)
***class="type:x-xmb/xmlsavedata-ps3" - <Pair key="mass_connection"><String>xcb://localhost/query?... (too long for wiki)
***class="type:x-xmb/xmlsavedata-ps3" - <Pair key="data_connection"><String>xcb://localhost/query?... (too long for wiki)
***class="type:x-xmb/xmlsavedata-psp" - <Pair key="action"><String>exec_pspsavedata</String></Pair>
***class="type:x-xmb/xmlsavedata-psp" - (same xcb querys than above for: ms, sd, cf, mass, data)
***class="type:x-xmb/xmltrophy" - <Pair key="data_connection"><String>xcb://localhost/query?limit=2048</String></Pair>
***class="type:x-xmb/xmlwelcome" - <Pair key="content_type"><String>game</String></Pair>
***class="type:x-xmb/xmlnpsignup" - Pair key="info"><String>net_package_install_with_eula</String></Pair>
***class="type:x-xmb/xmlnpsignup" - <Pair key="pkg_src"><String>http://dL-REGION01.ps3.download.playstation.net/download/ps3/L-REGION/lwp/lwp.pkg</String></Pair>
***class="type:x-xmb/xmlnpsignup" - <Pair key="content_name"><String>msg_title_lwp</String></Pair>
***class="type:x-xmb/xmlnpsignup" - <Pair key="content_id"><String>IP9100-NPIA00002_00-0000111122223333</String></Pair>
***class="type:x-xmb/xmlnpsignup" - <Pair key="instruction_rsc"><String>msg_lwp_explanation</String></Pair>
***class="type:x-xmb/xmlnpsignup" - <Pair key="prod_pict_path"><String>/dev_flash/vsh/resource/explore/icon/fah-xmb.png</String></Pair>
***class="type:x-xmb/xmlnpsignup" - <Pair key="focus"><String>last</String></Pair>
**In category_psn.xml
***class="type:x-xmb/xmlnpsignup" - <Pair key="content_info_text"><String>msg_ps3_portal</String></Pair>
***class="type:x-xmb/xmlnpsignup" - <Pair key="content_info_title"><String>msg_psstore_explanation_hd</String></Pair>
***class="type:x-xmb/xmlnpsignup" - <Pair key="content_info_title_sd"><String>msg_psstore_explanation_sd</String></Pair>
***class="type:x-xmb/xmlnpsignup" - <Pair key="content_info_pict"><String>/dev_flash/vsh/resource/explore/icon/pstex01.png</String></Pair>
***class="type:x-xmb/xmlnpsignup" - <Pair key="content_info_pict_sd"><String>/dev_flash/vsh/resource/explore/icon/pstex-sd.png</String></Pair>
**In category_friend.xml
***class="type:x-xmb/folder-pixmap" - <Pair key="title_fo"><String>1</String></Pair>
***class="type:x-xmb/module-action" - <Pair key="start_factor_play"><String>disable</String></Pair>
}}
 
== Examples ==
 
=== An XMB item tree ===
For this we will make a XMB item which will act as a folder opening up into 3 other XMB items.
 
1/ First create the root XMB item which acts as a folder
{{Boxcode|content=<syntaxhighlight lang="xml">
<View id="XMB_Folder_1">
<Attributes>
<Table key="xmb_folder">
<Pair key="icon_rsc"><String>tex_album_icon</String></Pair>
<Pair key="title"><String>XMB Menu Item</String></Pair>
<Pair key="info"><String>This will subdivide into 3 items :)</String></Pair>
<Pair key="child"><String>segment</String></Pair>
</Table>
</Attributes>
<Items>
<Query class="type:x-xmb/folder-pixmap"  key="xmb_folder" attr="xmb_folder" src="#XMB_Folder_1_container" />
</Items>
</View>
</syntaxhighlight>}}
Important Notes:
* I've used "''&lt;Query class="type:x-xmb/folder-pixmap"''" for &lt;Items&gt; sub-entry type as it is good for displaying menus.
* The 'attr' in the &lt;Items&gt; sub-entry (xmb_folder) is the same as the table key in Attibutes, so those attributes are assigned to the xmb_folder &lt;Items&gt; sub-entry.
* the 'src' is pointing to 'XMB_Folder_1_container' - the another XMB .xml entry in the current .xml
* the icon is from a .rco file and is a basic folder icon, like what the 'Game Data' XMB item uses
* 'title' and 'info' are in plain text
* 'child' is set as 'segment' so the XMB knows this item will subdivide into other XMB items
 
In order to create a working XMB sub menu the root xmb item (in this "XMB_Folder_1") must have its 'src' linking to a "container" (its the best way to think about it) and not directly linking to XMB items in the sub menu.( If you do not do this when you select your root XMB item to display a sub menu, the 'output' or 'action' of the XMB items of the sub menu will be shown rather than the actual XMB items):
 
{{Boxcode|content=<syntaxhighlight lang="xml">
<View id="XMB_Folder_1_container">
<Items>
<Query class="type:x-xmb/folder-pixmap"  key="xmb_folder_container" src="#XMB_Folder_1_contents" />
</Items>
</View>
</syntaxhighlight>}}
Important Notes:
* This has no attributes as it simply acts as a contents container/linker
 
Now to create the XMB .xml entry which holds the sub menu items:
 
{{Boxcode|content=<syntaxhighlight lang="xml">
<View id="XMB_Folder_1_contents">
<Attributes>
<Table key="xmb_subitem_1">
<Pair key="icon_rsc"><String>tex_album_icon</String></Pair>
<Pair key="title"><String>XMB Sub Menu Item</String></Pair>
<Pair key="info"><String>Dummy Sub item 1</String></Pair>
<Pair key="str_noitem"><String>msg_error_no_gamedata</String></Pair>
</Table>
<Table key="xmb_subitem_2">
<Pair key="icon_rsc"><String>tex_album_icon</String></Pair>
<Pair key="title"><String>XMB Sub Menu Item</String></Pair>
<Pair key="info"><String>Dummy Sub item 2</String></Pair>
<Pair key="str_noitem"><String>msg_error_no_gamedata</String></Pair>
</Table>
<Table key="xmb_subitem_3">
<Pair key="icon_rsc"><String>tex_album_icon</String></Pair>
<Pair key="title"><String>XMB Sub Menu Item</String></Pair>
<Pair key="info"><String>Dummy Sub item 3</String></Pair>
<Pair key="str_noitem"><String>msg_error_no_gamedata</String></Pair>
</Table>
</Attributes>
<Items>
<Query class="type:x-xmb/folder-pixmap"  key="xmb_subitem_1" attr="xmb_subitem_1" />
<Query class="type:x-xmb/folder-pixmap"  key="xmb_subitem_2" attr="xmb_subitem_2" />
<Query class="type:x-xmb/folder-pixmap"  key="xmb_subitem_3" attr="xmb_subitem_3" />
</Items>
</View>
</syntaxhighlight>}}
 
Important Notes:
* These are dummy items, they do not 'go anywhere' or perform any function. They will just print the str_noitem message when clicked because they have no function
* notice how the &lt;attr&gt; from the &lt;Items&gt; sub entries matches the &lt;Table keys&gt; from the &lt;Attributes&gt; sub entries
* The &lt;Attributes&gt; and the &lt;Items&gt; sub entries do not have to be in the same order to work
 
=== A Web-Site link ===
This type of entry could be placed on the root of the XMB category, or in an XMB Item Tree. This is also an application of the '[[VSH:Module-Action|module-action]]' function. Example:
 
{{Boxcode|content=<syntaxhighlight lang="xml">
<View id="seg_xmb_weblink">
<Attributes>
<Table key="link_1">
<Pair key="icon_rsc"><String>dev_wiki_icon</String></Pair>
<Pair key="title"><String>PS3 Dev Wiki</String></Pair>
<Pair key="info"><String>Some info here</String></Pair>
<Pair key="module_name"><String>webbrowser_plugin</String></Pair>
<Pair key="module_action"><String>http://www.ps3devwiki.com/</String></Pair>
  </Table>
</Attributes>
<Items>
<Item class="type:x-xmb/module-action" key="link_1" attr="link_1"/>
</Items>
</View>
</syntaxhighlight>}}
 
*Important Notes:
**The 'Attributes' for this Web-Link follows the Attribute rules for a 'module-action' entry. 
**The 'webbrowser_plugin' module has been used to handle the request in the 'module_action' pair key, which is a web address
**The 'attr' in the Items sub-entry is the same as the table key in the 'Attributes' sub-entry.
**Remember that the icon_rsc string will search the rco file(used by the module running the category which this web link is on) for the icon 'dev_wiki_icon'. Whereas the title and info strings will just print the contents of the string.

Latest revision as of 03:57, 30 August 2021

Basic XMBML Structure[edit | edit source]

This page outlines the logic behind XMB XML configuration files. For some practise usage see: XMBML Coding Examples

This is a reduced version of category_network.xml with only one icon (tex_browser) that launches the webbrowser (type:x-xmb/xmlwebbrowser). The .xml is loaded starting from <View id="root">, then inside the <Items> table there is a <Query> linking to #seg_browser (the character "#" links to a <View id> in the same file, so is linked to <View id="seg_browser">). When <View id="seg_browser"> is loaded first starts reading the table of <Items> that contains an <Item> that is linked using attr="browser" to a table of attributes <Table key="browser"

<?xml version="1.0" encoding="UTF-8"?>

<XMBML version="1.0">
	<View id="root">
		<Items>
			<Query class="type:x-xmb/folder-pixmap" key="seg_browser" src="#seg_browser"/>
		</Items>
	</View>
	<View id="seg_browser">
		<Attributes>
			<Table key="browser">
				<Pair key="icon_rsc"><String>tex_browser</String></Pair>
				<Pair key="icon_notation"><String>WNT_XmbItemBrowser</String></Pair>
				<Pair key="title_rsc"><String>msg_browser</String></Pair>
 			</Table>
		</Attributes>
		<Items>
			<Item class="type:x-xmb/xmlwebbrowser" key="browser" attr="browser"/>
		</Items>
	</View>
</XMBML>
  • The contents of the .xml file can be identifyed by the <View id> and <key> this way:
    • <View id="root"> contains 1 <Items> with the key="seg_browser"
    • <View id="seg_browser"> contains 1 <Items> with the key="browser"
	<View id="root">
		<Items>
			<Query key="seg_browser"/>
		</Items>
	</View>
	<View id="seg_browser">
		<Attributes>
			<Table key="browser">
 			</Table>
		</Attributes>
		<Items>
			<Item key="browser"/>
		</Items>
	</View>
  • Note the "Pair key"'s inside "attributes tables" are not considered identifyers of the xml tag

View ID's (Enviroment ID's, and Segment ID's)[edit | edit source]

Identifyers made of UTF-8 characters and without spaces. There are two types: Enviroments, and Segments

  • Enviroments are reserved names (hardcoded in VSH?): "root", "root_info", "root_for_dex", "root_dex", "root_for_BDU", "root_power_only", "root_hide_friend", "tool_root", "shop_root", "shop_guest_root", "shop_staff_root", "root_arcade" and obsolete: "stage_demo_root", "xai_test_root", "store_root"
    • Used to load specific XMB items for different PS3 types (retail, debug, etc...), or to load items in specific boot modes (e.g: in shop PS3's "locked" or "unlocked" modes), can be considered the XMB enviroments used by the XMB Configuration Files
    • Usually inside the .XML files there are several <View id> of this type starting with "root" (retail XMB) at the top, only one of them is loaded by VSH when the PS3 boots
  • Segments are all the others with names starting with "seg_" (e.g: seg_gamedata, seg_gameexit, seg_manual, etc...). There must be no other segments with the same name in the same .XML file, but some segments used for common functions are repeated in different .XML files and uses the same segment name and key identifyer (e.g. the segment "seg_gameexit" containing an item with the key "gamexit" is repeated in 8 .XML files)
    • Segments are loaded by some query classes (inside <items> tables) by making his "src" to point to the target segment. When the segment is in the same .XML file it works simply by "jumping" to another line of the same file. When the segment is in another .XML file first is needed to locate the target .XML file, and then the "jump" to the target segment
      • Links to a segment in the same .XML file uses the character "#", and the name of the target segment (e.g: src="#seg_poweroff")
      • Links to a segment in another .XML file uses the xmb://localhost/ function with the path of the target file, the character "#", and the name of the target segment (e.g: src="xmb://localhost/dev_flash/vsh/resource/explore/xmb/category_user.xml#seg_poweroff"), or alternativelly the short path form replacing "dev_flash/vsh/resource/explore/" by "%flash/" (e.g: src="xmb://localhost/%flash/xmb/category_user.xml#seg_poweroff")
    • Is posible to load the "root" view IDs of other file (e.g: src="xmb://localhost/%flash/xmb/category_user.xml#root")

Items (Query classes, and Item classes)[edit | edit source]

The contents of this sub group dictates what exists on the XMB when this entry is used. There can be more than one.

When creating a XMB entry, you must tell vsh.self and its modules what you want to do. And the first part of a <Items> sub-entry does just this by telling the PS3 the "class" of the entry in the form of either "<Item class=""" or "<Query class=""" (in the case of "<Query class=""" can be used several times under the same <items> to perform group of actions). There are many acceptable values possible, here are some examples:

Tags used by class/subclass
Query classes x-xmb <key> <attr> <src> Remarks
<Query class="type:x-xmb/category" Yes Yes Yes Main/Root XMB
<Query class="type:x-xmb/folder-pixmap" Yes Yes Yes Has many uses see here
<Query class="type:x-xmb/xmlmcutility" Yes Yes Yes PS1 and PS2 virtual memory card utility
<Query class="type:x-xmb/xmlnpsignup" Yes Yes No
<Query class="type:x-xmb/xmlpackagefolder" Yes Yes Yes Used for installing package files
<Query class="type:x-xmb/xmlpsp2appdata" Yes Yes No PSVita application utility
<Query class="type:x-xmb/xmlsavedata-plus" Yes Yes No Online storage
<Query class="type:x-xmb/xmlsavedata-ps2" Yes Yes No Savedata utility PS2
<Query class="type:x-xmb/xmlsavedata-ps3" Yes Yes No Savedata utility PS3
<Query class="type:x-xmb/xmlsavedata-psp" Yes Yes No Savedata utility PSP
Query classes x-xcb <key> <attr> <src> Remarks
<Query class="type:x-xcb/game-debug" Yes Yes No /app_home/PS3_GAME/ link
<Query class="type:x-xcb/savedata-ps3" Yes Yes No PS3 new savedata
<Query class="type:x-xcb/savedata-psp" Yes Yes No PSP new savedata
Item classes x-xmb <key> <attr> <src> Remarks
<Item class="type:x-xmb/module-action" Yes Yes No Uses a particular module to support the XMB item. See XMBML module-action page
<Item class="type:x-xmb/vmc-new" Yes Yes No
<Item class="type:x-xmb/xmlbddatamgmt" Yes Yes No
<Item class="type:x-xmb/xmleditingvideo" Yes Yes No
<Item class="type:x-xmb/xmlflashplayer" Yes Yes No
<Item class="type:x-xmb/xmlgameexit" Yes No No
<Item class="type:x-xmb/xmlhakoniwa" Yes Yes No
<Item class="type:x-xmb/xmliboard" Yes Yes No Widgets control (class not used over firmware 3.00)
<Item class="type:x-xmb/xmlmessagelist" Yes Yes No
<Item class="type:x-xmb/xmlnowplaying" Yes Yes No
<Item class="type:x-xmb/xmlnpsignup" Yes Yes No
<Item class="type:x-xmb/xmlplaylist" Yes Yes No
<Item class="type:x-xmb/xmlplus" Yes No No
<Item class="type:x-xmb/xmlpoweroff" Yes No No
<Item class="type:x-xmb/xmlpremo" Yes No No
<Item class="type:x-xmb/xmlpsp2appdata-cont" Yes Yes No PSVita Applications (PSVita, PSP, PS1, PSMobile)
<Item class="type:x-xmb/xmlscreenshot" Yes No No
<Item class="type:x-xmb/xmlsysconf" Yes Yes No
<Item class="type:x-xmb/xmltrophy" Yes Yes No
<Item class="type:x-xmb/xmlwebbrowser" Yes Yes No
<Item class="type:x-xmb/xmlwelcome" Yes Yes No
Item classes x-chat <key> <attr> <src> Remarks
<Item class="type:x-chat/xmlchatroom-manager" Yes Yes No
Unknown usage
Unknown classes <key> <attr> <src> Remarks
x-xcb/achbase ? ? ? found inside explore_plugin.sprx
x-xcb/achievtitle ? ? ? found inside explore_plugin.sprx
x-xcb/achievgroup ? ? ? found inside explore_plugin.sprx
x-xcb/achievflag ? ? ? found inside explore_plugin.sprx
x-xcb/friendachievtitle ? ? ? found inside explore_plugin.sprx
x-xcb/friendachievgroup ? ? ? found inside explore_plugin.sprx
x-xcb/friendachievflag ? ? ? found inside explore_plugin.sprx
x-xcb/blockedplayer ? ? ? found inside explore_plugin.sprx
x-xcb/directory ? ? ? found inside explore_plugin.sprx
x-xcb/directory-bddata ? ? ? found inside explore_plugin.sprx
x-xcb/directory-generic ? ? ? found inside explore_plugin.sprx
x-xcb/directory-photo ? ? ? found inside explore_plugin.sprx
x-xcb/directory-music ? ? ? found inside explore_plugin.sprx
x-xcb/directory-video ? ? ? found inside explore_plugin.sprx
x-xcb/unknown ? ? ? found inside explore_category_game.sprx
x-xcb/message ? ? ? found inside explore_plugin.sprx
x-xcb/person ? ? ? found inside explore_plugin.sprx
x-xcb/playedplayer ? ? ? found inside explore_plugin.sprx
x-xcb/psv ? ? ? found inside explore_plugin.sprx
x-xcb/savedata-ps1 ? ? ? found inside explore_plugin.sprx
x-xcb/savedata-ps2 ? ? ? found inside explore_plugin.sprx
x-xcb/savedata-ps3delegate ? ? ? found inside explore_plugin.sprx
x-xcb/savedata-plus ? ? ? found inside explore_plugin.sprx
x-xcb/savedata-pspdir ? ? ? found inside explore_plugin.sprx
x-xcb/segment ? ? ? found inside explore_plugin.sprx
x-xcb/storage-media ? ? ? found inside explore_category_game.sprx
x-xcb/storagemedia-cdda ? ? ? found inside explore_plugin.sprx
x-xcb/storagemedia-sacd ? ? ? found inside explore_plugin.sprx
x-xcb/storagemedia-psmc ? ? ? found inside explore_plugin.sprx
x-xcb/storagemedia-psv ? ? ? found inside explore_plugin.sprx
x-xcb/storagemedia-sdps3 ? ? ? found inside explore_plugin.sprx
x-xcb/storagemedia-sdpsp ? ? ? found inside explore_plugin.sprx
x-xcb/storagemedia-sdpsp2 ? ? ? found inside explore_plugin.sprx
x-xcb/storagemedia-dlna ? ? ? found inside explore_plugin.sprx
x-xcb/storagemedia-avchd ? ? ? found inside explore_plugin.sprx
x-xcb/storagemedia-bdc ? ? ? found inside explore_plugin.sprx
x-xcb/storagemedia-generic ? ? ? found inside explore_plugin.sprx
x-xcb/storagemedia-videodisc ? ? ? found inside explore_plugin.sprx
x-xcb/game-disc ? ? ? found inside explore_category_game.sprx
x-xcb/game ? ? ? found inside explore_category_game.sprx
x-xcb/game-list ? ? ? found inside explore_category_game.sprx
x-xcb/content-disc ? ? ? found inside explore_category_game.sprx
x-xcb/music ? ? ? found inside explore_plugin.sprx
x-xcb/music-list ? ? ? found inside explore_plugin.sprx
x-xcb/photo ? ? ? found inside explore_plugin.sprx
x-xcb/photo-list ? ? ? found inside explore_plugin.sprx
x-xcb/query-condition ? ? ? found inside explore_category_game.sprx
x-xcb/video ? ? ? found inside explore_plugin.sprx
x-xcb/video-content ? ? ? found inside explore_plugin.sprx
x-xcb/video-list ? ? ? found inside explore_plugin.sprx
x-xcb/video-file ? ? ? found inside explore_plugin.sprx
x-xcb/video-disctitle ? ? ? found inside explore_plugin.sprx
x-xcb/vmc ? ? ? found inside explore_plugin.sprx
x-xcb/vmc-new ? ? ? found inside explore_plugin.sprx
x-xmb/xmlchannel ? ? ? found inside explore_plugin.sprx
x-xmb/xmlpsp2appdata-cont ? ? ? found inside explore_plugin.sprx
x-xmb/xmlscenefolder ? ? ? found inside explore_plugin.sprx
x-xmb/xmlvideodownloader ? ? ? found inside explore_plugin.sprx
x-xmb/unknown ? ? ? found inside explore_category_game.sprx
x-xil/xilitem ? ? ? found inside explore_category_game.sprx
x-ese/task ? ? ? found inside explore_category_game.sprx
x-ese/dlctl ? ? ? found inside explore_plugin.sprx
x-sel/registory-accessor ? ? ? found inside explore_category_game.sprx
x-user/user ? ? ? found inside explore_plugin.sprx
x-host/unknown ? ? ? found inside explore_plugin.sprx
x-host/mount-info ? ? ? found inside explore_plugin.sprx
x-host/directory ? ? ? found inside explore_plugin.sprx
x-host/file ? ? ? found inside explore_plugin.sprx
x-host/package ? ? ? found inside explore_plugin.sprx
x-host/theme-content ? ? ? found inside explore_plugin.sprx
x-host/ps2_newsavedata ? ? ? found inside explore_plugin.sprx
x-chat/room ? ? ? found inside explore_plugin.sprx
x-chat/player ? ? ? found inside explore_plugin.sprx
x-chat/xmlchatroom-manager ? ? ? found inside explore_plugin.sprx
  • <key>
    • Used to identify the sub-entry inside <Items> tables (usually the same value as <attr> and the <Table key> associated if present)
    • Example: key="my_icon"
  • <attr>
    • Used to link <Items> to a table of attributes with the same name <Table key> inside <Attributes>
    • Example: attr="my_icon_metadata"
  • <src>
    • Used to link to other xml files or utilise a XMB database functions (see XMB database)
    • Refer to another XMB entry inside the current xml file. Example: src="#seg_package_files"
    • Refer to another XMB entry inside another xml file. Example: src="xmb://localhost/dev_flash/vsh/resource/explore/xmb/category_game_tool2.xml#seg_package_files"
    • Use a XMB database function. Example: src="xcb://localhost/query?table=MMS_MEDIA_TYPE_SYSTEM&genre=Music&sort=+StorageMedia:Common.titleForSort&cond=Ae+StorageMedia:StorageMedia.type %xCB_MEDIA_TYPE_DLNA"

Attributes (Pairs)[edit | edit source]

This provides additional information about <Items> sub-entries by linking them to a table with attributes associated (is optionall, not all <Items> requires attributes), this tables uses a <Table key> matching the <attr> sub-entry asociated and contains one or more attributes separated in lines starting with <Pair key>.

Attributes used in official XMB, ordered by classes
<Attributes> <Items> Examples
<Table <Query class="type: <Item class="type:
<Pair key= x-xmb/ x-xcb/ x-xmb/ x-chat/
folder
pixmap
mc
utility
np
signup
pkg
folder
vita
apps
save
plus
save
ps2
save
ps3
save
psp
game
debug
save
ps3
save
psp
module
action
vmc
new
bddata
mgmt
edit
video
hako
niwa
info
board
msg
list
now
playing
np
signup
play
list
vita
apps
sys
conf
trophy browser welcome chat
room
action Yes Yes ? ? ? ? ? Yes Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "exec_game", etc... (see table below)
bar_action No ? ? No ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? Yes ? ? ? Yes ? ? ? ? "none", "hide", "game_pspemu_viewmode", "game_pspemu_3d", "game_psemu_upcon", "game_psemu_smooth", "pad_assign", "pad_vibration", "bt_device_utility", "audio_setting", "voice_changer", "net_netlist"
connection ? ? ? ? ? ? ? Yes Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "xcb://localhost/query?..."
cf_connection ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "xcb://localhost/query?..."
ch_pos Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "1"
child Yes ? ? Yes ? ? ? ? ? ? ? ? No ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "segment", "grid", "Video"
content_id ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? "IP9100-NPIA00002_00-0000111122223333"
content_info_pict ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "/dev_flash/vsh/resource/explore/icon/pstex01.png"
content_info_pict_sd ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "/dev_flash/vsh/resource/explore/icon/pstex-sd.png"
content_info_tex ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "msg_ps3_portal"
content_info_title ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "msg_psstore_explanation_hd"
content_info_title_sd ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "msg_psstore_explanation_sd"
content_name ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? Yes ? ? ? ? ? ? ? "msg_title_lwp", "msg_information_board"
content_type ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? "game", "video", "tv"
custom_priority Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "game=-80", "video=-80", "tv=-80"
data_connection ? ? ? ? ? ? ? Yes Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? ? "xcb://localhost/query?..."
device_path Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "/dev_hdd0"
fo_lbl_alpha Yes Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "0" - float number
fo_lbl2_alpha Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "0" - float number
focus ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? Yes ? ? ? ? ? ? ? "last"
focus_detect Yes ? ? Yes ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "enable"
focus_priority Yes ? ? Yes ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "-5", "-4", "-3", "-2", "-1", "0", "1", "2", "3", "4", "5", "6". "-50", "-49", "-48", "-47", "-46". "-80"
fs_path ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? ? "/dev_hdd0/widget/npdrm/informationboard"
genre ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? "BdData"
icon Yes ? ? Yes ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "/dev_hdd0/myicon.png"
icon_fixed_height Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "181"
icon_fixed_width Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "181"
icon_notation Yes ? ? Yes ? ? ? ? ? ? ? ? Yes ? ? ? ? ? Yes ? ? ? ? ? ? Yes ? Yes "WNT_XmbItemAlbum", etc... (see table below)
icon_rsc Yes ? ? Yes ? ? ? ? ? ? ? ? Yes ? ? ? ? ? Yes Yes ? ? ? ? Yes Yes ? Yes "tex_album_icon"
id ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ?
info Yes ? ? Yes ? ? ? ? ? ? ? ? Yes ? ? ? ? ? Yes ? Yes ? ? ? ? ? ? ? "This is a cool plain text info string"
info_rsc Yes ? ? Yes ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "item_tex_cam_icon"
ingame Yes ? ? Yes ? ? ? ? ? ? ? ? No ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "enable", "disable"
instruction_rsc ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? "msg_lwp_explanation"
item_type Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "systop"
lbl_half No ? ? No ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "1"
logical_sceme Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "Music", "Photo", "Video"
mass_connection ? ? ? ? ? ? ? Yes Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "xcb://localhost/query?..."
mode ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes Yes ? ? ? ? ? Yes ? ? ? ? ? ? "common", "mgmt", "playlistmgmt", "playlistmgmtpsp", "playlistempty"
module_action No ? ? No ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "NotifyErrorNoExecute", "http://m.facebook.com", 0, 1
module_name No ? ? No ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "explore_plugin", "webbrowser_plugin"
ms_connection ? ? ? ? ? ? ? Yes Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "xcb://localhost/query?..."
name ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "Flash Player[test.swf]"
path ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? "flash0/vsh/resource/flash/test.swf"
pkg_src ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? "http://dL-REGION01.ps3.download.playstation.net/.../lwp.pkg"
pkg_src_qa ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ?
prod_pic_path ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? Yes ? ? ? ? ? ? ? "/dev_flash/vsh/resource/explore/icon/fah-xmb.png"
sd_connection ? ? ? ? ? ? ? Yes Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "xcb://localhost/query?..."
start_factory_play ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "disable"
str_noitem Yes ? ? No ? ? ? ? ? ? ? ? No ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "msg_error_no_file", any message text from explore_plugin rco works
title Yes ? ? Yes ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? "Debug Settings"
title_fo Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "1"
title_rsc Yes ? ? Yes ? ? ? ? ? ? ? ? Yes ? ? ? ? ? Yes ? ? ? Yes ? Yes Yes ? Yes "msg_tool_app_home_ps3_game"
type ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? ? ? ? Yes Yes ? ? ? ? ? "photo", "music", "video"
vmc ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "promote"
  • Official are marked as "Yes"
  • Unnofficial and working are marked as "Opt"
  • Unnofficial and not working are marked as "No"

action.

action
action usage
exec_game ps3 gamedata
exec_vmcsavedata ps1/ps2 savedata
exec_ps3savedata ps3 savedata
exec_pspsavedata psp savedata
exec_psp2appdata psvita utility
exec_sdps2 ps2 savedata

child. Tells the PS3 what action should be taken when the XMB item is selected.

focus_detect. Tells the PS3 to focus on the item if it is activated/used(like inserting a PS3 game disc). Of course the vsh.self has the final say on whether it is used (turning off auto boot)

focus_priority. Tells the PS3 the order in which the XMB items are loaded. This is used more by XMB items on the root of the XMB.

icon. Displays a .png image from an absolute path as XMB icon. Cannot be used at the same time as 'icon_rsc'

icon_notation. Tells the XMB how to display the icon layout (transparency etc). Can in some cases override 'icon' or 'icon_rsc'

icon_notation
icon_notation Use Notes
WNT_XmbItemAlbum overrides 'icon_rsc'
WNT_XmbItemBrowser overrides 'icon_rsc'
WNT_XmbItemChat
WNT_XmbItemChatRoomText
WNT_XmbItemFriendAccountManagement
WNT_XmbItemFriendAdd
WNT_XmbItemFriendBlock
WNT_XmbItemFriendMessageBox
WNT_XmbItemFriendMessageBoxReceived
WNT_XmbItemFriendMessageBoxSent
WNT_XmbItemFriendMessageCreate
WNT_XmbItemFriendPlayer
WNT_XmbItemInetSearch
WNT_XmbItemMediaServerSearch
WNT_XmbItemOnlineManual
WNT_XmbItemPRemo
WNT_XmbItemPlaylist overrides 'icon_rsc'
WNT_XmbItemPlaylistAdd
WNT_XmbItemPowerOff
WNT_XmbItemSavePS12
WNT_XmbItemSavePS3
WNT_XmbItemSavedataMinis
WNT_XmbItemTrophy
WNT_XmbItemUser
WNT_XmbItemVideoNew
WNT_XmbListMusic overrides 'icon_rsc'
WNT_XmbListPhoto overrides 'icon_rsc'
WNT_XmbListVideo overrides 'icon_rsc'

icon_rsc. Displays an image from a .rco as XMB icon. Cannot be used at the same time as 'icon'

info. Displays XMB title information from plain text input. This is shown below the 'title' or 'title_rsc' entry in a smaller font

info_rsc. Displays XMB title information from relevant .rco. This is shown below the 'title' or 'title_rsc' entry in a smaller font

ingame Use: tells the PS3 if the item can be accessed ingame

mode.

mode
mode usage
common
mgmt
playlistmgmt
playlistmgmtpsp
playlistempty

module_action. Is the commanded to be used by the module

module_name Use: the name of the module to be used from the XMBML module-action list

str_noitem. Displays information from relevant .rco when no data/XMB items are found

title. Displays XMB main title from plain text input. Cannot be used at the same time as 'title_rsc'

title_rsc. Displays XMB main title text referred from relevant .rco. Cannot be used at the same time as 'title'

Loading resource files from the associated .rco[edit | edit source]

The attributes with names containing rsc (resource), str (string), or msg (message), as icon_rsc, title_rsc, info_rsc, and instruction_rsc can load images or texts from the .rco associated with the XMB column (the variants of explore_category_****.rco, and explore_plugin_full.rco that is common for all XMB categories, also some others that are specific for a category as gamelib_plugin.rco or gamedata_plugin.rco)

RCO TOC reference types
reference_type pointer Method Loader Loads From Example (XML) Notes
0xFFFF0000 0xFFFFFFFF n/a All Nothing None <Entry reference="nothing"/>
0x04000000 relative event: RCOXML Objects
RCOXML Animations
Code function Associated .SPRX <Entry event="event:native:/runFuctionX"/>
ScriptTree/Script File inside RCO <Entry event="event:script:/main/runFuctionX"/>
0x04010000 # (0-based) text: RCOXML Objects
XMBML Code
TextTree/Text Strings inside RCO <Entry text="text:msg_mytext"/>
0x04020000 absolute image: RCOXML Objects
XMBML Code
ImageTree/Image File inside RCO <Entry image="image:tex_mytexture"/>
0x04030000 absolute model: RCOXML Objects ModelTree/Model File inside RCO <Entry model="model:mymodel"/>
0x04040000 absolute ? sound: ? associated .SPRX SoundTree/Sound File inside RCO <Entry sound="sound:mysound"/> ? speculation
0x04050000 absolute font: RCOXML Objects FontTree/Font File inside RCO ? <Entry font="font:fontstyle_sanserif"/>
0x04060000 absolute ? anim2: ? RCOXML Objects ? AnimTree/Animation ? RCOXML code ? <Entry anim2="anim2:myanimation"/> ? speculation
0x04070000 absolute object2: RCOXML Objects ObjectTree/Object RCOXML code <Entry object2="object2:plane_myplane"/>
0x04080000 absolute anim: RCOXML Animations AnimTree/Animation RCOXML code <Entry anim="anim:myanimation"/>
0x04090000 absolute object: RCOXML Animations ObjectTree/Object RCOXML code <Entry object="object:plane_myplane"/>
  • A reference attribute is composed by two values, the first is the reference_type that indicates the "tree" of the entry that is going to be loaded, and the second is a pointer to a text string with the label of the entry that is going to be loaded
  • The reference_type event doesnt loads an entry from a "tree" though, it runs a code function from either a .sprx (by storing the text native:/ as part of the text string inside the RCO) or from a VSMX script (by storing the text script:/ as part of the text string inside the RCO)
  • First two bytes are swapped based on architecture (PSP in little endian, PS3 in big endian). The table shows the values in big endian