每次使用它检查xml文件时,仅仅需改动xmldoc.load("xml文件名称");中的文件名称,然后将该文件放在浏览器中执行就可以。

依据浏览器弹出的对话框进行推断自己写的xml是否满足dtd约束

说明:

1.正确的xml文件:语法上没有错

  有效的xml文件:语法上没有错,而且也满足dtd约束。

2.这个仅仅能用IE浏览器去測试,用火狐浏览器測试无效。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <title>一叶扁舟</title>

  </head>

  <body>

<script type="text/javascript">

//创建IE内置解析器

var xmldoc = new ActiveXObject("Microsoft.XMLDOM");

//开启xml校验

xmldoc.validateOnParse="true";

//载入须要检查的XML文件

xmldoc.load("arg_entity.xml");

//正确

if(xmldoc.parseError.reason.length==0){

window.alert("有效的XML文件(语法正确+DTD约束");

//出错

}else{

window.alert(xmldoc.parseError.reason);

}

</script>

  </body>

</html>

自己写的xml文件:(class.xml)

<?xml version="1.0" encoding ="UTF-8"?>

<!DOCTYPE person SYSTEM "class.dtd">

<!-- 用dtd-描写叙述一个学生的信息 -->

<person>

<student>

<name>一叶扁舟</name>

<age>23|</age>

<sex>男</sex>

</student>

<student>

<name>无悔</name>

<age>20</age>

<sex>男</sex>

</student>

</person>

定义的dtd约束文件:(class.dtd)

<?xml version="1.0" encoding="UTF-8"?>





<!ELEMENT person (student+)>

<!ELEMENT student (name,age,sex)>

<!ELEMENT name  (#PCDATA)>

<!ELEMENT age (#PCDATA)>

<!ELEMENT sex (#PCDATA)>

效果截图:

XML自己定义检查器语法+约束(1)的更多相关文章

  1. JAVA企业级开发-xml基础语法&约束&解析(04)

    一.什么是xml html:超文本标记语言.它主要是用来封装页面上要显示的数据,最后通过浏览器来解析html文件,然后把数据展示在浏览器上.同样我们可以使用JS和DOM技术对html文件进行解析和操作 ...

  2. Java Persistence with MyBatis 3(中文版) 第三章 使用XML配置SQL映射器

    关系型数据库和SQL是经受时间考验和验证的数据存储机制.和其他的ORM 框架如Hibernate不同,MyBatis鼓励开发者可以直接使用数据库,而不是将其对开发者隐藏,因为这样可以充分发挥数据库服务 ...

  3. SOAPUI使用教程-WSDL项目---检查器

    SoapUI Pro添加了许多可用的WSDL消息上下文的检查器. XSD / XML Schema检查器 XML Schema检查器显示当前节点对应的XML模式定义. 下面的屏幕截图显示了在Bing搜 ...

  4. XML语言1.简介和语法

    一.什么是XML语言? XML 指可扩展标记语言(Extensible Markup Language) Xml是独立于软件和硬件的信息传输工具. XML 是一种很像HTML的标记语言. 但xml不是 ...

  5. class文件检查器

    Class文件检查器保证装载的class文件内容有正确的内部结构,并且这些class文件互相间协调一致.Class文件检查器实现的安全目标之一就是程序的健壮性.如果某个有漏洞的编译器,或某个聪明的黑客 ...

  6. 『言善信』Fiddler工具 — 8、Fiddler检查器(Inspectors)详解

    目录 1.请求报文内容 2.响应报文内容 3.响应报文中Transformer选项说明 Inspectors意思是检查器.Inspectors可以使用多种方式,查看请求的请求报文和响应报文相关信息. ...

  7. struts2学习笔记(5)---自己定义拦截器

    什么是拦截器? struts2中拦截器分为Struts2定义好的拦截器和自己定义的拦截器. 其作用是在一个Action运行之前进行拦截,在Action运行之后又增加某些操作. 实现原理 当请求一个Ac ...

  8. python 拼写检查代码(怎样写一个拼写检查器)

    原文:http://norvig.com/spell-correct.html 翻译:http://blog.youxu.info/spell-correct.html 怎样写一个拼写检查器 Pete ...

  9. Struts2通过自己定义拦截器实现登录之后跳转到原页面

    这个功能对用户体验来说是非常重要的.实现起来事实上非常easy. 拦截器的代码例如以下: package go.derek.advice; import go.derek.entity.User; i ...

随机推荐

  1. c#中去掉字符串空格方法

    (1)Trim方法 string   tt=" aaa "; tt=tt.Trim()       去字符串首尾空格的函数 tt=tt.TrimEnd() 去掉字符串尾空格 tt= ...

  2. SVN global ignore pattern for c#

    *.resharperoptions Web_Data log */[Bb]in [Bb]in */obj obj  */TestResults TestResults *.svclog Debug ...

  3. word2vec生成词向量原理

    假设每个词对应一个词向量,假设: 1)两个词的相似度正比于对应词向量的乘积.即:$sim(v_1,v_2)=v_1\cdot v_2$.即点乘原则: 2)多个词$v_1\sim v_n$组成的一个上下 ...

  4. springmvc问题汇总

    1.  IncompatibleClassChangeError in spring mvc Failed to read candidate component class.......       ...

  5. PHP删除Solr文档

    <?php $options = array ( 'hostname' => 'localhost', 'port' => '8080', 'path'=>'solr/help ...

  6. 我的github代码添加

    1.创建一个新的repository: echo "# backupVim" >> README.md git init git add README.md git c ...

  7. C#的SerialPort串口程序设计总结

    简介:微软的VS提供了SerialPort控件,也就是串行端口资源. 当然也可以添加引用 using System.IO.Ports; 通过实例化SerialPort对象就可以使用其属性和方法了. S ...

  8. 2.2.1 创建一个 Path

    Demo: import java.nio.file.Path; import java.nio.file.Paths; /** * @author jinxing * @系统 MAC OS X * ...

  9. 13 Roman to Integer(罗马数字转int Easy)

    题目意思:罗马数字转int 思路:字符串从最后一位开始读,IV:+5-1 class Solution { public: int romanToInt(string s) { map<char ...

  10. tomcat jar包加载顺序

    加载顺序: 1. $java_home/lib 目录下的java核心api 2. $java_home/lib/ext 目录下的java扩展jar包 3. java -classpath/-Djava ...