|Apache Daffodil Gets VS Code Extension|
|Written by Kay Ewbank|
|Thursday, 14 April 2022|
Apache Daffodil has a new extension for VS Code. The Daffodil VS Code Extension is a custom extension developed by Apache for allowing users to debug schemas inside VS Code.
Daffodil is an open source implementation of the Data Format Description Language specification (DFDL). It was first created at the University of Illinois National Center for Supercomputing Applications (NCSA) in 2009, and entered the Apache Incubator in August 2017.
Daffodil is used to convert between fixed format data and XML/JSON. It had Java and Scala APIs, provides Apache NiFI processors for parsing and unparsing NiFi FlowFiles, and has an extension to XML Calabash that declares XProc pipeline steps to parse and unparse input data.
The VS Code extension supports DFDL schema debugging, and can output infosets to the console or to a file. It uses a Scala implementation of the Daffodil debugger, and has an Infoset View that dynamically updates to show the user what the current state of the infoset looks like. There's also an Infoset Diff View that dynamically updates to show the user the difference of the infoset from the previous step to the current one.
Users can configure the debugger using a launch wizard, an interactive GUI that helps user set the values they want for the debugging configuration. The wizard can be used to create multiple debug profiles and update existing ones. Users can also manually edit the .vscode/launch.json file.
Once configured, users can run the debugger on currently opened schema files, open different views, and set breakpoints inside the main schema file or imported schemas.
Alongside the release of the VS Code extension, the Daffodil team has also updated the current version of Daffodil with improvements including a new character set and a podman/docker container with a known good configuration for maintaining daffodil-site. The developers point out that it can take hours to get ruby, rubygems, jekyll, etc. all working again when you haven't used a Daffodil site for a while, and that many people use this infrastructure only for maintaining the daffodil-site content, which only changes occasionally. The podman/docker container with a known good configuration of these ruby and jekyll tools is designed to make it much easier.
Daffodil 3.3 and Daffodil VS Code Extension are available now.
or email your comment to: email@example.com
|Last Updated ( Thursday, 14 April 2022 )|