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


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


Line 10: 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 22: 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 28: Line 28:
</syntaxhighlight>}}
</syntaxhighlight>}}


*The contents of the .xml file can be identifyed by the &lt;View id&gt; and &lt;key&gt; this way:
*The whole 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"


{{Boxcode|code=<syntaxhighlight lang="xml">
=== View id types (Target ID's, and segment ID's) ===
<View id="root">
Identifyers made of UTF-8 characters and without spaces. There are two types: Target ID's, and segment ID's
<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


*'''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"'''
*[[Target ID]]'s 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#XMB_Configuration_Files|XMB Configuration Files]]
**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
**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
Line 63: Line 45:
**Is posible to load the "root" view IDs of other file (e.g: '''src="xmb://localhost/%flash/xmb/category_user.xml#root"''')
**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) ===
==== Items tables contents (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 72: Line 54:
! Query classes x-xmb !! <key> !! <attr> !! <src> !! Remarks
! 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 [[XMB modding|here]]
|-
| <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/'''xmlmcutility'''" || {{Yes}} || {{Yes}} || {{Yes}} || PS1 and PS2 virtual memory card utility
Line 102: Line 82:
! 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 [[XMBML module-action]] page
| <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/'''vmc-new'''" || {{Yes}} || {{Yes}} || {{No}} ||  
| <Item class="type:x-xmb/'''vmc-new'''" || {{Yes}} || {{Yes}} || {{No}} ||  
Line 109: Line 89:
|-
|-
| <Item class="type:x-xmb/'''xmleditingvideo'''" || {{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/'''xmlgameexit'''" || {{Yes}} || {{No}} || {{No}} ||  
Line 148: Line 126:
| <Item class="type:x-chat/'''xmlchatroom-manager'''" || {{Yes}} || {{Yes}} || {{No}} ||  
| <Item class="type:x-chat/'''xmlchatroom-manager'''" || {{Yes}} || {{Yes}} || {{No}} ||  
|-
|-
|}
! Unkown usage classes !! <key> !! <attr> !! <src> !! Remarks
 
<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/'''achbase''' || ? || ? || ? || found inside explore_plugin.sprx
Line 286: Line 259:
|-
|-
| x-host/'''mount-info''' || ? || ? || ? || found inside explore_plugin.sprx
| x-host/'''mount-info''' || ? || ? || ? || found inside explore_plugin.sprx
|-
| x-host/'''unknown''' || ? || ? || ? || found inside explore_plugin.sprx
|-
|-
| x-host/'''directory''' || ? || ? || ? || found inside explore_plugin.sprx
| x-host/'''directory''' || ? || ? || ? || found inside explore_plugin.sprx
Line 304: Line 279:
|-
|-
|}
|}
</div>


*'''&lt;key&gt;'''
*'''&lt;key&gt;'''
Line 320: Line 294:
**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 (Pairs) ===
==== Attributes tables contents (Pair keys) ====
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" style="font-size:x-small;"
{| class="wikitable" style="font-size:x-small;"
|+Attributes used in official XMB, ordered by classes
|+Attributes used in official XMB, ordered by classes
! &lt;Attributes&gt; !! colspan="28" | &lt;Items&gt; !! rowspan="4" | Examples
! &lt;Attributes&gt; !! colspan="28" | &lt;Items&gt;
|-
|-
! &lt;Table !! colspan="12" | &lt;Query class="type: !! colspan="16" | &lt;Item class="type:
! &lt;Table !! colspan="12" | &lt;Query class="type: !! colspan="16" | &lt;Item class="type:
Line 338: Line 312:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "exec_game", etc... (see table below)
|-
|-
| bar_action
| bar_action
| {{No}} || ? || ? || {{No}} || ? || ? || ? || ? || ?
| {{No}} || ? || ? || {{No}} || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || {{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
| cf_connection
| ? || ? || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}}
| ? || ? || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}}
| ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "xcb://localhost/query?..."
|-
| cf_connection
| ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "xcb://localhost/query?..."
|-
|-
| ch_pos
| ch_pos
Line 366: Line 330:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "1"
|-
|-
| child
| child
Line 373: Line 336:
| {{No}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{No}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "segment", "grid", "Video"
|-
|-
| content_id
| content_id
Line 380: Line 342:
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| ?
| "IP9100-NPIA00002_00-0000111122223333"
|-
|-
| content_info_pict
| content_info_pict
Line 387: Line 348:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "/dev_flash/vsh/resource/explore/icon/pstex01.png"
|-
|-
| content_info_pict_sd
| content_info_pict_sd
Line 394: Line 354:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "/dev_flash/vsh/resource/explore/icon/pstex-sd.png"
|-
|-
| content_info_tex
| content_info_tex
Line 401: Line 360:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "msg_ps3_portal"
|-
|-
| content_info_title
| content_info_title
Line 408: Line 366:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "msg_psstore_explanation_hd"
|-
|-
| content_info_title_sd
| content_info_title_sd
Line 415: Line 372:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "msg_psstore_explanation_sd"
|-
|-
| content_name
| content_name
Line 422: Line 378:
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| ?
| "msg_title_lwp", "msg_information_board"
|-
|-
| content_type
| content_type
Line 429: Line 384:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}}
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}}
| ?
| ?
| "game", "video", "tv"
|-
|-
| custom_priority
| custom_priority
Line 436: Line 390:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "game=-80", "video=-80", "tv=-80"
|-
|-
| data_connection
| data_connection
Line 443: Line 396:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ?
| ?
| ?
| "xcb://localhost/query?..."
|-
|-
| device_path
| device_path
Line 450: Line 402:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "/dev_hdd0"
|-
|-
| fo_lbl_alpha
| fo_lbl_alpha
Line 457: Line 408:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "0" - float number
|-
|-
| fo_lbl2_alpha
| fo_lbl2_alpha
Line 464: Line 414:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "0" - float number
|-
|-
| focus
| focus
Line 471: Line 420:
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| ?
| "last"
|-
|-
| focus_detect
| focus_detect
Line 478: Line 426:
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "enable"
|-
|-
| focus_priority
| focus_priority
Line 485: Line 432:
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "-5", "-4", "-3", "-2", "-1", "0", "1", "2", "3", "4", "5", "6". "-50", "-49", "-48", "-47", "-46". "-80"
|-
|-
| fs_path
| fs_path
Line 492: Line 438:
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "/dev_hdd0/widget/npdrm/informationboard"
|-
|-
| genre
| genre
Line 499: Line 444:
| ? || ? || {{yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || {{yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "BdData"
|-
|-
| icon
| icon
Line 506: Line 450:
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "/dev_hdd0/myicon.png"
|-
| icon_fixed_height
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "181"
|-
| icon_fixed_width
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "181"
|-
|-
| icon_notation
| icon_notation
Line 527: Line 456:
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || {{Yes}} || ?
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || {{Yes}} || ?
| {{Yes}}
| {{Yes}}
| "WNT_XmbItemAlbum", etc... (see table below)
|-
|-
| icon_rsc
| icon_rsc
Line 534: Line 462:
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}} || ? || ? || ? || ? || {{Yes}} || {{Yes}} || ?
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}} || ? || ? || ? || ? || {{Yes}} || {{Yes}} || ?
| {{Yes}}
| {{Yes}}
| "tex_album_icon"
|-
|-
| id
| id
Line 540: Line 467:
| ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ?
| ?
| ?
|-
|-
Line 548: Line 474:
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || {{Yes}} || ? || ? ||  ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || {{Yes}} || ? || ? ||  ? || ? || ? || ?
| ?
| ?
| "This is a cool plain text info string"
|-
|-
| info_rsc
| info_rsc
Line 555: Line 480:
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "item_tex_cam_icon"
|-
|-
| ingame
| ingame
Line 562: Line 486:
| {{No}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{No}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "enable", "disable"
|-
|-
| instruction_rsc
| instruction_rsc
Line 569: Line 492:
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| ?
| "msg_lwp_explanation"
|-
|-
| item_type
| item_type
Line 576: Line 498:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "systop"
|-
|-
| lbl_half
| lbl_half
Line 583: Line 504:
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "1"
|-
|-
| logical_sceme
| logical_sceme
Line 590: Line 510:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "Music", "Photo", "Video"
|-
|-
| mass_connection
| mass_connection
Line 597: Line 516:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "xcb://localhost/query?..."
|-
|-
| mode
| mode
Line 604: Line 522:
| ? || ? || {{yes}} || {{yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || {{yes}} || {{yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ?
| ?
| "common", "mgmt", "playlistmgmt", "playlistmgmtpsp", "playlistempty"
|-
|-
| module_action
| module_action
Line 611: Line 528:
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "NotifyErrorNoExecute", "http://m.facebook.com", 0, 1
|-
|-
| module_name
| module_name
Line 618: Line 534:
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "explore_plugin", "webbrowser_plugin"
|-
|-
| ms_connection
| ms_connection
Line 625: Line 540:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "xcb://localhost/query?..."
|-
| name
| ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| "Flash Player[test.swf]"
|-
|-
| path
| path
Line 639: Line 546:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ?
| ?
| "flash0/vsh/resource/flash/test.swf"
|-
|-
| pkg_src
| pkg_src
Line 646: Line 552:
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| ?
| "http://dL-REGION01.ps3.download.playstation.net/.../lwp.pkg"
|-
|-
| pkg_src_qa
| pkg_src_qa
Line 652: Line 557:
| ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| ?
| ?
|-
|-
Line 660: Line 564:
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| ?
| "/dev_flash/vsh/resource/explore/icon/fah-xmb.png"
|-
|-
| sd_connection
| sd_connection
Line 667: Line 570:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "xcb://localhost/query?..."
|-
|-
| start_factory_play
| start_factory_play
Line 674: Line 576:
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "disable"
|-
|-
| str_noitem
| str_noitem
Line 681: Line 582:
| {{No}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{No}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "msg_error_no_file", any message text from explore_plugin rco works
|-
|-
| title
| title
Line 688: Line 588:
| {{Yes}} || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "Debug Settings"
|-
|-
| title_fo
| title_fo
Line 695: Line 594:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "1"
|-
|-
| title_rsc
| title_rsc
Line 702: Line 600:
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || {{Yes}} || ? || {{Yes}} || {{Yes}} || ?
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || {{Yes}} || ? || {{Yes}} || {{Yes}} || ?
| {{Yes}}
| {{Yes}}
| "msg_tool_app_home_ps3_game"
|-
|-
| type
| type
Line 709: Line 606:
| ? || ? || ? || {{yes}} || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}} || ? || ? || ? || ?
| ? || ? || ? || {{yes}} || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}} || ? || ? || ? || ?
| ?
| ?
| "photo", "music", "video"
|-
|-
| vmc
| vmc
Line 716: Line 612:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "promote"
|-
|-
|}
|}
Line 726: Line 621:
----
----


