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.

Info

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