Xml 如何在XSD1.0中创建条件标记?

Xml 如何在XSD1.0中创建条件标记?,xml,xsd,Xml,Xsd,我正在尝试为此类xml文件创建xml模式: <root> <class type="A"> <name>My Name</name> <surname>My Surname</surname> <address-eu> <postalcode>555888</postalcode> </

我正在尝试为此类xml文件创建xml模式:

<root>

    <class type="A">
        <name>My Name</name>
        <surname>My Surname</surname>
        <address-eu>
            <postalcode>555888</postalcode>
        </address-eu>
    </class>
    <class type="B">
        <name>My Name</name>
        <surname>My Surname</surname>
        <address-us>
            <zipcode>555888</zipcode>
        </address-us>
    </class>

<root>

我的名字
我的姓
555888
我的名字
我的姓
555888
我想要的是根据tag类中type的值添加address euaddress us

使用XSD1.1很容易,但我需要使用XSD1.0实现它

我希望避免这样的xml文件,其中address us位于type=“a”类中,这是不正确的:

<root>

    <class type="A">
        <name>My Name</name>
        <surname>My Surname</surname>
        <address-us>
            <zipcode>555888</zipcode>
        </address-us>
    </class>
    <class type="B">
        <name>My Name</name>
        <surname>My Surname</surname>
        <address-us>
            <zipcode>555888</zipcode>
        </address-us>
    </class>

<root>

我的名字
我的姓
555888
我的名字
我的姓
555888
这可能吗


谢谢

,您不能让元素类型基于XSD 1.0中的属性值

在XSD 1.1中,您可以使用。有关CTA的示例,请参阅

在XSD 1.0中,您可以使用
type=“A”
将元素
class
重命名为
A
ClassA
,以将其与名为
B
ClassB
的元素区分开来。然后,您将能够为这两个元素定义不同的内容模型


一般来说,在XSD 1.0中,不同的元素应该有不同的名称。,元素类型不能基于XSD 1.0中的属性值

在XSD 1.1中,您可以使用。有关CTA的示例,请参阅

在XSD 1.0中,您可以使用
type=“A”
将元素
class
重命名为
A
ClassA
,以将其与名为
B
ClassB
的元素区分开来。然后,您将能够为这两个元素定义不同的内容模型


一般来说,在XSD 1.0中,不同的元素应该有不同的名称。

因此对于有两种类型的类,我应该有两个类,比如说:class-type-a和class-type-b??是的,如果希望XSD 1.0中的两个元素有不同的类型,你必须用不同的名称来命名它们。所以对于这个有两种类型的类,我应该有两个类,比如说:class-type-a和class-type-b??是的,如果你想让XSD 1.0中的两个元素有不同的类型,你必须用不同的名称来命名它们。你真的应该接受一些你对。如果你所问的23个问题只得到过一次真正的帮助,请阅读并认真改进你的提问方式。如果你不止一次得到帮助,现在就回去投票并接受有用的答案还不算晚。谢谢。你真的应该接受一些你收到的好答案。如果你所问的23个问题只得到过一次真正的帮助,请阅读并认真改进你的提问方式。如果你不止一次得到帮助,现在就回去投票并接受有用的答案还不算晚。谢谢