04_XML_03_XMLDTD约束与校验

【什么是XML约束】

在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,称之为XML约束。

常见的XML约束技术有:XML DTD和XML Schema

DTD(Document Type Definition):文档类型定义

【DTD简单案例】

【book.dtd】注意:DTD文件应该使用UTF-8或Unicode格式保存

这里的含义是,根节点必须是<书架></书架>

<书架></书架>节点内可以有1个或多个<书></书>的节点

<书></书>节点内可以有<书名>、<作者>、<售价>等节点

<书名>、<作者>、<售价>等节点内的数据时PCDATA类型的

【book.xml】

【编写DTD约束的两种方式】

1.DTD约束可以作为一个单独的文件编写。(如上例所示)

2.也可以在XML文件内直接编写

【引用DTD约束】

XML文件使用DOCTYPE声明语句来指明它所遵循的DTD文件,DOCTYPE有两种形式:

1.当引用的DTD文件在本地时,采用以下方式:

<!DOCTYPE   文档根节点   SYSTEM   “DTD文件的URL” >

例如:

2.当引用的文件是一个公共的文件时,采用以下方式 :

<!DOCTYPE   文档根节点   PUBLIC "DTD名称" “DTD文件的URL” >

例如:

时间: 2024-10-16 15:14:24

04_XML_03_XMLDTD约束与校验的相关文章

DTD约束的校验工具安装及检验(Iexmltls工具)

通过打开我们写的dtd约束文档,我们可以看到,在我们不按规定的格式打开xml时并不能检验出错误.此时我们可以借助软件来帮助我们校验. Iexmltls是一个在IE浏览器下安装的用于检验xml约束是否正确的小插件.下面给出其安装步骤: 1.点击安装文件,右键以管理员身份运行 2.按提示点击continue . 3.是安装目录,一般默认即可,点击next 4.找到安装目录 5.在msxmlval.inf文件上右击安装 6安装成功后,打开ie可以看到如图提示就安装成功了 . 二.下面看怎样检验dtd约

Oracle笔记之约束

约束用于保证数据库中某些数据的完整性,给某一列添加一个约束可以保证不满足约束的数据是绝对不会被接受的. 约束主要有那么五种类型:非空约束.唯一约束.主键约束.外键约束.校验约束. 使用如下命令检索某个表上的所有约束(需要注意WHERE条件中的表名和用户名需要大写,不然检索不到): SELECT * FROM all_constraints WHERE table_name = 'T_USER' AND owner = 'SCOTT'; 结果如下: SQL> SELECT * 2 FROM all

Symfony2学习笔记之数据校验

校验在web应用程序中是一个常见的任务.数据输入到表单需要被校验.数据在被写入数据库之前或者传入一个webservice时也需要被校验. Symfony2 配备了一个Validator 组件,它让校验工作变得简单易懂.该组件是基于JSR303 Bean校验规范.一个Java规范用在PHP中. 基本验证理解校验的最好方法是看它的表现.首先,假设你已经创建了一个用于你应用程序某个地方的PHP对象. //src/Acme/BlogBundle/Entity/Author.php namespace A

LDPC编译码基本原理

学习笔记 V1.0 2015/02/04 LDPC编译码基本原理 ? 概述 ? 本文是个人针对LDPC的学习笔记,主要针对LDPC译码算法做了简要的总结.该版本主要致力于阐述LDPC码译码原理,这是一份有很多"问题"的总结,希望能够慢慢完善. 修订历史 以下表格展示了本文档的修订过程 日期 版本号 修订内容 2015/02/04 V1.0 初始版本,仅包含译码部分 简介 ? 本文提到的LDPC编码均指二进制LDPC编码,多进制暂时不进行讨论.为方便起见本文中混用了似然函数和条件概率密度

initially immediate 与 initially deferred

initially immediate 初始化立即执行. initially deferred 初始化延迟执行. 表约束定义:       [ CONSTRAINT name ]          { PRIMARY KEY constraint |            FOREIGN KEY constraint |           UNIQUE constraint |            CHECK constraint }           [ {INITIALLY DEFER

easyconf——基于AugularJS的配置管理系统开发框架

目录 1 easyconf的诞生2 easyconf的设计理念 2.1 总体设计 2.2 细节设计 2.2.1 CRUD操作 2.2.2 即时校验 2.2.3 下拉框设计3 easyconf使用指南 3.1 基本步骤 3.2 表配置文件 3.3 easyconf.js的定制 3.3.1 语言 3.3.2 URL地址 3.3.3 自定义校验方法4 easyconf后端开发指南 4.1 请求说明 4.2 返回说明5 下一步的工作 1 easyconf的诞生 大概半年前做一个原型系统,有很多配置数据存

Java虚拟机(JVM)概述

JVM(Java虚拟机)是一个抽象的计算模型.就如同一台真实的机器,它有自己的指令集和执行引擎,可以在运行时操控内存区域.目的是为构建在其上运行的应用程序提供一个运行环境.JVM可以解读指令代码并与底层进行交互:包括操作系统平台和执行指令并管理资源的硬件体系结构.本文主要对JVM进行概述,并介绍Java程序是如何在上面执行的. 虚拟机 从本质上讲,虚拟机是个被构建来提供特定或通用目的服务环境的非实体计算机.这听起来像是一个仿真器,用来仿真机器未配置或不能按要求执行任务的硬件组件.因此,我们要做的

版本不匹配引发的血案:javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint

发现一个API报了错: javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 'javax.validation.constraints.NotEmpty' validating type 'java.lang.String'. Check configuration for 'cancelReason' at org.hibernate.validator.i

Atitit.&#160;数据约束&#160;校验&#160;原理理论与&#160;架构设计&#160;理念模式java&#160;php&#160;c#.net&#160;js&#160;javascript&#160;mysql&#160;oracle

Atitit. 数据约束 校验 原理理论与 架构设计 理念模式java php c#.net js javascript mysql oracle 1. 主键1 2. uniq  index2 3. 检查约束 (Check Counstraint) 对该列数据的范围.格式的限制(如:年龄.性别等)2 4. 默认约束 (Default Counstraint) 该数据的默认值2 5. trigger2 6. 外键机制  参照完整性:2 7. 断言约束:不必与特定的列绑定,可以理解为能应用于多个表的