Editing XMBML Coding

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
== 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]]


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"
== Basic Structure ==
Every XMB .xml configuration file starts with this header:


{{Boxcode|code=<syntaxhighlight lang="xml">
{{Boxcode|content=<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<XMBML version="1.0">
<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>
</syntaxhighlight>}}
</syntaxhighlight>}}


*The contents of the .xml file can be identifyed by the &lt;View id&gt; and &lt;key&gt; this way:
And has at least one 'entry' which follows this format:
**&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"


{{Boxcode|code=<syntaxhighlight lang="xml">
{{Boxcode|content=<syntaxhighlight lang="xml">
<View id="root">
<View id="Entry_1">
<Items>
<Query key="seg_browser"/>
</Items>
</View>
<View id="seg_browser">
<Attributes>
<Attributes>
<Table key="browser">
<Table key="item_1">
</Table>
<Pair key="pair_key1"><String>a valid entry for this pair key</String></Pair>
<Pair key="pair_key2"><String>a valid entry for this pair key</String></Pair>
<Pair key="pair_key3"><String>a valid entry for this pair key</String></Pair>
<Pair key="pair_key4"><String>a valid entry for this pair key</String></Pair>
</Table>
</Attributes>
</Attributes>
<Items>
<Items>
<Item key="browser"/>
<Query class="item_1_class" key="item_1" attr="item_1" src="#Entry_1_contents" />
</Items>
</Items>
</View>
</View>
</syntaxhighlight>}}
</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) ===
'''<View id="">''' - this is so the entry can be identified from within the .xml by the PS3. The id must consist of UTF-8 characters and have no spaces. There must be no other entries with the same View id.
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"'''
Within a entry there are two sub groups "<Attributes>" and "<Items>".
**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]]
**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


