• [疯狂xml讲义]对比xhtml1.0 DTD的笔记


    题外话:-):尽管都Schema了,了解下DTD还是有好处的.就好比拿asp的站,得至少对asp使用有个大体了解吧

    做个笔记:

    1.DTD注释同xml:

     1 <!--
     2    Extensible HTML version 1.0 Transitional DTD
     3 
     4    This is the same as HTML 4 Transitional except for
     5    changes due to the differences between XML and SGML.
     6 
     7    Namespace = http://www.w3.org/1999/xhtml
     8 
     9    For further information, see: http://www.w3.org/TR/xhtml1
    10 
    11    Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
    12    All Rights Reserved. 
    13 
    14    This DTD module is identified by the PUBLIC and SYSTEM identifiers:
    15 
    16    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    17    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
    18 
    19    $Revision: 1.2 $
    20    $Date: 2002/08/01 18:37:55 $
    21 
    22 -->

    3.参数实体定义

    1 <!ENTITY % Script "CDATA">
    1 <!-- a color using sRGB: #RRGGBB as Hex values -->
    2 <!ENTITY % Color "CDATA">
    1 <!-- used for object, applet, img, input and iframe -->
    2 <!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
    1 <!ENTITY % StyleSheet "CDATA">
    2     <!-- style sheet data -->
    1 <!ENTITY % coreattrs
    2  "id          ID             #IMPLIED
    3   class       CDATA          #IMPLIED
    4   style       %StyleSheet;   #IMPLIED
    5   title       %Text;         #IMPLIED"
    6   >
    1 <!ENTITY % i18n
    2  "lang        %LanguageCode; #IMPLIED
    3   xml:lang    %LanguageCode; #IMPLIED
    4   dir         (ltr|rtl)      #IMPLIED"
    5   >
     1 <!ENTITY % events
     2  "onclick     %Script;       #IMPLIED
     3   ondblclick  %Script;       #IMPLIED
     4   onmousedown %Script;       #IMPLIED
     5   onmouseup   %Script;       #IMPLIED
     6   onmouseover %Script;       #IMPLIED
     7   onmousemove %Script;       #IMPLIED
     8   onmouseout  %Script;       #IMPLIED
     9   onkeypress  %Script;       #IMPLIED
    10   onkeydown   %Script;       #IMPLIED
    11   onkeyup     %Script;       #IMPLIED"
    12   >

    使用:

    1 <!ATTLIST title 
    2   %i18n;
    3   id          ID             #IMPLIED
    4   >
    1 <!ELEMENT div %Flow;>  <!-- generic language/style container -->
    2 <!ATTLIST div
    3   %attrs;
    4   %TextAlign;
    5   >

    其实就是类似宏替换。

    1 <!ENTITY % fontstyle.extra "big | small | font | basefont">
    2 
    3 <!ENTITY % fontstyle.basic "tt | i | b | u
    4                       | s | strike ">
    5 
    6 <!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
    fontstyle.extra这种命名管理方式不错,嘻嘻

    4.属性定义

    实体:

    1 <!ENTITY % attrs "%coreattrs; %i18n; %events;">
    1 <!ELEMENT dd %Flow;>
    2 <!ATTLIST dd
    3   %attrs;
    4   >

    ATTLIST,所以一个声明中可以定义多个属性:

    <!ATTLIST User

    Id ID #REQUIRED

    Name NMTOKEN #REQUIRED

    >

    2.元素的定义

    1 <!ELEMENT html (head, body)>
    1 <!ELEMENT title (#PCDATA)>
    1 <!ELEMENT base EMPTY>
    1 <!ELEMENT ul (li)+>
    1 <!-- %Inline; covers inline or "text-level" elements -->
    2 <!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
    3 <!ELEMENT u %Inline;>   <!-- underline -->  
  • 相关阅读:
    WPF 体验数据邦定
    数组和指针
    关于js的this上下文环境绑定
    比较特别的dean edward的javascript事件处理
    ie6 png透明支持缩放后的图片透明
    使用局部上下文创建控制器对象
    html5和c++封装webkit内核实现开放式游戏大厅设计(一)
    第二种简单方式创建模型控制器的方式
    Express 3.x + Socket.IO 版本升级后的改动(无法加载/socket.io/socket.io.js)
    MVC中简单数据模型(M): Model类
  • 原文地址:https://www.cnblogs.com/xcf007/p/2783909.html
Copyright © 2020-2023  润新知