您的位置:首页 > 其它

xml、dtd学习笔记

2014-10-18 18:15 281 查看
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实体引用】

<【<】

>【>】

'【'】

"【"】

&【&】

【如何使用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:默认值

==============================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: