Parse_xml

file,-folder-and-read-functions parse_xml

syntax

  • parse_xml(string_dataitem, xml_scheme)

definition

parse_xml(string_dataitem, xml_scheme) parses the contents of the argument string_dataitem with XML data into a set of configured attributes, based on the xml_scheme argument.

applies to

condition

The template used as second argument of the xml_parse function may not contain any expression. If calculations are needed, configure them outside the scope of the template.

example

attribute<string> FileName(File): ['9999OPR08012016-000001.xml','9999OPR08012016-000003.xml'];
attribute<string> XmlData(File
:   StorageType = "strfiles"
,   StorageName = "%SourceDataDir%/BAG";

template scheme
{
   unit<uint32> bag_LVC_OpenbareRuimte
   {
      attribute<string> bag_LVC_identificatie;
      attribute<string> bag_LVC_OpenbareRuimteNaam;
      attribute<string> bag_LVC_openbareRuimteType;

      unit<uint32> bag_LVC_gerelateerdeWoonplaats
      {
         attribute<string> bag_LVC_identificatie;
      }

      attribute<string> bag_LVC_openbareruimteStatus;
      attribute<string> bag_LVC_aanduidingRecordInactief;
      attribute<string> bag_LVC_aanduidingRecordCorrectie;
      attribute<string> bag_LVC_officieel;
      attribute<string> bag_LVC_inOnderzoek;
      attribute<string> bagtype_begindatumTijdvakGeldigheid;
      attribute<string> bagtype_einddatumTijdvakGeldigheid;
      attribute<string> bagtype_documentdatum;
      attribute<string> bagtype_documentnummer;
   }
}

container ParsedXML := parse_xml(XmlData, scheme);

unit<uint32> gerelateerdeWoonplaats := ParsedXML/bag_LVC_OpenbareRuimte/bag_LVC_gerelateerdeWoonplaats
{
   attribute<string>                 identificatie      := bag_LVC_identificatie;
   attribute<gerelateerdeWoonplaats> openbareruimte_rel := value(Parent_rel, ParsedXML/bag_LVC_OpenbareRuimte);
 }

This example parses two OpenbareRuimte files from the BAG into a set of attributes for GeoDMS domain units.