zoukankan      html  css  js  c++  java
  • DTD约束和Schema约束

    DTD约束

    什么是DTD?

      DTD(Document Type Definition),文档类型定义,用来约束XML文档。规定XML文档中元素的名称,子元素的名称及顺序,元素的属性等。

    DTD约束长什么样?

      

    xml如何引用DTD约束?

      1.内部DTD,在XML文档内部嵌入DTD,只对当前XML有效。

    <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
    <!DOCTYPE web-app [
        ... //具体的语法
    ]>
    <web-app>
    </web-app>

      2.外部DTD—本地DTD,DTD文档在本地系统上,公司内部自己项目使用。

    <?xml version="1.0" encoding="utf-8" standalone="no" ?>
    <!DOCTYPE web-app SYSTEM "web-app_2_3.dtd">
    <web-app>
    </web-app>

      3.外部DTD—公共DTD,DTD文档在网络上,一般都有框架提供。

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    </web-app>

    Schema约束

    什么是Schema?

      Schema是新的XML文档约束;

      Schema要比DTD强大很多,是DTD 替代者;

      Schema本身也是XML文档,但Schema文档的扩展名为xsd,而不是xml。

      Schema 功能更强大,数据类型更完善

      Schema 支持名称空间

    如何引用Schema约束?

      引入Schema的命名空间

    <web-app xmlns="http://www.example.org/web-app_2_5" 
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://www.example.org/web-app_2_5 web-app_2_5.xsd"
            version="2.5">

    什么是命名空间?

      如果一个XML文档中使用多个Schema文件,而这些Schema文件中定义了相同名称的元素时就会出现名字冲突。

      所以名称空间就是用来处理元素和属性的名称冲突问题,与Java中的包是同一用途。

  • 相关阅读:
    Oracle备份 还原命令
    maven错误解决一:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile)
    maven File encoding has not been set
    maven 错误: 程序包org.junit不存在
    <转>JDBC获取DB元数据
    <转>SQL语句执行顺序说明
    Oracle 创建/删除 表空间、用户、授权
    lucene/solr 修改评分规则方法总结
    Solr入门之(8)中文分词器配置
    Solr入门之(7)Solr客户端界面简介
  • 原文地址:https://www.cnblogs.com/nylgwn/p/11138482.html
Copyright © 2011-2022 走看看