Skip to content

Parsed Instrument model: parse → Instrument → emit for every direction #69

Description

@jstet

Split out of #60, whose short-term part (one module per convention under src/conventions/) is done.

Longer term: add a parsed Instrument model: groups, questions, choice lists, and an expression AST. Each pipeline then becomes parse → Instrument → emit, which means N parsers plus N emitters instead of one module per direction.

  • xlsform2ddi/variables.ts already does half of this. Its Variable[] is the DDI-side model.
  • xlsform2lstsv and lstsv2xlsform still map rows to rows. They re-derive structure (groups, grids, other patterns) each time.

This is a design change, not a cleanup. Worth doing once #61–#63 have settled the module boundaries and the converter's state.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions