首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从XSD架构中选择要填充到Flask应用程序中的元素

从XSD架构中选择要填充到Flask应用程序中的元素
EN

Stack Overflow用户
提问于 2020-04-01 12:14:01
回答 1查看 157关注 0票数 0

最终,我想在Flask应用程序中基于XSD模式构建一个示例xml文件,然后将输入导出为有效的xml文件。

我也在使用xmlschema包。

我有一个烧瓶应用程序的基本结构和一个下拉菜单显示从XSD的元素页面。

代码语言:javascript
运行
AI代码解释
复制
@app.route('/xml_builder')
def xml_builder():
    xs = xmlschema.XMLSchema('schema_file.xsd')
    dict = sorted(xs.maps.elements.keys())

    return render_template('public/xml-builder.html', get = dict)

但是,我很难理解如何让它只显示主xsd中的元素(稍后描述的模式file.xsd )-当从下拉菜单中选择该元素时,它应该将来自另一个xsd文件(稍后描述的schema_types.xsd)的相关子元素/属性显示为标签,旁边有一个文本字段,以允许用户输入值。

该架构由多个架构组成

schema_file.xsd是主模式,它描述了xml文件的结构。

代码语言:javascript
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema
            attributeFormDefault="unqualified"
            elementFormDefault="qualified"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:include schemaLocation="schema_types.xsd" />

<xsd:complexType name="InfoData">
        <xsd:sequence>
            <xsd:element name="Shop"
                         type="test:ShopType"
                         maxOccurs="unbounded" />
            <xsd:element name="Town"
                         type="test:TownType"
                         minOccurs="0"
                         maxOccurs="unbounded" />
           </xsd:element>
        </xsd:sequence>
</xsd:complexType>
</xsd:schema>

schema_types.xsd文件包含元素的结构

代码语言:javascript
运行
AI代码解释
复制
<xsd:complexType name="ShopType">
        <xsd:sequence>
            <xsd:element name="Country"
                         type="xsd:string"
                         minOccurs="0">
            </xsd:element>
            <xsd:element name="City"
                         type="xsd:string"
                         minOccurs="0">
            </xsd:element>
            <xsd:element name="Note"
                         type="xsd:string"
                         minOccurs="0"
                         maxOccurs="unbounded">
            </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="id"
                       type="xsd:string"
                       use="required">
        </xsd:attribute>
        <xsd:attribute name="name"
                       type="xsd:string"
                       use="required">
        </xsd:attribute>
    </xsd:complexType>

任何方向/指导都将非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2020-04-01 15:42:11

“主模式”和“其他xsd文件”之间的区别取决于您的场景。XML模式没有这样的区别,我希望xmlschema Python模块也不会有这种区别。

如果可能,您应该为主模式声明一个targetNamespace,为子元素模式声明一个不同的targetNamespace。您还需要将xs:include更改为xs:import。然后,您可以根据元素的名称空间选择元素。

请记住,此解决方案将非常特定于您自己的模式。XSD的通用示例文档生成器是一个大项目。

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

https://stackoverflow.com/questions/60970638

