首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >XForms是如何使用的?

XForms是如何使用的?
EN

Stack Overflow用户
提问于 2020-05-09 08:28:37
回答 4查看 661关注 0票数 2

我最近被XForms (W3C 1.1ODK XForms)绊倒了,我很难看到它们是如何被使用的(如果它们还在使用的话)。

SO标签页上写着:

XForms是一种XML格式,它为XML数据指定数据处理模型和用户界面。例如:网页表格。

现在我看了一下W3C实例,没有看到任何类型的用户界面。这里显示的只是XML。

我所做的

当我想在网络上有一个表单的时候,我必须要做的是:前端和后端。前端要么使用`/ / HTML元素和CSS直接编写样式,要么用烧瓶之类的包生成样式。

后端侦听获取/ POST HTTP请求以接收表单。

问题

我有很多初学者的问题。我的主要问题是,XForms是如何使用的?。一个最小的Python示例对我来说是最有价值的。也许一些简单的东西,比如注册表单:用户名字段、密码字段和密码确认字段可以显示这一点。

我会创建这样的HTML:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<form action="" method="POST">
    <label for="username">Username</label>
    <input type="text" name="username" id="username" />

    <label for="pw">Password</label>
    <input type="password" name="pw" id="pw" />

    <label for="pw2">Confirmation</label>
    <input type="password" name="pw2" id="pw2" />
    <input type="submit" />
</form>

使用烧瓶,后端可能如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Third party modules
from flask import redirect, url_for, render_template
from flask_login import current_user
from flask_wtf import FlaskForm
from wtforms import PasswordField, StringField, SubmitField

# First party modules
from my_db_models import User


class LoginForm(FlaskForm):
    email = StringField("Email")
    password = PasswordField("Password")
    submit = SubmitField("Log In")


@auth.route("/login", methods=["GET", "POST"])
def login():
    if current_user.is_authenticated:
        return redirect(url_for("main.index"))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            flash(INVALID_EMAIL_OR_PASSWORD, "error")
            return redirect(url_for("auth.login"))
        login_user(user, remember=form.remember_me.data)
        return redirect(url_for("index"))
    return render_template("login.html", form=form)

对XForms来说,这会是什么样子?XForms的典型用例究竟在哪里?他们有什么可比较的?XForms仅用于Java吗?(我见过Python包,但我从未听说过它们)

EN

回答 4

Stack Overflow用户

发布于 2020-05-10 11:58:39

我提供了一些答案,您的一系列问题出现在上面。

XForms的典型用例究竟在哪里?

任何看起来像表格的东西。

它解决了哪一个问题?

XForms提供了一种更高级的声明性语言来描述和验证表单.

他们有什么可比较的?

HTML表单作为一个下限,框架如React和Vue和角。但在现实中,没有什么能做到XForms所做的事情,因为XForms对表单有很强的关注,而其中的许多框架却不这样做。参见我之前写过的这个答案

XForms仅用于Java吗?

(请注意,对于" XForms ",我更喜欢单数,如“XForms规范”。当时有一篇老文章喜欢复数,一次很流行,但在我看来,这并不能使复数正确。)

不,正如注释中所讨论的,XForms处理器可以在JavaScript或任何您想要的东西中实现。历史上,JavaScript中有浏览器插件、客户端实现和混合客户机-服务器实现。

XForms是如何使用的?

这取决于处理器的实现。您可以在宿主语言中编写XForms标记和属性,比如HTML。然后,在链接到处理器的JavaScript库时,将该文档提供给浏览器,或者,对于具有服务器组件的实现,您可以将该文档提供给服务器端库。

这是否意味着XForms是JavaScript客户端表单数据评估的替代方案?只是那样还是更多?

更多的是,它可能也可能没有客户端、服务器端或JavaScript的任何东西,尽管在最初的意图和实践中,其想法是它是内建浏览器表单处理的替代和增强。

无论是Firefox还是Chrome,我都找不到插件。你碰巧认识一个?

不,插件已经过时了。

票数 3
EN

Stack Overflow用户

发布于 2020-05-11 06:53:58

ODK生态系统使用了XForms 1.1的子集,并被广泛使用,因为它允许在表单定义中描述复杂的逻辑,并且有许多兼容的工具(表单构建器、数据聚合器、数据收集客户端)可用(例如KoBoToolbox、Ona、Survey123、ODK)。正如Alain所提到的,它不是XForms兼容的,很可能永远不会支持完整的规范,但是在过去的几年里,它们已经越来越接近了。由于历史原因,一些奇怪的偏差已经存在(并有望最终消失)。

然而,大多数ODK用户不知道他们的工具是由XForms驱动的,因为这是由表单构建器(如pyxform (参见XLSForm.org)、KoBo的表单构建器和ODK构建)抽象出来的。

ODK生态系统中有一个数据收集客户端的javascript实现,称为Enketo (参见enketo.org)。

票数 2
EN

Stack Overflow用户

发布于 2020-05-09 09:02:20

XForms已被指定用于主机语言(如XHTML或SVG )中。ODK不是一个完全符合要求的实现。我自己的XForms实现(XSLTForms)基于XSLT1.0(在浏览器中本机可用)来生成HTML+Javascript运行时。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61700111

复制
相关文章
bash for循环是如何使用的
10 Bash for Loop In One Line Examples Bash For Loop Examples In Linux What Is Bash in Linux? Bash fo
用户8418197
2021/09/11
2K0
特斯拉是如何使用Apache ECharts的?
在 ApacheCon Asia 2021 大会的“数据可视化论坛”上,特斯拉 BI 团队全栈开发工程师孟繁超(Makefile 君)发表了题为“ECharts 的乐趣:我们在特斯拉使用它的经验”的演讲。本文是这次演讲的内容总结。
用户8949263
2022/04/08
6800
特斯拉是如何使用Apache ECharts的?
ESLint 是如何使用和实现的?
前言 今天这篇文章,主要聊聊什么是ESLint,为什么要用它?它的实现原理是什么?工作中如何使用的ESLint,以及如何自定义ESLint规则。 本文整理自以下文章: 掘金:eslint工作原理探讨
acc8226
2022/05/17
1.5K0
ESLint 是如何使用和实现的?
鹅厂是如何使用 Git 的?
介绍四种工作流来更好地理解 Git 的项目使用流程,利用其强大的分支功能为自己的项目构筑适配的工作流。
帅地
2020/06/03
7510
鹅厂是如何使用 Git 的?
什么是Json,如何使用?
JavaScript Object Notation:javascript的对象表示法。
Twcat_tree
2022/12/05
1.3K0
mysql如何使用前缀索引_MySQL的前缀索引你是如何使用的[通俗易懂]
前缀索引也叫局部索引,比如给身份证的前 10 位添加索引,类似这种给某列部分信息添加索引的方式叫做前缀索引。
全栈程序员站长
2022/08/30
2.5K0
mysql如何使用前缀索引_MySQL的前缀索引你是如何使用的[通俗易懂]
我是如何理解并使用maven的
一直想写一篇关于Maven的文章,但是不知如何下笔,如果说能使用,会使用Maven的话,一到两个小时足矣,不需要搞懂各种概念。那么给大家来分享下我是如何理解并使用maven的。
软件测试君
2019/07/01
1.6K0
我是如何理解并使用maven的
美剧迷是如何使用Python的
一直有爱看美剧的习惯,一方面锻炼一下英语听力,一方面打发一下时间。之前是能在视频网站上面在线看的,可是自从广电总局的限制令之后,进口的美剧英剧等貌似就不在像以前一样同步更新了。但是,作为一个宅diao的我又怎甘心没剧追呢,所以网上随便查了一下就找到一个能用迅雷下载的美剧下载网站【天天美剧】,各种资源随便下载,最近迷上的BBC的高清纪录片,大自然美得不要不要的。
IT派
2018/07/30
5370
美剧迷是如何使用Python的
Vite 是如何使用 Rollup 进行构建的
我们都知道,Vite 在生产环境中,会使用 Rollup 进行构建,那么 Vite 是如何做到的呢?本文将讲述,从执行 vite build 到输出构建产物,这期间到底发生了什么?
CandyTong
2022/12/27
2.2K1
Vite 是如何使用 Rollup 进行构建的
我们都知道,Vite 在生产环境中,会使用 Rollup 进行构建,那么 Vite 是如何做到的呢?本文将讲述,从执行 vite build 到输出构建产物,这期间到底发生了什么?
CandyTong
2023/02/24
1.2K0
Vite 是如何使用 Rollup 进行构建的
Facebook 是如何引入并使用 Rust 的?
Facebook 正在拥抱当今最受欢迎 、发展最快的一门编程语言——Rust。当前,Facebook 除了为公司内部的 Rust 团队引进人才,还正式加入了 Rust 基金会,与 Mozilla(Rust 的创造者)、AWS、微软和谷歌等其他成员一起,致力于维持和发展 Rust 的开源生态系统。
MikeLoveRust
2021/07/16
7770
Facebook 是如何引入并使用 Rust 的?
Linux中top命令 是如何 使用的
负载均衡(uptime) load average: 0.00, 0.00, 0.00
用户8418197
2021/07/01
2.2K0
Facebook 是如何引入并使用 Rust 的?
作者 | Facebook工程 译者 | Sambodhi 策划 | 凌敏 Facebook 正在拥抱当今最受欢迎、发展最快的一门编程语言——Rust。当前,Facebook 除了为公司内部的 Rust 团队引进人才,还正式加入了 Rust 基金会,与 Mozilla(Rust 的创造者)、AWS、微软和谷歌等其他成员一起,致力于维持和发展 Rust 的开源生态系统。 Rust 为开发者提供了类似 C++ 之类的老编程语言的性能,并更注重代码的安全性。如今,在 Facebook 有数百名开发者在编写数百万
深度学习与Python
2023/04/01
4440
Facebook 是如何引入并使用 Rust 的?
Spring是如何使用责任链模式的?
关于责任链模式,其有两种形式,一种是通过外部调用的方式对链的各个节点调用进行控制,从而进行链的各个节点之间的切换。
Java技术栈
2019/11/08
1.5K0
Spring是如何使用责任链模式的?
你是如何使用React高阶组件的?
High Order Component(包装组件,后面简称HOC),是React开发中提高组件复用性的高级技巧。HOC并不是React的API,他是根据React的特性形成的一种开发模式。
beifeng1996
2022/10/02
1.4K0
【方同学】是如何高效的使用IntelliJ IDEA
其实,很早就想写一篇关于IDEA使用这个主题的文章了,而这次决定“下笔”源自前几天发的这个朋友圈:
YourBatman
2021/08/13
1.2K0
【方同学】是如何高效的使用IntelliJ IDEA
大佬们是如何使用设计模式
关于设计模式,如果使用得当,将会使我们的代码更加简洁,并且更具扩展性。本文主要讲解Spring中大佬们是如何使用策略模式,工厂方法模式以及Builder模式。
田维常
2019/07/16
1.2K0
我在工作中是如何使用Git的
最近在网上有个真实发生的案例比较火,说的是一个新入职的员工,不会用 Git 拉代码,第二天被开除。由此,可见 Git 对我们工作的重要性,无论是前端后端,都是离不开 Git 的,下面就让我们一探究竟吧。
政采云前端团队
2021/07/19
1.8K0
你是如何使用React高阶组件的-面试进阶
High Order Component(包装组件,后面简称HOC),是React开发中提高组件复用性的高级技巧。HOC并不是React的API,他是根据React的特性形成的一种开发模式。
beifeng1996
2022/12/16
8330
什么是SmartArt ? 如何在ONLYOFFICE使用它
嗨 大家好,相信大家都过了一个愉快的春节,接下来又到复工积极努力奋斗的时刻了,今天和大家聊聊什么是SmartArt以及如何正确的使用它呢?
用户10264843
2023/02/08
1K0

相似问题

如何使用xforms显示表格:重复

15

如何使用xforms:load在xforms页面中嵌入javascript并调用它?

117

使用函数的Orbeon xforms

12

可以在<xforms:action>中使用<xforms:repeat>吗?

23

使用xForms的汇总表

123
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文