*'''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)
'''<Items>''' - the contents of this sub group dictates what exists on the XMB when this entry is used. There can be more than one entry.
**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 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) ===
'''<Attributes>''' - this provides additional information about the <Items> sub-entries. For each <Items> sub-entry there '''can'''(not all <Items> sub-entries requires attributes) be attributes assigned, each in its own table with an 'key' matching the <Items> sub-entry. The number of attribute sub-entries within a table varies depending on the <Items> sub-entry.
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 &lt;Items&gt; sub-entry does just this by telling the PS3 the "class" of the entry in the form of either  "''&lt;Item class=""''" or "''&lt;Query class=""''" (in the case of "''&lt;Query class=""''" can be used several times under the same &lt;items&gt; to perform group of actions). There are many acceptable values possible, here are some examples:
== Creating XMB .xml Entries ==


{| class="wikitable"
=== <Items> sub-entries ===
|+Tags used by class/subclass
When creating an XMB entries, you must tell the PS3 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 what kind of entry this XMB entry is in the form of either "''<Query class=""''" or "''<Item class=""''". There are many acceptable values possible here but only 3 have more than one theoretical use:
! Query classes x-xmb !! <key> !! <attr> !! <src> !! Remarks
 
* <Query class="type:x-xmb/folder-pixmap"
* <Item class="type:x-xmb/module-action"
* <Query class="type:x-xmb/xmlpackagefolder"
 
A table of the above types of <Items> sub-entries and what sections of a <Items> sub-entry they can/must use:
{| class="wikitable sortable"
|-
|-
| <Query class="type:x-xmb/'''category'''" || {{Yes}} || {{Yes}} || {{Yes}} || Main/Root XMB
! Entry Identification !! "''key=""''" required ? !! "''attr=""''" required ? !! "''src=""''" required ? !! Attributes Required ? !! Remarks
|-
|-
| <Query class="type:x-xmb/'''folder-pixmap'''" || {{Yes}} || {{Yes}} || {{Yes}} || Has many uses see [[XMBML Functions|here]]
| <Query class="type:x-xmb/folder-pixmap" || Yes || Opt || Yes || Opt || Has many uses see [[XMB modding|here]]
|-
|-
| <Query class="type:x-xmb/'''xmlmcutility'''" || {{Yes}} || {{Yes}} || {{Yes}} || PS1 and PS2 virtual memory card utility
| <Item class="type:x-xmb/module-action" || Yes || Yes || No || Yes || Uses a particular module to support the XMB item, see the [[XMB XML Coding#Module-Action|Module-Action list]]
|-
|-
| <Query class="type:x-xmb/'''xmlnpsignup'''" || {{Yes}} || {{Yes}} || {{No}} ||  
| <Query class="type:x-xmb/xmlpackagefolder" || Yes || Opt || Yes || Yes || Used for installing package files
|-
|-
| <Query class="type:x-xmb/'''xmlpackagefolder'''" || {{Yes}} || {{Yes}} || {{Yes}} || Used for installing package files
|}
 
A table explaining the possible 'sections' to <Items> sub-entries and some acceptable uses of such:
{| class="wikitable sortable"
|-
|-
| <Query class="type:x-xmb/'''xmlpsp2appdata'''" || {{Yes}} || {{Yes}} || {{No}} || PSVita application utility
! <Items> sub-entry 'section' !! Use !! Example(s) !! Remarks
|-
|-
| <Query class="type:x-xmb/'''xmlsavedata-plus'''" || {{Yes}} || {{Yes}} || {{No}} || Online storage
| key || Used to identify the sub-entry which can also be used link attributes(see below) || "gamedata" || -
|-
|-
| <Query class="type:x-xmb/'''xmlsavedata-ps2'''" || {{Yes}} || {{Yes}} || {{No}} || Savedata utility PS2
| attr || ? || "gamedata" || generally the same value as 'key'
|-
|-
| <Query class="type:x-xmb/'''xmlsavedata-ps3'''" || {{Yes}} || {{Yes}} || {{No}} || Savedata utility PS3
| 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 :"#seg_package_files".<br /> * Refer to another XMB entry inside another xml file :"xmb://localhost/dev_flash/vsh/resource/explore/xmb/category_game_tool2.xml#seg_package_files".<br /> * Utilise a XMB database function:"xcb://localhost/query?sort=+Game:Common.titleForSort&cond=AGL+Game:Game.titleId BC0000000 BCZZZZZZZ+OGL+Game:Game.titleId BL0000000 BLZZZZZZZ+OGL+Game:Game.titleId NP0000000 NPZZZZZZZ+OGL+Game:Game.titleId SC0000000 SCZZZZZZZ+An+Game:Game.titleId BLES01337+An+Game:Game.titleId BLES80608+An+Game:Game.titleId BLES80610+An+Game:Game.titleId BLES80611+An+Game:Game.titleId BLES80607+An+Game:Game.titleId NPXS00006+An+Game:Game.titleId BLES01059+An+Game:Game.category 2D+An+Game:Game.category BV+An+Game:Game.category GD+An+Game:Game.category HM+An+Game:Game.category SD+An+Game:Game.category VF+An+Game:Game.category WT" || XMB database function was taken from the XMBM+.
|-
| <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}} ||
|-
|-
|}
|}


<div style="height:200px; overflow:auto">
=== <Attributes> ===
{| class="wikitable"
A table of usable attributes and what <Items> sub-entries they '''can''' be used with:
|+Unknown usage
 
! Unknown classes !! <key> !! <attr> !! <src> !! Remarks
{| class="wikitable sortable"
|-
| 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
! Attribute !! Use !! Used by type:x-xmb/folder-pixmap !! Used by type:x-xmb/module-action !! Used by type:x-xmb/xmlpackagefolder !! Example(s)
|-
|-
| x-xcb/'''storagemedia-videodisc''' || ? || ? || ? || found inside explore_plugin.sprx
| 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"
|-
|-
| x-xcb/'''game-disc''' || ? || ? || ? || found inside explore_category_game.sprx
| 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"
|-
|-
| x-xcb/'''game''' || ? || ? || ? || found inside explore_category_game.sprx
| 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"
|-
|-
| x-xcb/'''game-list''' || ? || ? || ? || found inside explore_category_game.sprx
| 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"
|-
|-
| x-xcb/'''content-disc''' || ? || ? || ? || found inside explore_category_game.sprx
| title || displays XMB main title from plain text input. Cannot be used at the same time as 'title_rsc'. || Yes || Yes || Yes || "Debug Settings"
|-
|-
| x-xcb/'''music''' || ? || ? || ? || found inside explore_plugin.sprx
| 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"
|-
|-
| x-xcb/'''music-list''' || ? || ? || ? || found inside explore_plugin.sprx
| 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"
|-
|-
| x-xcb/'''photo''' || ? || ? || ? || found inside explore_plugin.sprx
| child || tells the PS3 what action should be taken when the XMB item is selected. || Yes || No || Yes || "segment"
|-
|-
| x-xcb/'''photo-list''' || ? || ? || ? || found inside explore_plugin.sprx
| ingame || tells the PS3 if the item can be accessed ingame. || Yes || No || Yes || "enable"/"disable"
|-
|-
| x-xcb/'''query-condition''' || ? || ? || ? || found inside explore_category_game.sprx
| 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"
|-
|-
| x-xcb/'''video''' || ? || ? || ? || found inside explore_plugin.sprx
| module_name || the name of the module to be used from this [[XMB XML Coding#Module-Action|list]] || No || Yes || No || "webbrowser_plugin"/"explore_plugin"
|-
|-
| x-xcb/'''video-content''' || ? || ? || ? || found inside explore_plugin.sprx
| 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"
|-
|-
| x-xcb/'''video-list''' || ? || ? || ? || found inside explore_plugin.sprx
| bar_action || ? || No || Yes || No || "none"
|-
|-
| x-xcb/'''video-file''' || ? || ? || ? || found inside explore_plugin.sprx
| lbl_half || ? || No|| Yes || No || "1"
|-
|-
| x-xcb/'''video-disctitle''' || ? || ? || ? || found inside explore_plugin.sprx
| 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"
|-
|-
| x-xcb/'''vmc''' || ? || ? || ? || found inside explore_plugin.sprx
| 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
|-
| 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;'''
**Used to identify the sub-entry inside '''&lt;Items&gt;''' tables (usually the same value as '''&lt;attr&gt;''' and the '''&lt;Table key&gt;''' associated if present)
**Example: '''key="my_icon"'''