复制
相关文章
从Revit中选取元素(第五期)
大家看网上的其他教程或者参考卢石碧先生写的那本《Revit二次开发基础教程》的时候会发现和我这有出入,他们是这么写的
一席青衣卧龙城
2022/04/21
7590
从Revit中选取元素(第五期)
Python从序列中选择k个不重复元素
集合中的元素不允许重复,Python集合的内部实现为此做了大量相应的优化,判断集合中是否包含某元素时比列表速度快很多。下面的代码用于返回指定范围内一定数量的不重复数字,使用集合的效率明显优于使用列表。 import random import time def RandomNumbers1(number, start, end): '''使用列表来生成number个介于start和end之间的不重复随机数''' data = [] while True: element = ra
Python小屋屋主
2018/04/16
1.1K0
flask 表单元素(flask 18)
WTForms: BooleanField : checkbox DateField: DateTimeField: FileField 文件上传 FloatField IntegerField RadioField :radio SelectField SelectMultipleField 多选下拉列表 SubmitField 提交按钮 StringField HiddenField PasswordField TextAreaField
用户5760343
2019/08/13
7800
jquery在iframe中选中父元素节点
我们在使用如layui的layer弹窗或者在页面上用别的方式打开的iframe中可能会要获取到父页面的某个元素
阿超
2022/08/17
1.8K0
Android 从相册中选择照片
在这里通过放回路径设置头像,但由于图片路径生成可能有一定延时,所以这里开一个线程等待:
圆号本昊
2021/09/24
9690
Android 从相册中选择照片
如何把Flask应用程序部署到Docker中
现在,直接在命令行运行python app.py来测试这个 Flask的hello world 应用程序
齐天小胜
2023/02/21
1.5K0
从数字区间中选取数据
这是一小段代码,把字符串劈到MAP中, 对MAP的KEY排序,用KEY与输入值比较,记录INDEX,确认后以INDEX为KEY,取MAP值。
全栈程序员站长
2021/05/19
5170
Flask应用程序配置(一)
Flask应用程序配置是在应用程序中设置各种配置参数的过程。它允许您在运行时动态地更改应用程序的行为,而无需修改应用程序的代码。
堕落飞鸟
2023/05/05
3110
如何从列表中获取元素
观察URAM的物理管脚,不难发现A/B端口都有相应的地址、使能、读写控制信号。与BRAM不同的是URAM的读写使能信号是同一个管脚RDB_WR_A/B,其为0时执行读操作,为1时执行写操作,这意味着一旦A/B端口独立,同一端口的读写操作就无法同时发生,因此,如果采用上一篇文章中介绍的方法将其配置为两个独立的单端口RAM,其读写行为与常规的单端口RAM是不同的,进一步而言,此时的读写行为类似于NO_Change模式。
Lauren的FPGA
2019/10/30
17.8K0
XmlSpy / XSD 以及 验证
很早以前看过一句话:“XML就象空气”,在企业应用开发中XML是一个重要的数据交换标准。而XSD则可以用来校验XML的数据格式是否正确。 一个典型的XSD文件如下: 1 <?xml version=
菩提树下的杨过
2018/01/24
1.8K0
XmlSpy / XSD 以及 验证
Flask应用程序配置(二)
从配置文件加载配置参数 除了在应用程序代码中硬编码配置参数,还可以从外部文件加载配置参数。Flask支持从Python文件、JSON文件、YAML文件等文件格式中加载配置参数。
堕落飞鸟
2023/05/05
3990
从listView1中选择记录到listView2中「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158247.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/19
7150
C#将子窗体填充到父窗体的panel中
这里此窗体为lvlv_CauseForm 窗体,new一个窗体对象cf后,进行填充,代码如下:
恋喵大鲤鱼
2018/08/03
3.3K0
Flask(3)- Flask 中的 HTTP 方法
默认的 app.route() 是仅支持 GET 请求的,如果想通过 POST、PUT、DELTE 等方法正常请求的话,需要添加 methods 参数哦
小菠萝测试笔记
2021/07/14
7760
Flask(3)- Flask 中的 HTTP 方法
如何从 Python 列表中删除所有出现的元素?
在 Python 中,列表是一种非常常见且强大的数据类型。但有时候,我们需要从一个列表中删除特定元素,尤其是当这个元素出现多次时。本文将介绍如何使用简单而又有效的方法,从 Python 列表中删除所有出现的元素。
网络技术联盟站
2023/06/01
12.9K0
怎样从数组中删除给定元素_java数组包含某个元素
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169528.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
5.2K0
怎样从数组中删除给定元素_java数组包含某个元素
nodejs提取excel中的信息填充到word文件,批量生成合同
今天帮别人做一个小工具,需求是这样的,根据excel表格中的信息生成word合同,批量生成,本来这个事是人工完成的,但是合同有200多份,重复工作比较麻烦,看代码:
挥刀北上
2021/02/18
2.5K0
nodejs提取excel中的信息填充到word文件,批量生成合同
基于Flask的Web应用程序插件式结构
        事实上,很多应用程序基于插件式结构开发,可以很方便了扩展软件的功能,并且这些功能完全可以依托于第三方开发者,只要提供好接口和完备文档,比如wordpress、谷歌火狐浏览器等。
py3study
2020/01/20
8440
点击加载更多

相似问题

元素- XSD架构中的强制属性声明:

47

从架构xsd中删除引用

11

从XSD架构引用RELAX NG架构

15

从列表中选择要编辑的元素- Perl/CGI

10

从XSD架构创建XmlSerializer

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文