xml、dtd学习笔记

xml用处有三:

1.可以作为程序间通讯的标准(ajax text xml json)

2.可以用作配置文件(php中用的很多)

<?php

  $conn=mysql_connect("192.168.0.1","root","root");

  //php 可以操作xml

?>

配置文件

<dbinfo>

  <host>192.168.0.123</host>

  <user>zhangsan</user>

  <type>mysql</type>

  <password>root</password>

</dbinfo>

3.可以当成小型数据库

如果有些数据放在数据库代价高,可以考虑直接放入xml文件

 

【简单语法】

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

<大>

  <中 value="xxx" value2="xxx">

    <name>zhangsan</name>

    <sex>man</sex>

    <age>25</age>

  </中>

</大>

 

【xml实体引用】

&lt;【<】

&gt;【>】

&apos;【'】

&quot;【"】

&amp;【&】

 

【如何使用xml文件传递、保存一个图片?】

答:使用程序先读入到内存,然后保存到xml文件的<![CDATA[ 文件内容]]>,如:<头像><![CDATA[@#¥%]]></头像>

 

了解:【xml也可以使用css来修饰,使用pi(processing instrution:处理指令)】

<?xml-stylesheet type="text/css" href="classes.css" ?>

 

【DTD的主要用处】:是约束xml、html、xhtml等文件

【常用约束技术】:

1.【dtd】:document type definition;2. 【Schema】

 

【xml引入dtd】

1.内部DTD文档:<!DOCTYPE 根元素 [定义内容]>

2.外部DTD文档:<!DOCTYPE 根元素 SYSTEM "DTD文件路径">

3.内外部DTD文档结合:<!DOCTYPE 根元素 SYSTEM "DTD文件路径" [定义内容]>

 

=======================================

【校验xml】:checkDTD.html

<html>
  <head>
    <title>测试dtd</title>
    <meta http-equiv="content-type" content="text/content; charset:utf-8" />
    <script language="javascript">
    <!--
       //创建一个xml解析器
      var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
      //开启校验功能
      xmldoc.validateOnParse = true;
      //指定对哪个xml文件校验
      xmldoc.load("classes2.xml");
      //如果有错误信息,则输出
      document.write("错误信息:"+xmldoc.parseError.reason+"<br />");
      document.write("错误行数:"+xmldoc.parseError.line);
    //-->
    </script>
  </head>
</html>

=======================================

【DTD规范:】

注:(#PCATA):只能有文本,不能再包含子元素

注:EMPTY:不能包含子元素和文本

注:ANY:可以包含DTD中定义的任何元素

<!ELEMENT 班级 (学生+)>

<!ELEMENT 学生 (名字, 年龄, 介绍)>

<!ELEMENT 名字 (#PCDATA)>

<!ELEMENT 年龄 (#PCDATA)>

<!ELEMENT 介绍 (#PCDATA)>

 

 【DTD修饰符:】

?:0到1

+:1到多

*:0到多

|:表示选择

,:表示元素出现的顺序

():给元素分组

 

===【元素属性列表说明】===

【基本语法】

<!ATTLIST 元素名字

属性名 属性类型 属性的特点

属性名 属性类型 属性的特点

>

【属性类型】

  CDATA:表示属性值是字符或者数字

  ID:属性值是唯一的,字母开头

  IDREF/IDREFS:id引用

  Enumeruted:枚举   (a|b|c)必须选一个

  ENTITY/ENTITIES:实体,分为引用实体参数实体。(xml中:&实体名;)

    <!ENTITY 实体名 "内容">

    <!ENTITY % 参数实体名 "定义过的元素">

【属性的特点】

  #REQUIRED:该属性必须有

  #IMPLIED:该属性可以有可以没有

  #FIXED value:该属性的值是固定值

  #DEFAULT value:默认值

 ==============================================

posted @ 2014-10-18 18:15  ayee  阅读(218)  评论(0编辑  收藏  举报