社区首页 >问答首页 >递归XML模式类型使用中的一个问题

递归XML模式类型使用中的一个问题
EN

Stack Overflow用户
提问于 2010-08-23 14:18:21
回答 1查看 1.1K关注 0票数 1

很容易在一个XML中定义两个名称相同的元素,比如<any>和不同的允许子元素。一个应该声明两个XSD类型AnyType1AnyType2complexTypes,它描述了允许的子元素。然后可以在一个上下文中将元素<any>声明为<xs:element name="any" type="AnyType1" />,在另一个上下文中声明为<xs:element name="any" type="AnyType2" />。我的问题是,AnyType1AnyType2都是递归的。要在XSD中定义递归类型,我使用以下语法

代码语言:javascript
代码运行次数:0
复制
<xs:element name="any" type="AnyType1" />
<xs:complexType name="AnyType1">
    <xs:choice minOccurs="1" maxOccurs="unbounded">
        <!-- … some permitted subelements -->
        <xs:element name="any" type="AnyType1" />
        <!-- … some other permitted subelements -->
    </xs:choice>
</xs:complexType>

这种语法的缺点是,我们必须在模式"any" 的顶部声明元素,以后不能使用<xs:element name="any" type="AnyType2" />来定义递归类型AnyType2

我的问题是:如何在同一个名称空间中的同一个XML模式中声明两个递归元素类型.

我的问题的背景如下。我需要定义描述某些测试的XML模式。应该结合(分组) <all><any>元素(“或”和“和”操作)来描述某些测试的结果。在一个上下文中(在XML文件的一个位置),我需要允许测试的一个子集,它可以由<all><any>分组,而在另一个地方,应该允许其他子元素。所以我不想定义<anyTest1><anyTest2>元素,也不想定义<n1:any><n2:any>。我只想使用<any>,但是如果<any><TestBeforeProgramStart>的子元素,我希望允许子元素的一个子集,如果<any><TestAfterProgramEnd>的另一个子集。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-31 16:05:55

我自己在问题上找到了答案。看起来很简单。

它不需要在<xs:element name="any" type="AnyType1" />之前声明<xs:complexType name="AnyType1">,所以AnyType1类型的声明可以如下所示

代码语言:javascript
代码运行次数:0
复制
<xs:complexType name="AnyType1">
    <xs:choice minOccurs="1" maxOccurs="unbounded">
        <!-- … some permitted subelements -->
        <xs:element name="any" type="AnyType1" />
        <!-- … some other permitted subelements -->
    </xs:choice>
</xs:complexType>

因此,我所描述的问题似乎并不存在。

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

https://stackoverflow.com/questions/3552150

