Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

ddiToXlsform: a <var> without @ID is reported as "no <var>"

未关闭 适合新手
#170 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
68/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
typescript
领域
tooling

调研方向

从 ddiToXlsform 入口开始,并通过 qwacback 的 POST /api/convert/ddi-to-xlsform 端点复现该情况。检查 ddi2xlsform README 对可选 var/@ID 的处理,并验证没有 ID 的 var 要么使用 @name 进行转换,要么因缺少 ID 而以准确的消息拒绝。

由索引模型根据 Issue 内容生成。

描述

ddiToXlsform rejects a <var> that has no ID, and the message says there is no <var> at all.

ddiToXlsform('<var name="x"><qstn responseDomainType="text"><qstnLit>Hi</qstnLit></qstn></var>')
// ConversionError ddi-invalid: The input holds no <codeBook> and no <var>.

ddiToXlsform('<var ID="V1" name="x"><qstn responseDomainType="text"><qstnLit>Hi</qstnLit></qstn></var>')
// { survey: [{ type: 'text', name: 'x', label: 'Hi' }], … }

(v0.7.0, found through qwacback's POST /api/convert/ddi-to-xlsform.)

Why it matters

  • DDI 2.5 makes var/@ID optional, so this is valid DDI. The ddi2xlsform README says it "never refuses DDI it can parse".
  • The message sends users looking for the wrong problem: the <var> is there.

Suggestion

Read a var without ID, falling back to @name where an ID is needed (varGrp/@var can't refer to it anyway). If it has to be refused, name the reason, e.g. "<var name=\"x\"> has no ID".

Low priority: everything formtransform writes has IDs, and so do qwacback's seeds.

主要语言
TypeScript
星标
0
派生
0
平均合并
4 分钟
30 天内合并 PR
100

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

CorrelAid/formtransform 的其他 Issue

查看 CorrelAid/formtransform 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。