XML 不同类型的方案验证

XML Scheme validation for different types

我正在尝试为应以

结尾的电子邮件制作 xml 验证码

我已经为 gmail 实现了一个代码,但我不知道如何为 3 种不同的类型创建一个模式。

<xs:element name="email">
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:pattern value="[A-Za-z_.0-9]+@gmail\.com"></xs:pattern>
        </xs:restriction>
     </xs:simpleType>
</xs:element>

您可以使用

<xs:pattern value="[A-Za-z0-9_.]+@(gmail|hotmail|yahoo)\.com"></xs:pattern>
<xs:pattern value="[^@]+@(gmail|hotmail|yahoo)\.com"></xs:pattern>

(gmail|hotmail|yahoo)\.com 部分将匹配 gmail.comhotmail.comyahoo.com。请注意,您只能在 XSD 正则表达式中使用 捕获 组,因此不允许 (?:...)

注意 [^@]+ 匹配除 @ 之外的任何一个或多个字符,并且是一种更宽松的电子邮件验证模式,以防万一您需要在用户名中允许更多字符。