将odk文件从xlsform转换为xform。
qtools3的Python项目详细描述
qtools3
-ODK的问卷工具
这个软件提供了处理pma的工具和实用程序。 问卷调查。它将xlsforms转换为xml,然后执行所有适当的操作 编辑。它也可以用作简单的xlsform离线转换器。
软件qtools3
是从
^{
先决条件
软件qtools3
的核心功能依赖于python 3,而java则依赖于
ODK验证。安装步骤如下
- 安装Java JRE的最新版本。
- 安装Python 3.6或更高版本。
注意:作者使用Homebrew在mac上安装python。
Windows特定步骤
如果不自动添加python
和pip
,则会出现一些困难
安装时发送到PATH
。有关如何执行此操作的说明,请参阅
this document。
打开CMD
(单击“开始”菜单,键入CMD
,按回车键)。
cd C:\Python36\Scripts
继续安装或升级…
安装
注意:Windows用户从Windows指定的步骤开始
在终端或命令行上,运行
python3 -m pip install qtools3
对于最新的和最好的,直接从github安装
python3 -m pip install https://github.com/PMA-2020/qtools3/zipball/master
命令行用法
除了作为qtools3
的主力之外,模块qtools3.convert
还提供了一个命令行实用程序新样式链接(包括XLSForm中包含的所有指令)现在是默认的旧样式链接(逐行手动XML编辑说明)被删除。要查看帮助文件和用法,请在终端中运行
python -m qtools3.convert --help
快速入门指南
Type of conversion | Command |
---|---|
PMA form conversion | ^{ |
XLSForm-Offline equivalent, convert and validate | ^{ |
选项
Short Flag | Long Flag | Description |
---|---|---|
-r | --regular | This flag indicates the program should convert to XForm and not try to enforce PMA-specific naming conventions or make linking checks for HQ and FQ. |
-p | --preexisting | Include this flag to prevent overwriting pre-existing files. |
-n | --novalidate | Do not validate XML output with ODK Validate. Do not perform extra checks on (1) data in undefined columns, (2) out of order variable references. |
-i | --ignore_version | Ignore versioning in filename, form_id, form_title, and save_form. In other words, the default (without this flag) is to ensure version consistency. |
-l | --linking_warn | Produce warnings for incorrect linking directives. Default is to raise an exception and halt the program. |
-d | --debug | Show debug information. Helpful for squashing bugs. |
-e | --extras | Perform extra checks on (1) data in undefined columns and (2) out of order variable references. |
-s | --suffix | A suffix to add to the base file name. Cannot start with a hyphen ("-"). |
额外费用
翻译正则表达式不匹配
每当翻译与编号(即'[0-9]+'
)和/或变量(即'${...}'
)之间存在差异时,就会出现这些qtools3
转换警告消息
示例-编号不匹配
在本例中,将出现警告'[0-9]+'
,因为“0”与“0”不同要解决此问题,请确保所有语言仅使用阿拉伯数字(例如1、2、3…),或仅使用基于单词的编号(例如1、2、3…)
- 中文:请输入0。
- 糟糕的洋泾浜英语:请输入零。
示例-变量不匹配
不应转换ODK变量。如果主语言显示“${months}”,则所有语言翻译也应显示“${months}”当然,用户在手机上看到的内容仍然会被翻译。
- 中文:输入${months}。
- 糟糕的法语:entrez${mois}。
示例-变量不匹配
翻译应该使用英语使用的所有变量。
- 中文:家里有${hh}人
- 糟糕的洋泾浜英语:家里有(odk将填写一个计数)人
更新
注意:Windows用户从Windows指定的步骤开始要安装qtools3
更新,请使用
python3 -m pip install qtools3 --upgrade
对于最新的和最好的,用develop
替换上面url中的master
。
每隔一段时间,就需要更新pmaxform3
。为此,请使用
python3 -m pip install pmaxform3 --upgrade
建议和问题
- 检查终端中的版本以查看是否安装了程序。
- 使用
javac -version
检查Java版本
- 使用
python -V
检查Python版本 - 用
pip -V
检查pip版本。 - python的另一个可执行文件是
python3
。 pip
的另一个可执行文件是pip3
。- 最新的java不是必需的,但是成功的测试只在java 1.6到java1.8之间运行。
pmaxform
的依赖项是lxml
,其中Mac上的问题。如果有问题,最好的指南是StackOverflow。- 在Mac上安装
pmaxform
期间,可能会提示用户安装Xcode的命令行工具这应该足够lxml
qtools3
可以在没有java的情况下运行。Java只需要用于ODK验证,这可以通过使用“no validate”选项绕过。- xcode 9显示缺少头文件的问题。如果可能的话,安装xcode 8。