XMBML Coding: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
m (→‎Attributes tables contents (Pair keys): examples moved to the table)
Line 299: Line 299:
{| 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
! <Attributes> !! colspan="28" | <Items>
! <Attributes> !! colspan="28" | <Items> !! rowspan="4" | Examples
|-
|-
! <Table !! colspan="12" | <Query class="type: !! colspan="16" | <Item class="type:
! <Table !! colspan="12" | <Query class="type: !! colspan="16" | <Item class="type:
Line 312: Line 312:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "exec_game", etc... (see table below)
|-
|-
| bar_action
| bar_action
Line 318: Line 319:
| {{Yes}} || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "none", "hide"
|-
|-
| cf_connection
| cf_connection
Line 324: Line 326:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "xcb://localhost/query?..."
|-
|-
| ch_pos
| ch_pos
Line 330: Line 333:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "1"
|-
|-
| child
| child
Line 336: Line 340:
| {{No}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{No}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "segment"
|-
|-
| content_id
| content_id
Line 342: Line 347:
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| ?
| "IP9100-NPIA00002_00-0000111122223333"
|-
|-
| content_info_pict
| content_info_pict
Line 348: Line 354:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "/dev_flash/vsh/resource/explore/icon/pstex01.png"
|-
|-
| content_info_pict_sd
| content_info_pict_sd
Line 354: Line 361:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "/dev_flash/vsh/resource/explore/icon/pstex-sd.png"
|-
|-
| content_info_tex
| content_info_tex
Line 360: Line 368:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "msg_ps3_portal"
|-
|-
| content_info_title
| content_info_title
Line 366: Line 375:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "msg_psstore_explanation_hd"
|-
|-
| content_info_title_sd
| content_info_title_sd
Line 372: Line 382:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "msg_psstore_explanation_sd"
|-
|-
| content_name
| content_name
Line 378: Line 389:
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| ?
| "msg_title_lwp", "msg_information_board"
|-
|-
| content_type
| content_type
Line 384: Line 396:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}}
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}}
| ?
| ?
| "game"
|-
|-
| custom_priority
| custom_priority
Line 390: Line 403:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "game=-80", "video=-80"
|-
|-
| data_connection
| data_connection
Line 396: Line 410:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ?
| ?
| ?
| "xcb://localhost/query?..."
|-
|-
| device_path
| device_path
Line 402: Line 417:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "/dev_hdd0"
|-
|-
| fo_lbl_alpha
| fo_lbl_alpha
Line 408: Line 424:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "0"
|-
|-
| fo_lbl2_alpha
| fo_lbl2_alpha
Line 414: Line 431:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "0"
|-
|-
| focus
| focus
Line 420: Line 438:
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| ?
| "last"
|-
|-
| focus_detect
| focus_detect
Line 426: Line 445:
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "enable"
|-
|-
| focus_priority
| focus_priority
Line 432: Line 452:
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "0", "1", "2", "3", "4", "5", "6", "-46", "-47", "-48", "-49", "-50"
|-
|-
| fs_path
| fs_path
Line 438: Line 459:
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "/dev_hdd0/widget/npdrm/informationboard"
|-
|-
| genre
| genre
Line 444: Line 466:
| ? || ? || {{yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || {{yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "BdData"
|-
|-
| icon
| icon
Line 450: Line 473:
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "/dev_hdd0/myicon.png"
|-
|-
| icon_notation
| icon_notation
Line 456: Line 480:
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || {{Yes}} || ?
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || {{Yes}} || ?
| {{Yes}}
| {{Yes}}
| "WNT_XmbItemAlbum", etc... (see table below)
|-
|-
| icon_rsc
| icon_rsc
Line 462: Line 487:
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}} || ? || ? || ? || ? || {{Yes}} || {{Yes}} || ?
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}} || ? || ? || ? || ? || {{Yes}} || {{Yes}} || ?
| {{Yes}}
| {{Yes}}
| "tex_album_icon"
|-
|-
| id
| id
Line 467: Line 493:
| ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ?
| ?
| ?
|-
|-
Line 474: Line 501:
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || {{Yes}} || ? || ? ||  ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || {{Yes}} || ? || ? ||  ? || ? || ? || ?
| ?
| ?
| "This is a cool plain text info string"
|-
|-
| info_rsc
| info_rsc
Line 480: Line 508:
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "item_tex_cam_icon"
|-
|-
| ingame
| ingame
Line 486: Line 515:
| {{No}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{No}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "enable", "disable"
|-
|-
| instruction_rsc
| instruction_rsc
Line 492: Line 522:
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| ?
| "msg_lwp_explanation"
|-
|-
| item_type
| item_type
Line 498: Line 529:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "systop"
|-
|-
| lbl_half
| lbl_half
Line 504: Line 536:
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "1"
|-
|-
| logical_sceme
| logical_sceme
Line 510: Line 543:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "Music", "Photo", "Video"
|-
|-
| mass_connection
| mass_connection
Line 516: Line 550:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "xcb://localhost/query?..."
|-
|-
| mode
| mode
Line 522: Line 557:
| ? || ? || {{yes}} || {{yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || {{yes}} || {{yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ?
| ?
| "common", "mgmt", "playlistmgmt", "playlistmgmtpsp", "playlistempty"
|-
|-
| module_action
| module_action
Line 528: Line 564:
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "NotifyErrorNoExecute"
|-
|-
| module_name
| module_name
Line 534: Line 571:
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "explore_plugin", "webbrowser_plugin"
|-
|-
| ms_connection
| ms_connection
Line 540: Line 578:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "xcb://localhost/query?..."
|-
|-
| path
| path
Line 545: Line 584:
| ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ?
| ?
| ?
| ?
|-
|-
Line 552: Line 592:
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| ?
| "http://dL-REGION01.ps3.download.playstation.net/.../lwp.pkg"
|-
|-
| pkg_src_qa
| pkg_src_qa
Line 557: Line 598:
| ? || ? || ?
| ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| ?
| ?
|-
|-
Line 564: Line 606:
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || {{Yes}} || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ?
| ?
| ?
| "/dev_flash/vsh/resource/explore/icon/fah-xmb.png"
|-
|-
| sd_connection
| sd_connection
Line 570: Line 613:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "xcb://localhost/query?..."
|-
|-
| start_factory_play
| start_factory_play
Line 576: Line 620:
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "disable"
|-
|-
| str_noitem
| str_noitem
Line 582: Line 627:
| {{No}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| {{No}} || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "msg_error_no_file"
|-
|-
| title
| title
Line 588: Line 634:
| {{Yes}} || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || ?
| {{Yes}} || ? || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "Debug Settings"
|-
|-
| title_fo
| title_fo
Line 594: Line 641:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "1"
|-
|-
| title_rsc
| title_rsc
Line 600: Line 648:
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || {{Yes}} || ? || {{Yes}} || {{Yes}} || ?
| {{Yes}} || ? || ? || ? || ? || ? || {{Yes}} || ? || ? || ? || {{Yes}} || ? || {{Yes}} || {{Yes}} || ?
| {{Yes}}
| {{Yes}}
| "msg_tool_app_home_ps3_game"
|-
|-
| type
| type
Line 606: Line 655:
| ? || ? || ? || {{yes}} || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}} || ? || ? || ? || ?
| ? || ? || ? || {{yes}} || ? || ? || ? || ? || ? || {{Yes}} || {{Yes}} || ? || ? || ? || ?
| ?
| ?
| "photo", "music", "video"
|-
|-
| vmc
| vmc
Line 612: Line 662:
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ? || ?
| ?
| ?
| "promote"
|-
|-
|}
|}

Revision as of 00:32, 11 October 2014

This page will outline the logic behind XMB .xml configuration files.

Basic Structure

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"

Code Sample
  • The whole 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 types (Target ID's, and segment ID's)

Identifyers made of UTF-8 characters and without spaces. There are two types: Target ID's, and segment ID's

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

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/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 VSH 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/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
Unkown usage 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/unknown ? ? ? 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 tables contents (Pair keys)

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 ? ? ? ? ? ? ? ? "none", "hide"
cf_connection ? ? ? ? ? ? ? Yes Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "xcb://localhost/query?..."
ch_pos Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "1"
child Yes ? ? Yes ? ? ? ? ? ? ? ? No ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "segment"
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"
custom_priority Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "game=-80", "video=-80"
data_connection ? ? ? ? ? ? ? Yes Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? ? "xcb://localhost/query?..."
device_path Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "/dev_hdd0"
fo_lbl_alpha Yes Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "0"
fo_lbl2_alpha Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "0"
focus ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? Yes ? ? ? ? ? ? ? "last"
focus_detect Yes ? ? Yes ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "enable"
focus_priority Yes ? ? Yes ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "0", "1", "2", "3", "4", "5", "6", "-46", "-47", "-48", "-49", "-50"
fs_path ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? ? "/dev_hdd0/widget/npdrm/informationboard"
genre ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? "BdData"
icon Yes ? ? Yes ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "/dev_hdd0/myicon.png"
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"
module_name No ? ? No ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "explore_plugin", "webbrowser_plugin"
ms_connection ? ? ? ? ? ? ? Yes Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "xcb://localhost/query?..."
path ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ?
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"
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. Example: "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)

bar_action Example: "none", "hide"

cf_connection. Example: xcb://localhost/query?... (too long for wiki)

ch_pos. Example: "1"

child Use: tells the PS3 what action should be taken when the XMB item is selected. Example: "segment"

content_id. Example: IP9100-NPIA00002_00-0000111122223333

content_info_pict. Example: /dev_flash/vsh/resource/explore/icon/pstex01.png

content_info_pict_sd. Example: /dev_flash/vsh/resource/explore/icon/pstex-sd.png

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"

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

fs_path. Example: "/dev_hdd0/widget/npdrm/informationboard"

genre. Example: BdData

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

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

ingame Use: tells the PS3 if the item can be accessed ingame. Example: "enable"/"disable"

instruction_rsc. Example: msg_lwp_explanation

item_type. Example: "systop"

lbl_half Example: "1"

logical_sceme. Example: Music, Photo, Video

mass_connection. Example: xcb://localhost/query?... (too long for wiki)

mode. Example: common, mgmt, playlistmgmt, playlistmgmtpsp, playlistempty

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"

module_name Use: the name of the module to be used from this list. Example: "webbrowser_plugin"/"explore_plugin"

ms_connection. Example: xcb://localhost/query?... (too long for wiki)

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

Code Sample

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 'attr' 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_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):

Code Sample

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:

Code Sample

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 <attr> from the <Items> sub entries matches 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

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 'module-action' function. Example:

Code Sample
  • 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.