XMLSchema.xsd 文件约束xml文档格式内容

简介: XMLSchema.xsd 文件,用来约束xml内容格式的。 ...
XMLSchema.xsd 文件,用来约束xml内容格式的。
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="XMLSchemaLettle"
    targetNamespace="http://www.pukuimin.com/XMLSchemaLettle.xsd"
    elementFormDefault="qualified"
    xmlns="http://www.pukuimin.com/XMLSchemaLettle.xsd"
    xmlns:mstns="http://www.pukuimin.com/XMLSchemaLettle.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
  <xs:element name="note">
    <xs:complexType>
      <xs:sequence>

        <xs:element name="heading" type="xs:string" minOccurs="0" maxOccurs="1" default="headstring">
        </xs:element>
        <xs:element name="body" type="xs:string" minOccurs="0" maxOccurs="1" default="content"/>
        <xs:element name="aletter" minOccurs="0" maxOccurs="1" default="a">
          <!--只能输入一个字符,且是大小写字母中的一个-->
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:pattern value="[a-zA-Z]"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="age" minOccurs="0" maxOccurs="1">
          <!--只能指定一个范围内的值-->
          <xs:simpleType>
            <xs:restriction base="xs:integer">
              <xs:minInclusive value="1"/>
              <xs:maxInclusive value="120"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>

        <xs:element name="gender" minOccurs="0" maxOccurs="1" default="male">
          <!--正则表达示限制输入规则,这样能验证,但不自动提示-->
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:whiteSpace value="replace"/>
              <!--移除所有空白字符(换行、回车、空格以及制表符)-->
              <xs:pattern value="male|female"/>
              <xs:minLength value="4"/>
              <!--最小字符数-->
              <xs:maxLength value="6"/>
              <!--最大字符数-->
            </xs:restriction>
          </xs:simpleType>
        </xs:element>

        <xs:element name="password" minOccurs="0" maxOccurs="1" default="12345678">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:length value="8"/>
              <!--固定长度-->
            </xs:restriction>
          </xs:simpleType>
        </xs:element>

        <xs:element name="from" type="xs:string" minOccurs="0" maxOccurs="1" default="pukuimin"/>
        <xs:element name="to" minOccurs="0" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence minOccurs="1" maxOccurs="1">
              <!--一个元素下的子元素-->
              <xs:element name="full_name" minOccurs="1" maxOccurs="1">
                <!--只能指定一个固定的值,vs里按Ctrl+J 就能显示可以指定的值-->
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value="pu"/>
                    <xs:enumeration value="shu"/>
                    <xs:enumeration value="liu"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="child_name" type="xs:string" minOccurs="1" maxOccurs="1"/>
            </xs:sequence>
            <xs:anyAttribute />
            <!--允许指定自定义属性-->
          </xs:complexType>
        </xs:element>

        <xs:element name="to2">
          <xs:complexType>
            <xs:attributeGroup ref="persongroup"/>
          </xs:complexType>
        </xs:element>

      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:attributeGroup name="persongroup">
    <!--一个元素中的很多属性-->
    <xs:attribute name="firstname" default="pu">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="pu"/>
          <xs:enumeration value="shu"/>
          <xs:enumeration value="liu"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="lastname" type="xs:string" default="km"/>
    <xs:attribute name="birthday" type="xs:date" default="2012-08-27"/>
  </xs:attributeGroup>

</xs:schema>


在vs2010中:

 

生成的示例xml文件内容:

<?xml version="1.0" encoding="utf-8"?>
<note xmlns="http://www.pukuimin.com/XMLSchemaLettle.xsd">
  <heading>headstring</heading>
  <body>content</body>
  <aletter>a</aletter>
  <age>1</age>
  <gender>male</gender>
  <password>12345678</password>
  <from>pukuimin</from>
  <to>
    <!-- Attribute Wild card could not be matched. Generated XML may not be valid. -->
    <full_name>pu</full_name>
    <child_name>child_name1</child_name>
  </to>
  <to>
    <!-- Attribute Wild card could not be matched. Generated XML may not be valid. -->
    <full_name>shu</full_name>
    <child_name>child_name2</child_name>
  </to>
  <to>
    <!-- Attribute Wild card could not be matched. Generated XML may not be valid. -->
    <full_name>liu</full_name>
    <child_name>child_name3</child_name>
  </to>
  <to2 firstname="pu" lastname="km" birthday="2012-08-27" />
</note>


如果不符合约束要求,文档就会 显示警告。

 

 

相关文章
|
2月前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
79 1
|
4月前
|
XML 数据采集 存储
使用Java和XPath在XML文档中精准定位数据
在数据驱动的时代,从复杂结构中精确提取信息至关重要。XML被广泛用于数据存储与传输,而XPath则能高效地在这些文档中导航和提取数据。本文深入探讨如何使用Java和XPath精准定位XML文档中的数据,并通过小红书的实际案例进行分析。首先介绍了XML及其挑战,接着阐述了XPath的优势。然后,提出从大型XML文档中自动提取特定产品信息的需求,并通过代理IP技术、设置Cookie和User-Agent以及多线程技术来解决实际网络环境下的数据抓取问题。最后,提供了一个Java示例代码,演示如何集成这些技术以高效地从XML源中抓取数据。
181 7
使用Java和XPath在XML文档中精准定位数据
|
1天前
|
XML Java 数据格式
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
本文介绍了在使用Spring框架时,如何通过创建`applicationContext.xml`配置文件来管理对象。首先,在resources目录下新建XML配置文件,并通过IDEA自动生成部分配置。为完善配置,特别是添加AOP支持,可以通过IDEA的Live Templates功能自定义XML模板。具体步骤包括:连续按两次Shift搜索Live Templates,配置模板内容,输入特定前缀(如spring)并按Tab键即可快速生成完整的Spring配置文件。这样可以大大提高开发效率,减少重复工作。
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
|
4月前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
1月前
|
XML Android开发 数据格式
Eclipse 创建 XML 文件
Eclipse 创建 XML 文件
28 2
|
1月前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
136 8
|
2月前
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
31 3
|
2月前
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
116 0
|
2月前
|
XML JSON 前端开发
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
567 0
|
2月前
|
XML 存储 Web App开发
查看 XML 文件
查看 XML 文件