دسته ها ممکن است در دسته های دیگر تودرتو باشند. در اینجا دو دسته سطح بالا ("Core" و "Custom") وجود دارد که دسته دوم شامل دو زیرمجموعه است که هر کدام شامل بلوک هستند:
توجه داشته باشید که این امکان وجود دارد که یک دسته دارای هر دو زیر شاخه و بلوک باشد. در مثال زیر، Custom
دارای دو زیرمجموعه ( Move
و Turn
) و همچنین یک بلوک مخصوص به خود ( start
) است.
JSON
{
"kind": "categoryToolbox",
"contents": [
{
"kind": "category",
"name": "Core",
"contents": [
{
"kind": "block",
"type": "controls_if"
},
{
"kind": "block",
"type": "logic_compare"
},
]
},
{
"kind": "category",
"name": "Custom",
"contents": [
{
"kind": "block",
"type": "start"
},
{
"kind": "category",
"name": "Move",
"contents": [
{
"kind": "block",
"type": "move_forward"
}
]
},
{
"kind": "category",
"name": "Turn",
"contents": [
{
"kind": "block",
"type": "turn_left"
}
]
}
]
}
]
}
XML
<xml id="toolbox" style="display: none">
<category name="Core">
<block type="controls_if"></block>
<block type="logic_compare"></block>
</category>
<category name="Custom">
<block type="start"></block>
<category name="Move">
<block type="move_forward"></block>
</category>
<category name="Turn">
<block type="turn_left"></block>
</category>
</category>
</xml>