Flux XML/JSON
La documentation SDK des flux proposent des exemples en flux XML. Le format JSON est également disponible.
Cet article vise donc simplement à présenter la logique de construction des JSON relativement aux XML.
Traduction automatique
Il est possible de partir d’une traduction automatique réalisée en ligne : http://www.utilities-online.info/xmltojson. En postant votre XML, le système vous renvoie le JSON correspondant.
Dans la norme JSON, les attributs sont préfixés soient par un “-”, soit par un “@”, soit même d’autres possibilités. L’outil en ligne proposé rajoute des tirets qu’il faudra remplacer c’est l’@ qui est utilisé comme préfixe.
Exemple de traduction
Format XML
http://servername/vdoc/navigation/flow?module=workflow&cmd=view
Appel :
<?xml version="1.0" encoding="UTF-8"?>
<view xmlns:vw1="http://www.axemble.com/vdoc/view">
<header>
<definition class="com.axemble.vdoc.sdk.interfaces.IProject" />
</header>
</view>
Retour :
<view xmlns:vw1="http://www.axemble.com/vdoc/view">
<body>
<project id="11" name="TestApplication" label="TestApplication" protocol-uri="uril://vdoc/project/DefaultOrganization/TestApplication"/>
<project id="12" name="VDocFilecenter" label="Filecenter" protocol-uri="uril://vdoc/project/DefaultOrganization/VDocFilecenter"/>
</body>
</view>
Format JSON (formatted)
http://servername/vdoc/navigation/flow?module=workflow&cmd=view&flowmode=jsonformatted
Appel :
{
"view": {
"@xmlns:vw1": "http://www.axemble.com/vdoc/view",
"header": {
"definition": { "@class": "com.axemble.vdoc.sdk.interfaces.IProject" }
}
}
}
Retour :
{
"view": {
"@xmlns:vw1": "http://www.axemble.com/vdoc/view",
"body": {
"project": [
{
"@id": "11",
"@name": "TestApplication",
"@label": "TestApplication",
"@protocol-uri": "uril://vdoc/project/DefaultOrganization/TestApplication"
},
{
"@id": "12",
"@name": "VDocFilecenter",
"@label": "VDoc Filecenter",
"@protocol-uri": "uril://vdoc/project/DefaultOrganization/VDocFilecenter"
}
]
}
}
}
Format JSON
http://servername/vdoc/navigation/flow?module=workflow&cmd=view&flowmode=json
Appel :
{"view":{"@xmlns:vw1": "http://www.axemble.com/vdoc/view","header":{"definition":{"@class":"com.axemble.vdoc.sdk.interfaces.IProject"}}}}
Retour :
{"view":{"@xmlns:vw1":"http://www.axemble.com/vdoc/view","body":{"project":[{"@id":"11","@name":"TestApplication","@label":"TestApplication","@protocol-uri":"uril://vdoc/project/DefaultOrganization/TestApplication"},{"@id":"12","@name":"VDocFilecenter","@label":"VDoc Filecenter","@protocol-uri":"uril://vdoc/project/DefaultOrganization/VDocFilecenter"}]}}}
Source : https://wiki.myvdoc.net/xwiki/bin/view/Dev+Floor/SDKFlowsXMLJSONMapping