You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
src/content/pages/xlsform-standard.mdx (919 lines) is a good XLSForm reference, and it isn't wrong about XLSForm. But it documents features the CDL pipeline (FormTransform, qwacback, formulaid) rejects or only partly supports, as if they worked here. It also reaches agents: the page is part of llm-xlsform.txt and llm-phases12-xlsform.txt, which formulaid's skill build fetches.
Sections to mark (checked against formtransform v0.1.4)
Heading (line)
Status in the CDL pipeline
### Rang (226)
not supported: rank isn't registered; a form using it is rejected
## Berechnung (523)
not supported: calculate isn't registered
### Externe CSV-Daten (395)
not supported: attached CSVs for lookups aren't
### Mehrfachauswahl aus Datei (187)
partly: select_one_from_file / select_multiple_from_file convert only with a registered vocabulary (today iso_3166_1.csv). XML/GeoJSON files, other CSVs and choice_filter (the country=${cou} example) are rejected
### Bereich (253)
partly: range converts (since formtransform v0.1.2). LimeSurvey enforces the start/end bounds, and integers when the step is whole, but not the step itself, and shows a number field, not a slider
Also mark the matching rows of the type table under ## Fragetypen (lines 76–90): rank and calculate (not supported), and range, select_one_from_file, select_multiple_from_file (partly). Also check ### Werte in Auswahllisten oder angehängten Dateien nachschlagen (365) and mark it if it relies on attached files.
Steps
Add one reusable MDX component with two variants, e.g. <Unsupported /> and <Unsupported partial>…</Unsupported>, not a hand-written paragraph per heading. Its text says the feature isn't (or is only partly) supported by the CDL pipeline, that a form using it is rejected by FormTransform/qwacback, and links the supported subset. A component makes the next addition cheap, and lets Add a methodology-only llm endpoint (phases 1–2 without the XLSForm spec) #28 (the methodology endpoint) find these blocks programmatically.
Place it under each heading above, with the one-line reason from the table. Keep reasons short; don't copy the type list.
Add the same statement once near the top of the page, before ## Fragetypen, so a skimming reader sees it.
Make sure the marker text survives into the plain-text llm*.txt output (src/lib/utils/llm-txt.ts). Agents must see it too.
Acceptance criteria
Every heading in the table carries the marker; the top-of-page note exists
The marker text appears in the built dist/llm-xlsform.txt
bun run build passes
Don't rename headings, and keep # XLSForm-Dokumentation exactly as is (formulaid slices by it)
Rules (apply to all site changes around formtransform)
Don't rename or delete these snippet paths. Three apps fetch them at build time through the GitHub API, and each falls back to an empty string, so a rename doesn't fail a build. It silently empties a section of the app:
Headings in the llm*.txt endpoints are an interface. formulaid's scripts/build_skill.sh fetches llm-phases12-xlsform.txt and slices it by the headings # XLSForm-Dokumentation and # Fragen formulieren. Don't change them without telling CorrelAid/formulaid.
German is primary; EN/DE snippets stay in sync. The apps render whichever locale the visitor has.
Registry facts belong to CorrelAid/formtransform. If the site needs a machine-readable list of supported types, open an issue there. Don't copy JSON into the site.
src/content/pages/xlsform-standard.mdx(919 lines) is a good XLSForm reference, and it isn't wrong about XLSForm. But it documents features the CDL pipeline (FormTransform, qwacback, formulaid) rejects or only partly supports, as if they worked here. It also reaches agents: the page is part ofllm-xlsform.txtandllm-phases12-xlsform.txt, which formulaid's skill build fetches.The pipeline is an allowlist defined by the survey type registry in
CorrelAid/formtransform. What isn't registered is rejected, not approximated. Reference: https://github.com/CorrelAid/formtransform#supported-xlsform-subsetSections to mark (checked against formtransform v0.1.4)
### Rang(226)rankisn't registered; a form using it is rejected## Berechnung(523)calculateisn't registered### Externe CSV-Daten(395)### Mehrfachauswahl aus Datei(187)select_one_from_file/select_multiple_from_fileconvert only with a registered vocabulary (todayiso_3166_1.csv). XML/GeoJSON files, other CSVs andchoice_filter(thecountry=${cou}example) are rejected### Bereich(253)rangeconverts (since formtransform v0.1.2). LimeSurvey enforces thestart/endbounds, and integers when the step is whole, but not thestepitself, and shows a number field, not a sliderAlso mark the matching rows of the type table under
## Fragetypen(lines 76–90):rankandcalculate(not supported), andrange,select_one_from_file,select_multiple_from_file(partly). Also check### Werte in Auswahllisten oder angehängten Dateien nachschlagen(365) and mark it if it relies on attached files.Steps
<Unsupported />and<Unsupported partial>…</Unsupported>, not a hand-written paragraph per heading. Its text says the feature isn't (or is only partly) supported by the CDL pipeline, that a form using it is rejected by FormTransform/qwacback, and links the supported subset. A component makes the next addition cheap, and lets Add a methodology-only llm endpoint (phases 1–2 without the XLSForm spec) #28 (the methodology endpoint) find these blocks programmatically.## Fragetypen, so a skimming reader sees it.llm*.txtoutput (src/lib/utils/llm-txt.ts). Agents must see it too.Acceptance criteria
dist/llm-xlsform.txtbun run buildpasses# XLSForm-Dokumentationexactly as is (formulaid slices by it)Rules (apply to all site changes around formtransform)
Don't restate the supported XLSForm subset in prose. Link to it: https://github.com/CorrelAid/formtransform#supported-xlsform-subset. A hand-copied type list on the site becomes a third source of truth, after the registry and the generated skill.
Don't rename or delete these snippet paths. Three apps fetch them at build time through the GitHub API, and each falls back to an empty string, so a rename doesn't fail a build. It silently empties a section of the app:
src/content/snippets/formtransform/{en,de}.html,liability/{en,de}.htmlqwac/{en,de}.html,liability/{en,de}.htmlformulaid/{en,de}.html,liability/{en,de}.htmlHeadings in the
llm*.txtendpoints are an interface. formulaid'sscripts/build_skill.shfetchesllm-phases12-xlsform.txtand slices it by the headings# XLSForm-Dokumentationand# Fragen formulieren. Don't change them without tellingCorrelAid/formulaid.German is primary; EN/DE snippets stay in sync. The apps render whichever locale the visitor has.
Registry facts belong to
CorrelAid/formtransform. If the site needs a machine-readable list of supported types, open an issue there. Don't copy JSON into the site.