'''action'''.
'''action'''. Example: "exec_game" (ps3 gamedata), "exec_vmcsavedata" (ps1/ps2 savedata), "exec_ps3savedata" (ps3 savedata), "exec_pspsavedata" (psp savedata)
{| class="wikitable"
 
|+action
'''bar_action''' Example: "none", "hide"
! action !! usage
 
|-
'''cf_connection'''. Example: xcb://localhost/query?... (too long for wiki)
| exec_game || ps3 gamedata
 
|-
'''ch_pos'''. Example: "1"  
| exec_vmcsavedata || ps1/ps2 savedata
 
|-
'''child''' Use: tells the PS3 what action should be taken when the XMB item is selected. Example: "segment"
| exec_ps3savedata || ps3 savedata
 
|-
'''content_id'''. Example: IP9100-NPIA00002_00-0000111122223333
| exec_pspsavedata || psp savedata
 
|-
'''content_info_pict'''. Example: /dev_flash/vsh/resource/explore/icon/pstex01.png
| exec_psp2appdata || psvita utility
 
|-
'''content_info_pict_sd'''. Example: /dev_flash/vsh/resource/explore/icon/pstex-sd.png
| exec_sdps2 || ps2 savedata
 
|}
'''content_info_text'''. Example: msg_ps3_portal
 
