Introduction
XML is the abbreviation for Extensible Markup Language. XML is a syntax used in computer programming to enable use of data in a structured way. XML is a platform independent syntax, maintained by W3C. Specific industry standards such as SOAP, XML Schema, XPath and WSDL have been developed based on XML, and XML is supported (among other syntaxes) by the REST architecture.
AFD in XML
Entities and attributes
In XML, AFD entities are always explicitly defined with a tag, for example <party>
, <policy>
or <financialTransaction>
. Attributes are nested under their respective entities and also explicitly defined as an XML tag. For example <contractNumber>
, <dataCatalogVersion>
or <surname>
. The only exception is the entityType
attribute, which is given to the relevant entity as an XML attribute. For example <party entityType = "policyHolder">
. The filled value of an AFD attribute in XML is always placed between the start and end tags. For example <contractNumber>1234567</policyNumber>
or <startDate>2017-01-24</startDate>
.
Order of entities and attributes
The order of entities in an XML message is free. The only exception is that AFD messages must always start with the commonFunctional and commonTechnical entities. If an XML Schema is used, the order of the entities must comply with the definitions within the XML Schema. The same applies to attributes: the order can be freely chosen, unless an XML Schema is used in which the order is defined.
Arrays
Unlike JSON, XML does not allow arrays. Instead, it is possible to record the same entity repeatedly. See the example at the bottom of the page, which includes both a party of entityType insuredPerson
and policyHolder
.
Encoding
UTF-8 is the default character encoding for XML documents. AFD also applies this standard: no limited character set applies.
Example
<policyStructure>
<commonFunctional>
<function>15</function>
<dataCatalogVersion>99Z</dataCatalogVersion>
</commonFunctional>
<policy entityType="policyDetails">
<porCompany>M088</porCompany>
<contractNumber>P20190101-010</contractNumber>
<party entityType="insuredPerson">
<refKey>R918273645</refKey>
<surname>Jansen</surname>
<initials>R.I.O.</initials>
</party>
<party entityType="policyHolder">
<refKey>R6930129</refKey>
<surname>De Vries</surname>
<initials>B.D.G.</initials>
</party>
<object entityType="vehicle">
<refKey>SIVI20</refKey>
<licensePlate>SI-VI-20</licensePlate>
<objectType>00050</objectType>
</object>
</policy>
</policyStructure>
Post your comment on this topic.