将odk文件从xlsform转换为xform。

qtools3的Python项目详细描述


qtools3-ODK的问卷工具

这个软件提供了处理pma的工具和实用程序。 问卷调查。它将xlsforms转换为xml,然后执行所有适当的操作 编辑。它也可以用作简单的xlsform离线转换器。

软件qtools3是从 ^{}。主要目的是 升级是将软件从python 2移植到python 3。这是我做的 可能是因为community's PyXForm 2018年增加了Python3支持

先决条件

软件qtools3的核心功能依赖于python 3,而java则依赖于 ODK验证。安装步骤如下

注意:作者使用Homebrew在mac上安装python。

Windows特定步骤

如果不自动添加pythonpip,则会出现一些困难 安装时发送到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 conversionCommand
PMA form conversion^{}
XLSForm-Offline equivalent, convert and validate^{}

选项

Short FlagLong FlagDescription
-r--regularThis 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--preexistingInclude this flag to prevent overwriting pre-existing files.
-n--novalidateDo 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_versionIgnore 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_warnProduce warnings for incorrect linking directives. Default is to raise an exception and halt the program.
-d--debugShow debug information. Helpful for squashing bugs.
-e--extrasPerform extra checks on (1) data in undefined columns and (2) out of order variable references.
-s--suffixA 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。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Android XML阅读器出现java错误   重新索引Solr:java。lang.OutOfMemoryError:Java堆空间解决方案   java安装eclipse插件BPMN2Modeler   java无法使用SpringMVC打开WEBINF子文件夹中的jsp   使用Spring安全性和AJAX身份验证的java安全Rest API   java为什么我们必须将InputStream转换为ByteArrayOutputStream?   javajacksonxml重复标记名   java如何在ScrollPanel中绝对定位小部件?   java自动售货机程序   java为什么变量的作用域有问题?   使用while循环的Java菜单循环   java使用python生成X509Certificate   java如何从约会EWS的主实例获取事件数?   用java中的数组对2组分数进行排序   JavaSpring批处理自定义DB模式初始化