'''content_info_title'''. Example: msg_psstore_explanation_hd
 
'''content_info_title_sd'''. Example: msg_psstore_explanation_sd
 
'''content_name'''. Example: "msg_title_lwp", "msg_information_board"
 
'''content_type'''. Example: game
 
'''custom_priority'''. Example: "game=-80", "video=-80"
 
'''data_connection'''. Example: xcb://localhost/query?... (too long for wiki)
 
'''device_path'''. Example: /dev_hdd0
 
'''fo_lbl_alpha'''. Example: "0"
 
'''fo_lbl2_alpha'''. Example: "0"
 
'''focus'''. Example: last
 
'''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). Example: "enable"


'''child'''. Tells the PS3 what action should be taken when the XMB item is selected.
'''focus_priority''' 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, 0, 1, 2, 3, 4, 5, 6, -46, -47. -48, -49, -50


'''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)
'''fs_path'''. Example: "/dev_hdd0/widget/npdrm/informationboard"


'''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.
'''genre'''. Example: BdData


'''icon'''. Displays a .png image from an absolute path as XMB icon. Cannot be used at the same time as 'icon_rsc'
'''icon''' Use: displays a .png image from an absolute path as XMB icon. Cannot be used at the same time as 'icon_rsc'. Example: "/dev_hdd0/myicon.png"


'''icon_notation'''. Tells the XMB how to display the icon layout (transparency etc). Can in some cases override 'icon' or 'icon_rsc'
'''icon_notation''' 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" <!--// doesnt seems correct, the transparency effect and the override of other "pair keys" values looks a consequence of the load of some specific settings associated with every "icon notation"  //-->


{| class="wikitable"
{| class="wikitable"
|+icon_notation
|-
! icon_notation !! Use !! Notes
! icon_notation !! Use !! Notes
|-
|-
Line 816: Line 733:
|}
|}


'''icon_rsc'''. Displays an image from a .rco as XMB icon. Cannot be used at the same time as 'icon'
'''icon_rsc''' Use: displays a .rco referable image as XMB icon. Cannot be used at the same time as 'icon'. Example: "tex_album_icon"
 
'''id'''. Example:
 
'''info''' 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", "net_package_install_with_eula"
 
'''info_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'''. Displays XMB title information from plain text input. 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. Example: "enable"/"disable"


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


'''ingame''' Use: tells the PS3 if the item can be accessed ingame
'''item_type'''. Example: "systop"


'''mode'''.
'''lbl_half''' Example: "1"
{| class="wikitable"
 
|+mode
'''logical_sceme'''. Example: Music, Photo, Video
! mode !! usage
 
|-
'''mass_connection'''. Example: xcb://localhost/query?... (too long for wiki)
| common ||
 
|-
'''mode'''. Example: common, mgmt, playlistmgmt, playlistmgmtpsp, playlistempty
| mgmt ||
 
|-
'''module_action''' Use: what the module is commanded to use. The example commands are in respect the above modules. Example: "http://m.facebook.com"/"NotifyErrorNoExecute"
| playlistmgmt ||
 
|-
'''module_name''' Use: the name of the module to be used from this [[VSH Module-Action|list]]. Example: "webbrowser_plugin"/"explore_plugin"
| playlistmgmtpsp ||
 
|-
'''ms_connection'''. Example: xcb://localhost/query?... (too long for wiki)
| playlistempty ||
 
|}
'''path'''. Example:
 
'''pkg_src'''. Example: http://dL-REGION01.ps3.download.playstation.net/download/ps3/L-REGION/lwp/lwp.pkg
 
'''prod_pict_path'''. Example: "/dev_flash/vsh/resource/explore/icon/fah-xmb.png", "/dev_hdd0/widget/npdrm/informationboard/Icon.png"
 
'''sd_connection'''. Example: xcb://localhost/query?... (too long for wiki)
 
'''start_factor_play'''. Example: disable
 
'''str_noitem''' 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"
 
'''title''' Use: displays XMB main title from plain text input. Cannot be used at the same time as 'title_rsc'. Example: "Debug Settings"
 
'''title_fo'''. Example: 1
 
'''title_rsc''' 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"
 
'''type'''. Example: photo, music, video
 
'''vmc'''. Example: promote
 
== 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


'''module_action'''. Is the commanded to be used by the module
Now to create the XMB .xml entry which holds the sub menu items:


'''module_name''' Use: the name of the module to be used from the [[XMBML module-action]] list
{{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>}}


'''str_noitem'''. Displays information from relevant .rco when no data/XMB items are found
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


'''title'''. Displays XMB main title from plain text input. Cannot be used at the same time as 'title_rsc'
=== 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:


'''title_rsc'''. Displays XMB main title text referred from relevant .rco. Cannot be used at the same time as 'title'
{{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>}}


==Loading resource files from the associated .rco==
*Important Notes:
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)
**The 'Attributes' for this Web-Link follows the Attribute rules for a 'module-action' entry. 
{{RCO TOC reference types}}
**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.




{{File Formats}}<noinclude>[[Category:Main]]</noinclude>
{{System Firmware}}<noinclude>[[Category:Main]]</noinclude>
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)