复制
相关文章
在OSX上安装和使用ROS
参考链接:https://github.com/mikepurvis/ros-install-osx
zhangrelay
2022/04/29
9710
在OSX上安装和使用ROS
Excel催化剂开源第30波-在Excel上尽情地使用LINQ
对于笔者这样的数据分析工作者来说,对数据库有较深的掌握,当然少不了对SQL查询的深度使用,如果在编程的世界中,可以复用这样的能力,真的是一件多么令人高兴的事情。
Excel催化剂
2021/08/19
1.8K0
pycharm使用pip安装模块时提示: No module named pip
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/174545.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
1.2K0
Mac OSX 上安装yarn
如果从来没改过这个.bash_profile文件(可能会提示你“已锁定”),你可能需要先把这个文件的内容复制到另一个txt(其它类型)文件中,之后:
全栈程序员站长
2022/09/01
1.6K0
Mac OSX 上安装yarn
PROTAC 降解剂化合物库 | MedChemExpress
A1874 是一种以 nutlin 为基础的、BRD4-降解的 PROTAC,DC50 值为 32 nM (诱导细胞内的 BRD4 降解)。有效抑制多种癌细胞增殖。
MedChemExpress
2023/02/27
2230
PROTAC 降解剂化合物库 | MedChemExpress
使用pip安装模块时,提示MemoryError
在使用pip安装依赖模块时,报错如下: 图片 解决方法: 添加 --no-cache-dir参数 pip3 --no-cache-dir install -r *** 安装时遇到的其他问题: 设置python源命令:pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 提示没有config参数; 解决办法:升级pippip3 install -U pip pip install --upgrade pip 提示:E
JQ实验室
2022/11/18
1.6K0
钙通道阻滞剂/拮抗剂的应用 | MedChemExpress
我们都知道钙、钾、钠离子对于维持个体内环境的重要性,离子通道一直是个有趣而复杂的话题。它们就像为某种物质专属定制的“门”或 VIP 通道,不仅分类繁多,还有着严密的“门控”机制。
MedChemExpress
2023/03/06
6040
钙通道阻滞剂/拮抗剂的应用 | MedChemExpress
Install Scrapy on OSX|mac OSX 上安装Scrapy[SYN:gejoin.com]
顺利的话,一句命令搞定: sudo pip install Scrapy OSX还是需要额外一些包或升级的,包括:
gigiwangs
2019/03/01
7930
在Mac OSX下安装和使用GO语言
Go语言是Google新推出的结合了动态语言和静态语言优势的一个新兴的语言。下面介绍一下如何在Mac系统下安装和使用这个语言。
EltonZheng
2021/01/26
1.5K0
DID | 安慰剂检验
简单介绍一下实证论文中双重差分法(DID)的安慰剂检验(Placebo Test)在Stata中如何操作。
kemosabe
2021/08/27
5.5K0
DID  |  安慰剂检验
【业界】世界反兴奋剂机构使用人工智能来识别兴奋剂作弊
AiTechYun 编辑:xiaoshan.xiang Olivier Niggli透露,世界反兴奋剂机构(WADA)正在考虑通过人工智能来帮助该组织在运动员数据中发现违规行为 WADA计划在其反兴奋
AiTechYun
2018/03/27
5490
【业界】世界反兴奋剂机构使用人工智能来识别兴奋剂作弊
Excel催化剂开源第29波-在Winform上使用富文本编辑器控件
富文本编辑器,一般都是BS架构专利一般,好像百度有一个开源的比较出名,但无奈这些都只能用在JS上,在BS网页端开发上使用。像Winform开发的VSTO,只能羡慕的份。和一般Winform上用的RichText控件,别人BS的富文本编辑器就强大得多。
Excel催化剂
2021/08/19
9660
在Pycharm安装库时,报错提示:python中的pip版本过低。「建议收藏」
但是在执行更新pip指令:python -m pip install --upgrade pip后。 直接在cmd中输入指令后,显示:在anaconda中的pip版本已经是最高了。
全栈程序员站长
2022/09/28
2.3K0
在Pycharm安装库时,报错提示:python中的pip版本过低。「建议收藏」
李伟坚(Excel催化剂):带你全面认识《Excel催化剂》系列功能
本次要介绍的是一款名叫《Excel催化剂》的 Excel 插件,也是目前国内技术含最高的 Excel 插件,共计80大类300个细分功能、180个自定义函数,涉及人工智能、数据库、powerbi 等诸多高大上的内容,让Excel的能力边界得到前所未有的扩展。
寒树Office与RPA
2019/11/29
3.4K0
openwrt 上python pip 安装
一,首先安装python2.7 opkg update opkg install python 二,然后从官网上下载pip安装脚本,注意加上–no-check-certificate wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate 三,直接运行 get-pip.py python get-pip.py image.png
qinyang
2018/06/05
7.7K0
在提取 Docker 映像时解决“未找到清单”错误
如果您尝试拉取 Docker 映像并且它显示未找到清单错误,那么您需要了解如何解决它。
网络技术联盟站
2022/03/21
1.5K0
在提取 Docker 映像时解决“未找到清单”错误
个人永久性免费-Excel催化剂功能第18波-在Excel上也能玩上词云图
原文在简书上发表,再同步到Excel催化剂微信公众号或其他平台上,文章后续有修改和更新将在简书上操作, 其他平台不作同步修改更新,因此建议阅读其他出处的文章时,尽可能跳转回简书平台上查看。
Excel催化剂
2021/08/19
3650
用科创板给国产中间件打上一剂兴奋剂!
一波三折后,中创软件商用中间件股份有限公司(下称“中创软件”)正稳步推进上市进程,目前已经通过上市委会议。
数据猿
2023/03/03
3580
用科创板给国产中间件打上一剂兴奋剂!
业务安全-DevSecOps 的催化剂
前言 DevSecOps的困境 产品鄙视研发,研发又鄙视运维,运维呢又鄙视安全。 业务和产品说:不是我设计这么好的业务产品,你研发再牛也没用,测试、运维、安全都是我养的。 研发说:要不是我研发这么牛的
DevOps时代
2018/02/02
9010
业务安全-DevSecOps 的催化剂
python使用pip卸载和安装库「建议收藏」
问题出在哪呢?细心的同学会问了。其实呢,pip虽然是python的自带工具,而且安装了python之后会自动安装上pip,但pip工具并不能在python中打开哦! 下面我们演示如何在命令行中退出python,之后打开pip:
全栈程序员站长
2022/11/02
1.5K0

相似问题

如何在CentOS中安装紧缩剂?

15

其他语言的紧缩剂

14

在OSX上安装Typesafe活化剂

69

在Windows上安装php增强剂时遇到的困难

23

DataNucleus增强剂flakey?

512
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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