You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从RelaxNG生成XSD并保留根元素限制,求转换指定RNG Schema

没问题,我帮你把这段Relax NG Schema转换成符合要求的W3C XSD,同时完整保留根元素的限制规则。先看转换后的代码:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <!-- 根元素risk,包含可选的continents子元素 -->
    <xs:element name="risk">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="continents" minOccurs="0">
                    <xs:complexType>
                        <xs:sequence>
                            <!-- continent元素至少出现一次 -->
                            <xs:element name="continent" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:sequence>
                                        <!-- country元素可重复0次或多次,字符串长度1-100 -->
                                        <xs:element name="country" maxOccurs="unbounded">
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <xs:minLength value="1"/>
                                                    <xs:maxLength value="100"/>
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:element>
                                        <!-- sea元素可重复0次或多次,字符串长度1-100 -->
                                        <xs:element name="sea" maxOccurs="unbounded">
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <xs:minLength value="1"/>
                                                    <xs:maxLength value="100"/>
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

转换说明:

  • 严格保留了根元素<risk>的结构,continents子元素设置minOccurs="0",对应RNG里的可选规则
  • continent元素用maxOccurs="unbounded"实现RNG中+(至少出现一次)的约束
  • country和sea元素同样用maxOccurs="unbounded"对应RNG里的*(0次或多次重复)
  • 字符串长度限制直接映射为XSD的minLength和maxLength约束,确保和原RNG规则一致

内容的提问来源于stack exchange,提问作者Qeebrato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 10:08:03