*'''&lt;attr&gt;'''
=== Module-Action ===
**Used to link &lt;Items&gt; to a table of attributes with the same name '''&lt;Table key&gt;''' inside '''&lt;Attributes&gt;'''
This is acts like a module (SPRX) intercom, allowing XML files to use/send commands to a select list modules, so it can perform functions outside the limits of the module managing that XMB Category. The list of 'useable' modules is indexed in the xmb_plugin.sprx and contains a Module Reference and the path to the module .sprx file and associated .rco file for each module. The the list of 'useable' modules for [[3.55 CEX]]:
**Example: '''attr="my_icon_metadata"'''


*'''&lt;src&gt;'''
{| class="wikitable sortable"
**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) ===
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" style="font-size:x-small;"
|+Attributes used in official XMB, ordered by classes
! &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:
! Module Reference !! Associated .rco Filepath !! Module Filepath !! Known Use
|-
|-
! rowspan="2" | &lt;Pair key= !! colspan="9" | x-xmb/ !! colspan="3" | x-xcb/ !! colspan="15" | x-xmb/ !! x-chat/
| playlist_plugin || /dev_flash/vsh/resource/playlist_plugin.rco || /dev_flash/vsh/module/playlist_plugin.sprx ||
|-
|-
! <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>
| scenefolder_plugin || /dev_flash/vsh/resource/scenefolder_plugin.rco || /dev_flash/vsh/module/scenefolder_plugin.sprx ||
|-
|-
| action
| system_plugin || N/A || N/A ||
| {{Yes}} || {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}}
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "exec_game", etc... (see table below)
|-
|-
| bar_action
| xmb_plugin || N/A || N/A ||
| {{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
| explore_plugin || /dev_flash/vsh/resource/explore_plugin_full.rco || /dev_flash/vsh/module/explore_plugin.sprx || Used to stub XMB items in Kiosk(SEX/Shop) Firmware
| ? || ? || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}}
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "xcb://localhost/query?..."
|-
|-
| cf_connection
| game_plugin || /dev_flash/vsh/resource/game_plugin.rco  || /dev_flash/vsh/module/basic_plugins.sprx ||
| ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "xcb://localhost/query?..."
|-
|-
| ch_pos
| np_trophy_ingame || /dev_flash/vsh/resource/np_trophy_ingame.rco || /dev_flash/vsh/module/np_trophy_ingame.sprx ||
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "1"
|-
|-
| child
| gamedata_plugin || /dev_flash/vsh/resource/gamedata_plugin.rco || /dev_flash/vsh/module/gamedata_plugin.sprx ||
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{No}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "segment", "grid", "Video"
|-
|-
| content_id
| game_ext_plugin || /dev_flash/vsh/resource/gamedata_plugin.rco || /dev_flash/vsh/module/game_ext_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| "IP9100-NPIA00002_00-0000111122223333"
|-
|-
| content_info_pict
| premo_plugin || /dev_flash/vsh/resource/premo_plugin.rco || /dev_flash/vsh/module/premo_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "/dev_flash/vsh/resource/explore/icon/pstex01.png"
|-
|-
| content_info_pict_sd
| micon_lock_plugin || N/A || /dev_flash/vsh/module/micon_lock_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "/dev_flash/vsh/resource/explore/icon/pstex-sd.png"
|-
|-
| content_info_tex
| category_setting_plugin || /dev_flash/vsh/resource/category_setting_plugin.rco || /dev_flash/vsh/module/category_setting_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "msg_ps3_portal"
|-
|-
| content_info_title
| sysconf_plugin || /dev_flash/vsh/resource/sysconf_plugin.rco || /dev_flash/vsh/module/sysconf_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "msg_psstore_explanation_hd"
|-
|-
| content_info_title_sd
| netconf_plugin || /dev_flash/vsh/resource/netconf_plugin.rco || /dev_flash/vsh/module/netconf_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "msg_psstore_explanation_sd"
|-
|-
| content_name
| software_update_plugin || /dev_flash/vsh/resource/software_update_plugin.rco || /dev_flash/vsh/module/software_update_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| "msg_title_lwp", "msg_information_board"
|-
|-
| content_type
| bdp_plugin || /dev_flash/vsh/resource/bdp_plugin.rco || /dev_flash/vsh/module/bdp_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}}
| ?
| "game", "video", "tv"
|-
|-
| custom_priority
| bdp_disccheck_plugin || /dev_flash/vsh/resource/bdp_disccheck_plugin.rco || /dev_flash/vsh/module/bdp_disccheck_plugin.sprx ||
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "game=-80", "video=-80", "tv=-80"
|-
|-
| data_connection
| bdp_storage_plugin || /dev_flash/vsh/resource/bdp_storage_plugin.rco || /dev_flash/vsh/module/bdp_storage_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}}
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ?
| ?
| "xcb://localhost/query?..."
|-
|-
| device_path
| user_plugin || /dev_flash/vsh/resource/user_plugin.rco || /dev_flash/vsh/module/user_plugin.sprx ||
| {{yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "/dev_hdd0"
|-
|-
| fo_lbl_alpha
| friendim_plugin || N/A || /dev_flash/vsh/module/friendim_plugin.sprx ||
| {{Yes}} || {{Yes}} || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "0" - float number
|-
|-
| fo_lbl2_alpha
| friendml_plugin || /dev_flash/vsh/resource/friendml_plugin.rco || /dev_flash/vsh/module/friendml_plugin.sprx ||
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "0" - float number
|-
|-
| focus
| friendtrophy_plugin || /dev_flash/vsh/resource/friendtrophy_plugin.rco || /dev_flash/vsh/module/friendtrophy_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| "last"
|-
|-
| focus_detect
| profile_plugin || /dev_flash/vsh/resource/profile_plugin.rco || /dev_flash/vsh/module/profile_plugin.sprx ||
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "enable"
|-
|-
| focus_priority
| photoviewer_plugin || /dev_flash/vsh/resource/photoviewer_plugin.rco || /dev_flash/vsh/module/photoviewer_plugin.sprx ||
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "-5", "-4", "-3", "-2", "-1", "0", "1", "2", "3", "4", "5", "6". "-50", "-49", "-48", "-47", "-46". "-80"
|-
|-
| fs_path
| videoplayer_plugin || /dev_flash/vsh/resource/videoplayer_plugin.rco || /dev_flash/vsh/module/videoplayer_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "/dev_hdd0/widget/npdrm/informationboard"
|-
|-
| genre
| webbrowser_plugin || /dev_flash/vsh/resource/webbrowser_plugin.rco || /dev_flash/vsh/module/webbrowser_plugin.sprx || Can be used to create [[XMB XML Coding#A Web-Site link|website links]].
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || {{yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "BdData"
|-
|-
| icon
| webrender_plugin || /dev_flash/vsh/resource/webrender_plugin.rco || /dev_flash/vsh/module/webrender_plugin.sprx ||
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "/dev_hdd0/myicon.png"
|-
|-
| icon_fixed_height
| xai_plugin || /dev_flash/vsh/resource/xai_plugin.rco || /dev_flash/vsh/module/xai_plugin.sprx ||
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "181"
|-
|-
| icon_fixed_width
| audioplayer_plugin || /dev_flash/vsh/resource/audioplayer_plugin.rco || /dev_flash/vsh/module/audioplayer_plugin.sprx ||
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "181"
|-
|-
| icon_notation
| videodownloader_plugin || /dev_flash/vsh/resource/videodownloader_plugin.rco || /dev_flash/vsh/module/videodownloader_plugin.sprx ||
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || {{Yes}} || ?
| {{Yes}}
| "WNT_XmbItemAlbum", etc... (see table below)
|-
|-
| icon_rsc
| nas_plugin || /dev_flash/vsh/resource/nas_plugin.rco || /dev_flash/vsh/module/nas_plugin.sprx ||
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}} || ? || ? || ? || ? || {{Yes}} || {{Yes}} || ?
| {{Yes}}
| "tex_album_icon"
|-
|-
| id
| download_plugin || /dev_flash/vsh/resource/download_plugin.rco || /dev_flash/vsh/module/download_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ?
| ?
|-
|-
| info
| ps3_savedata_plugin || /dev_flash/vsh/resource/ps3_savedata_plugin.rco || /dev_flash/vsh/module/ps3_savedata_plugin.sprx ||
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || {{Yes}} || ? || ? ||  ? || ? || ? || ?
| ?
| "This is a cool plain text info string"
|-
|-
| info_rsc
| vmc_savedata_plugin || /dev_flash/vsh/resource/vmc_savedata_plugin.rco. || /dev_flash/vsh/module/vmc_savedata_plugin.sprx ||
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "item_tex_cam_icon"
|-
|-
| ingame
| thumthum_plugin || /dev_flash/vsh/resource/thumthum_plugin.rco || /dev_flash/vsh/module/thumthum_plugin.sprx ||
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{No}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "enable", "disable"
|-
|-
| instruction_rsc
| npsignin_plugin || /dev_flash/vsh/resource/npsignin_plugin.rco || /dev_flash/vsh/module/npsignin_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| "msg_lwp_explanation"
|-
|-
| item_type
| avc_plugin || /dev_flash/vsh/resource/avc_plugin.rco ||/dev_flash/vsh/module/avc_plugin.sprx ||
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "systop"
|-
|-
| lbl_half
| avc2_text_plugin || /dev_flash/vsh/resource/avc2_text_plugin.rco || /dev_flash/vsh/module/avc2_text_plugin.sprx ||
| {{No}} || ? || ? || {{No}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "1"
|-
|-
| logical_sceme
| sacd_plugin || /dev_flash/vsh/resource/sacd_plugin.rco || /dev_flash/vsh/module/sacd_plugin.sprx ||
| {{yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "Music", "Photo", "Video"
|-
|-
| mass_connection
| eula_cddb_plugin || /dev_flash/vsh/resource/eula_cddb_plugin.rco || /dev_flash/vsh/module/eula_cddb_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}}
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "xcb://localhost/query?..."
|-
|-
| mode
| strviewer_plugin || /dev_flash/vsh/resource/strviewer_plugin.rco. || /dev_flash/vsh/module/strviewer_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || {{yes}} || {{yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ?
| "common", "mgmt", "playlistmgmt", "playlistmgmtpsp", "playlistempty"
|-
|-
| module_action
| edy_plugin || /dev_flash/vsh/resource/edy_plugin.rco || /dev_flash/vsh/module/edy_plugin.sprx ||
| {{No}} || ? || ? || {{No}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "NotifyErrorNoExecute", "http://m.facebook.com", 0, 1
|-
|-
| module_name
| print_plugin || /dev_flash/vsh/resource/print_plugin.rco || /dev_flash/vsh/module/print_plugin.sprx ||
| {{No}} || ? || ? || {{No}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "explore_plugin", "webbrowser_plugin"
|-
|-
| ms_connection
| newstore_plugin || /dev_flash/vsh/resource/newstore_plugin.rco || /dev_flash/vsh/module/newstore_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}}
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "xcb://localhost/query?..."
|-
|-
| name
| deviceconf_plugin || /dev_flash/vsh/resource/deviceconf_plugin.rco || /dev_flash/vsh/module/deviceconf_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "Flash Player[test.swf]"
|-
|-
| path
| dlna_plugin || /dev_flash/vsh/resource/dlna_plugin.rco || /dev_flash/vsh/module/dlna_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ?
| "flash0/vsh/resource/flash/test.swf"
|-
|-
| pkg_src
| np_trophy_plugin || /dev_flash/vsh/resource/np_trophy_plugin.rco || /dev_flash/vsh/module/np_trophy_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| "http://dL-REGION01.ps3.download.playstation.net/.../lwp.pkg"
|-
|-
| pkg_src_qa
| kensaku_plugin || /dev_flash/vsh/resource/kensaku_plugin.rco || /dev_flash/vsh/module/kensaku_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| ?
|-
|-
| prod_pic_path
| regcam_plugin || /dev_flash/vsh/resource/regcam_plugin.rco || /dev_flash/vsh/module/regcam_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| "/dev_flash/vsh/resource/explore/icon/fah-xmb.png"
|-
|-
| sd_connection
| idle_plugin || /dev_flash/vsh/resource/idle_plugin.rco || /dev_flash/vsh/module/idle_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}}
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "xcb://localhost/query?..."
|-
|-
| start_factory_play
| filecopy_plugin || /dev_flash/vsh/resource/filecopy_plugin.rco || /dev_flash/vsh/module/filecopy_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "disable"
|-
|-
| str_noitem
| wboard_plugin || /dev_flash/vsh/resource/wboard_plugin.rco || /dev_flash/vsh/module/wboard_plugin.sprx ||
| {{Yes}} || ? || ? || {{No}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{No}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "msg_error_no_file", any message text from explore_plugin rco works
|-
|-
| title
| checker_plugin || /dev_flash/vsh/resource/checker_plugin.rco || /dev_flash/vsh/module/checker_plugin.sprx ||
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || ?
| ?
| "Debug Settings"
|-
|-
| title_fo
| hknw_plugin || /dev_flash/vsh/resource/hknw_plugin.rco || /dev_flash/vsh/module/hknw_plugin.sprx ||
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "1"
|-
|-
| title_rsc
| poweroff_plugin || /dev_flash/vsh/resource/poweroff_plugin.rco || /dev_flash/vsh/module/poweroff_plugin.sprx ||
| {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || {{Yes}} || ? || {{Yes}} || {{Yes}} || ?
| {{Yes}}
| "msg_tool_app_home_ps3_game"
|-
|-
| type
| eula_hcopy_plugin || /dev_flash/vsh/resource/eula_hcopy_plugin.rco || /dev_flash/vsh/module/eula_hcopy_plugin.sprx ||
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || {{yes}} || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}} || ? || ? || ? || ?
| ?
| "photo", "music", "video"
|-
|-
| vmc
| videoeditor_plugin || /dev_flash/vsh/resource/videoeditor_plugin.rco || /dev_flash/vsh/module/videoeditor_plugin.sprx ||
| ? || {{Yes}} || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "promote"
|-
|-
|}
|}


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


----
=== 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.


'''action'''.
1/ First create the root XMB item which acts as a folder
{| class="wikitable"
{{Boxcode|content=<syntaxhighlight lang="xml">
|+action
<View id="XMB_Folder_1">
! action !! usage
<Attributes>
|-
<Table key="xmb_folder">
| exec_game || ps3 gamedata
<Pair key="icon_rsc"><String>tex_album_icon</String></Pair>
|-
<Pair key="title"><String>XMB Menu Item</String></Pair>
| exec_vmcsavedata || ps1/ps2 savedata
<Pair key="info"><String>This will subdivide into 3 items :)</String></Pair>
|-
<Pair key="child"><String>segment</String></Pair>
| exec_ps3savedata || ps3 savedata
</Table>
|-
</Attributes>
| exec_pspsavedata || psp savedata
<Items>
|-
<Query class="type:x-xmb/folder-pixmap"  key="xmb_folder" attr="xmb_folder" src="#XMB_Folder_1_items" />
| exec_psp2appdata || psvita utility
</Items>
|-
</View>
| exec_sdps2 || ps2 savedata
</syntaxhighlight>}}
|}
Important Notes:
* I've used "''<Query class="type:x-xmb/folder-pixmap"''" for <Items> sub-entry type as it is good for displaying menus.
* The 'key' in the <Items> sub-entry (xmb_folder) is the same as the table key in Attibutes, so those attributes are assigned to the xmb_folder <Items> sub-entry.
* the 'src' is pointing to 'XMB_Folder_1_items' - 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


'''child'''. Tells the PS3 what action should be taken when the XMB item is selected.
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 contents linker(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):


'''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)
{{Boxcode|content=<syntaxhighlight lang="xml">
<View id="XMB_Folder_1_items">
<Items>
<Query class="type:x-xmb/folder-pixmap"  key="xmb_folder" attr="xmb_folder" src="#XMB_Folder_1_contents" />
</Items>
</View>
</syntaxhighlight>}}
Important Notes:
* This has no attributes as it simply acts as a contents container/linker


'''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.
Now to create the XMB .xml entry which holds the sub menu items:


'''icon'''. Displays a .png image from an absolute path as XMB icon. Cannot be used at the same time as 'icon_rsc'
{{Boxcode|content=<syntaxhighlight lang="xml">
 
<View id="XMB_Folder_1_contents">
'''icon_notation'''. Tells the XMB how to display the icon layout (transparency etc). Can in some cases override 'icon' or 'icon_rsc'
<Attributes>
 
<Table key="xmb_subitem_1">
{| class="wikitable"
<Pair key="icon_rsc"><String>tex_album_icon</String></Pair>
|+icon_notation
<Pair key="title"><String>XMB Sub Menu Item</String></Pair>
! icon_notation !! Use !! Notes
<Pair key="info"><String>Dummy Sub item 1</String></Pair>
|-
<Pair key="str_noitem"><String>msg_error_no_gamedata</String></Pair>
| WNT_XmbItemAlbum || || overrides 'icon_rsc'
</Table>
|-
<Table key="xmb_subitem_2">
| WNT_XmbItemBrowser || || overrides 'icon_rsc'
<Pair key="icon_rsc"><String>tex_album_icon</String></Pair>
|-
<Pair key="title"><String>XMB Sub Menu Item</String></Pair>
| WNT_XmbItemChat || ||
<Pair key="info"><String>Dummy Sub item 2</String></Pair>
|-
<Pair key="str_noitem"><String>msg_error_no_gamedata</String></Pair>
| WNT_XmbItemChatRoomText || ||
</Table>
|-
<Table key="xmb_subitem_3">
| WNT_XmbItemFriendAccountManagement || ||
<Pair key="icon_rsc"><String>tex_album_icon</String></Pair>
|-
<Pair key="title"><String>XMB Sub Menu Item</String></Pair>
| WNT_XmbItemFriendAdd || ||
<Pair key="info"><String>Dummy Sub item 3</String></Pair>
|-
<Pair key="str_noitem"><String>msg_error_no_gamedata</String></Pair>
| WNT_XmbItemFriendBlock || ||
</Table>
|-
</Attributes>
| WNT_XmbItemFriendMessageBox || ||
<Items>
|-
<Query class="type:x-xmb/folder-pixmap"  key="xmb_subitem_1" attr="xmb_subitem_1" />
| WNT_XmbItemFriendMessageBoxReceived || ||
<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" />
| WNT_XmbItemFriendMessageBoxSent || ||
</Items>
|-
</View>
| WNT_XmbItemFriendMessageCreate || ||
</syntaxhighlight>}}
|-
| 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'
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 keys from the <Items> sub entries match the Table keys from the <Attributes> sub entries
* The <Attributes> and the <Items> sub entries do not have to be in the same order to work, they just have to have their 'key' in common


'''info'''. Displays XMB title information from plain text input. This is shown below the 'title' or 'title_rsc' entry in a smaller font
=== 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 '[[XMB XML Coding#Module-Action|module-action]]' function. Example:
'''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'''.
{| class="wikitable"
|+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==
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}}


{{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>}}


{{File Formats}}<noinclude>[[Category:Main]]</noinclude>
*Important Notes:
**The 'Attributes' for this Web-Link follow, 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 'key' and 'attr' in the Items sub-entry are 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.
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)