xml-引用dtd和dtd的基本语法

来源:互联网 发布:手机淘宝网怎样注册 编辑:程序博客网 时间:2024/05/17 04:55
myClass.xml
<?xml version="1.0" encoding="utf-8" ?><!--引入本地dtd去约束该xml文件--><!DOCTYPE class SYSTEM 'myClass.dtd'><class><stu><name 地址="广东">杨过</name><sex>男</sex><age>30 &mycopy;</age><intro><![CDATA[asdk,sad<sad>asdasd<sda<asd>asdad>ad]]></intro></stu></class>
myClass.dtd:
<!--参数实体在dtd文件中使用%mysex;--><!ENTITY % mysex "sex"><!--+表示一个或多个?表示0或1个*表示0到多次()分组| 多选一, 按顺序出现ELEMENT NAME CONTENT关键字元素名称元素类型(大写)EMPTY(该元素不能包括子元素和文本,可有属性)ANY(该元素可以把包含任何在dtd中定义的元素内容)#PCADATA(可以包含任何字符数据,除了子元素)--><!ELEMENT class (stu+)><!ELEMENT stu (name,%mysex;,age,intro)><!ELEMENT name (#PCDATA)><!--定义某个元素的属性,就紧接着写ALTTLIST 元素名称 属性名称 类型  属性特点                           CDATA(可以放文本)#REQUIRED(必须赋值)                           ID(唯一,不能以数字开头)#IMPLIED(可有可无)                           IDREF/IDREFS(父ID/多个[空格分开])#FIXED value(固定值,可不赋值)                           Enumerate(男|女)属性名称不用写 Default value(默认值)                           ENTITY/ENTITIES  --><!ATTLIST name 地址 CDATA #REQUIRED><!ELEMENT age (#PCDATA)><!ELEMENT intro (#PCDATA)><!ELEMENT %mysex; (#PCDATA)> <!--引用实体最好把定义放在dtd的最后在xml中使用&mycopy;--><!ENTITY mycopy "我的公司版权">
myxmltools.html(校验xml是否成功引用该dtd文件约束)
<html><head><!--自己编写一个简单的解析工具,去解析xml dtd 是否配套--><script language="javascript">//创建xml文档解析器对象var xmldoc = new ActiveXObject("Microsoft.XMLDOM");//开启xml校验xmldoc.validateOnParse = "true";//装载xml文档xmldoc.load("myClass.xml");;//获取错误信息document.writeln("错误信息是:"+xmldoc.parseError.reason+"<br/>");//提示错误行号document.writeln("错误的行是:"+xmldoc.parseError.line);</script></head><body></body></html>



原创粉丝点击