Page MenuHomePhabricator
Paste P1902

Fork of P1901 Wikibase Api Data and Outputs
ActivePublic

Authored by Addshore on Aug 19 2015, 4:11 PM.
// PHP ARRAY
array(
'aliases' => array(
'_element' => 'language',
'uk' => array(
'_element' => 'alias',
array(
'language' => 'uk',
'value' => 'Airbus S.A.S',
),
array(
'language' => 'uk',
'value' => 'Foo',
),
)
)
)
// JSON
{
"aliases": {
"uk": [
{
"language": "uk",
"value": "Airbus S.A.S"
},
{
"language": "uk",
"value": "Foo"
}
]
}
}
// XML
<aliases>
<language id="en-gb">
<alias language="uk" value="Airbus S.A.S"/>
<alias language="uk" value="Foo"/>
</language>
</aliases>

Event Timeline

Addshore changed the title of this paste from untitled to Fork of P1901 Wikibase Api Data and Outputs.
Addshore updated the paste's language from autodetect to autodetect.

Try this:

array(
	'aliases' => array(
		'_element' => 'language',
		'_type' => 'kvp',
		'_kvpkeyname' => 'id',
		'uk' => array(
			'_element' => 'alias',
			array(
				'language' => 'uk',
				'value' => 'Airbus S.A.S',
			),
			array(
				'language' => 'uk',
				'value' => 'Foo',
			),
		)
	)
)

(specifically, call ApiResult::setArrayType( $arr, 'kvp', 'id' ) or $apiResult->addArrayType( $path, 'kvp', 'id' ) to set the '_type' and '_kvpkeyname' metadata)

Awesome!
This is basically exactly that I was looking for (I think) but have never used these meta bits before!