当前位置: 首页 > 知识库问答 >
问题:

将XSD配置为包含多个xs:schema?

钱德元
2023-03-14

我有一个XSD文件,我想在其中放置几个图表,以及服务的描述。添加时

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            elementFormDefault="qualified"
            attributeFormDefault="qualified"
            targetNamespace="[target1]"
            xmlns:tns="[target1]">

</xsd:schema>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            elementFormDefault="qualified"
            attributeFormDefault="qualified"
            targetNamespace="[target2]"
            xmlns:tns="[target2]">
</xsd:schema>

我得到错误:“多个根标记”

如果我这样写:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            elementFormDefault="qualified"
            attributeFormDefault="qualified"
            targetNamespace="[target1]"
            xmlns:tns="[target1]">
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            elementFormDefault="qualified"
            attributeFormDefault="qualified"
            targetNamespace="[target2]"
            xmlns:tns="[target2]">
    </xsd:schema>
</xsd:schema>

我得到错误:

发现以元素{开头的内容无效http://www.w3.org/2001/XMLSchema“:架构}。其中一个{”http://www.w3.org/2001/XMLSchema“:simpleType,”http://www.w3.org/2001/XMLSchema“:complexType,”http://www.w3.org/2001/XMLSchema:组http://www.w3.org/2001/XMLSchema“:attributeGroup,”http://www.w3.org/2001/XMLSchema“:元素,”http://www.w3.org/2001/XMLSchema“:属性,”http://www.w3.org/2001/XMLSchema“:符号,”http://www.w3.org/2001/XMLSchema应为“:注释}”。

可以将XSD文件配置为包含多个模式吗?

共有2个答案

越骏俊
2023-03-14

您只允许有一个模式,但是这个模式可以声明几个适合作为根的元素,在这些元素下面,您可以完全分离树结构。

穆彬郁
2023-03-14

xsd不能通过嵌入这样的元素来组成。

要将多个xsd与不同的targetNamespace合并,请使用xsd:import。

  • 如何引用其他XSD命名空间中的元素?
  • xsd: include和xsd: import有什么区别?
 类似资料:
  • 主要内容:单个Struts配置文件,多个Struts配置文件Struts 2自带有“包含文件”功能,包含多个Struts配置文件合并为一个单元。 单个Struts配置文件 让我们来看看一个糟糕的 Struts 2 配置示例。 struts.xml 在上面的Struts配置文件中,组织所有“用户”和“审核”配置设置在一个文件中,这不是建议的,必须回避。应该打破这种形式,而将struts.xml文件分成更小的模块相关的部分。 多个Struts配置文件 在Str

  • 我需要一个关于xml验证问题的建议。我的问题是我需要为XML验证设置一个XSD,它定义了两个强制字段和两个可选字段。根据可用数据,字段切换的特征。 如果满足上述任一情况,则XML应有效。 应能够填写AAA和BBB字段。填写这些字段后,CCC和DDD可能为emtpy 我正在考虑像下面这样的结构,但我无法用我的ALTOVA XMLSPY 2012保存它。它说内容模型不是唯一的。 有没有办法实现我想做的

  • 1-我有一个带有Spring Boot的API,我需要配置两个DBMS(MySQL和Postgres)。 2-对于每个DBMS,我需要配置不同的配置文件。(Dev,Prod) 遵循我的MySQL配置类: 我以为我的出口是: 重要: 当我将配置文件配置为连接到我的MySQL Dev数据库时,我只想连接到它。我想要同样的结果,当它是MySQL的Prod的基础时。 当我将配置文件配置为连接到我的Post

  • 问题内容: 我每天都在“测试”文件夹下写入文件。例如: 我在创建的LOGS表中看不到任何数据。 但是,我使用创建表 我可以看到那几天的记录。 我想在我的HIVE表中的/ test目录下查看所有数据,而且/ test目录每天都填充有新文件。 问题答案: 选项1 为了支持子目录 如果您的Hive版本低于2.0.0,那么 选项2 创建一个分区表 如果使用标准约定保留目录,例如,而不是保留目录,将更易于管

  • 我需要一些“包含”和“不包含”的正则表达式。通常我会写: 包含:(.*WORD_A.*)$,不包含:(^((?!WORD_A.*)*)$ 如果单独使用,这很好,但我想写一些可以检测到的东西,比如“包含单词A和单词B”(顺序不相关!)和“包含单词A,但不包含单词B)。 基本上,我希望用户可以做出这样的声明“以单词a开头,包含单词B,但不是C和/或以D结尾”,程序返回真/假。最好的办法是只附加正则表达

  • 我试图迁移我们稳定的应用服务器,以从Spring Cloud配置服务器获取它们的配置。每个应用在配置服务器上都有一个文件,我们可以使用配置文件(在名为的文件中,或者使用多配置文件YAML文档)为每个环境进行不同的配置应用程序,我们甚至可以在另一个配置文件中包含一个配置文件,使用来提供某种继承-到目前为止,一切都很好。 但是,我们只能在彼此中包含来自同一应用程序的配置文件,并且我们从同一配置服务器配