xml约束

作者: 咸鱼佬 | 来源:发表于2018-09-22 14:32 被阅读10次

什么是xml约束

在xml技术里,编写一个文档/文件来约束一个xml文档的书写规范、称为xml约束。因为没有约束 编写的xml文件格式就不统一

常用的xml约束技术

  • xml dtd document type definition 文档类型定义
  • xml xsd xml schema definition 维基

xsd 与 dtd 比较

xsd

xml schema 本身也是一种xml 所以它也要引用schema 文件来规范

<schema
xmlns="http://www.w3.org/2001/XMLSchema">
</schema>

xmlnsd 的全称是 xml namespace 命名空间

那么这么多xsd 我们如何区分它们呢(当然不能仅仅通过文件名),那么就可以为每个xsd文件设置一个标识,这个标识就是 targetNameSpace

<schema
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://copyLi.com">
</shema>

而targetNameSpace 这个属性的定义来源就是 xmlns 中定义的
而targetNameSpace 这个属性的值是一个url,但是它可能根本不是一个存在的url

而schema 标签中还有一个重要的属性,那就是elementFormDefault 这个属性的值只有两个,一个是qualified 和 unqualified。代表的意思分别是 应用这个xsd 的其他xml文件 是否遵守xsd文件定义的所有标签元素、qualified就是遵守 而unqualified就是只遵守根元素、一般都是qualified 默认值是unqualified

<schema
    xmlns="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://copyLi.com"
    elementFormDefault="qualified">

    <!--根元素-->
    <element name="书架">

        <!--代表是一个复杂的类型-->
        <complexType>

            <!--maxOccurs 代表了最大的数目、unbounded 代表可以放置无限多-->
            <sequence maxOccurs="unbounded">

                <!--第二个元素-->
                <element name="书">
                    <complexType>
                        <sequence>
                            <element name="书名" type="string"/>
                            <element name="作者" type="string"/>
                            <element name="售价" type="string"/>
                        </sequence>
                    </complexType>
                </element>
            </sequence>
        </complexType>
    </element>
</schema>

分析spring 配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans 
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
</beans>

这个xml文件引用了xsd 一个是 spring 自己的 一个是w3c 的,为啥要引用w3c的呢?因为要使用到这个xsd 中的 schemaLocation 属性 这个属性表明了这个xsd 文件的位置

因为在同一个xml中引用到了两个xsd 文件 这个时候如何区分呢,那就是通过别名了
xmlns:xsi-----> xsi 这个就是这个xsd 的别名 所以使用schemaLocation属性时就加上了xsi

而schemaLocation 这个值得设置就是

xsd的targeNameSpa xsd的文件路径
image

而引用xsd 文件 就是通过属性 xmlns

最后

学习视频

相关文章

  • xml约束

    什么是xml约束 在xml技术里,编写一个文档/文件来约束一个xml文档的书写规范、称为xml约束。因为没有约束 ...

  • 3/30day22_XML_XML约束

    day22_XML_XML约束 思维导图 复习 今日内容 XML XML约束 XML的学习 XML概念 XML的介...

  • XML约束

    xml约束:规范了xml文件数据内容格式的编写规则 xml约束技术: DTD约束:语法相对简单,功能也相对简单 s...

  • xml约束

    定义约束tes.xsd 引用约束my.xml

  • XML约束——DTD约束

    约束 XML技术中,可以编写一个文档来约束一个XML的书写规范,约束文档定义了在XML中允许出现的元素名称、属性及...

  • XML约束——Schema约束

    Schema与DTD XML Schema符合XML语法结构。 DOM、SAX等XML API很容易解析出XML ...

  • XML(二)XML约束

    XML约束 DTD DTD(Document Type Define),dtd文件中描述并规定了元素、属性和其他内...

  • XML中的DTD约束

    什么是约束? 在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这就是XML约束。约束定义了文档的结...

  • XML约束和解析

    XML基本语法 XML解析 一 XML约束 在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之...

  • XML的约束

      由于xml是一种可扩展的标记语言,我们可以自己定义标签的写法,但我们在实际开发的时候,不能每人都按照自己的想法...

网友评论

      本文标题:xml约束

      本文链接:https://www.haomeiwen.com/subject/dptxoftx.html