You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@daffodil.apache.org by "hdalsania (via GitHub)" <gi...@apache.org> on 2026/07/28 15:22:30 UTC
[I] Support Daffodil infoset validation equivalent to the CLI -V/--validate option [daffodil-vscode]
hdalsania opened a new issue, #1762:
URL: https://github.com/apache/daffodil-vscode/issues/1762
## Problem Description
Apache Daffodil’s parse command supports the -V / --validate option for validating the infoset generated during parsing:
`-V, --validate <validator_name>`
The VS Code extension should provide equivalent configuration for parse and debug operations.
This is different from #1273 , which validates the DFDL schema during schema compilation. This issue concerns validation of the resulting infoset after data has been parsed.
The current Apache Daffodil CLI supports the following validators:
```
off — disable infoset validation
daffodil — use Daffodil’s built-in XML Schema validation
xerces[=value] — use Xerces XML Schema validation
schematron[=value] — use Schematron validation
Custom validators registered with Daffodil
```
The optional value identifies a validator configuration file, such as an .xsd, .sch, .conf, or .properties file.
For example:
```
daffodil parse -s schema.dfdl.xsd -V daffodil input.dat
daffodil parse -s schema.dfdl.xsd -V xerces input.dat
daffodil parse -s schema.dfdl.xsd -V schematron=rules.sch input.dat
```
## Proposed Solution
Add an infoset validation option to the extension’s launch configuration and Launch Wizard.
Possible launch configuration (consider to keep it with infoset config options):
```
{
"validation": {
"validator": "xerces",
"configuration": "${workspaceFolder}/schema.dfdl.xsd"
}
}
```
The `configuration `property should be optional and used only when required by the selected validator (Xerces or schematron).
The extension does not necessarily need to invoke the Daffodil CLI directly. It may implement the equivalent functionality through the DAPodil interfaces.
## Acceptance Criteria
- Launch configurations support an infoset validation setting.
- The Launch Wizard allows users to select off, daffodil, xerces, or schematron.
- Validation defaults to off.
- Allow an optional configuration file for validators that support one.
- The selected validator is applied during parsing.
- Validation diagnostics are displayed in VS Code.
- Validation diagnostics are distinguishable from schema compilation and parse errors.
- Existing launch configurations remain backward compatible.
- Continue producing or displaying the infoset when Daffodil makes it available following a validation failure.
- Documentation explains the difference between this feature and schema validation in #1273.
## Impact and Benefits
This feature allows users to validate the generated infoset directly in VS Code, identifying data that parses successfully but violates XSD or Schematron constraints. It improves Daffodil CLI parity and provides earlier feedback without leaving the IDE.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@daffodil.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org