<!ATTLIST 元素名 属性名称 属性类型 属性特点>

1.属性类型

类型 含义
CDATA 纯文本
enumerated 枚举类型
ID 以属性的方式唯一标识改元素,必须以字母开头
IDREF

属性值引用已定义的id值,复数形式可以应用多个id,

以空格隔开

IDREFS
entity 取值为一个已定义的实体
entities 可以包含多个实体,中间用空格隔开
nmtoken 属性值只能为字母,数字,下划线 , '.' ,  ':' ,  '-' 组成
nmtokens 可以右多个nmtoken组成,中间用空格隔开
notation  

(1)CDATA

e.g

<!ATTLIST 木偶 
姓名 CDATA #REQUIRED
年龄 CDATA #REQUIRED
> <木偶 姓名="pi Nuocao" 年龄="12">

(2) ID类型

<!ATTLIST student
number ID #REQUIRED
name CDATA #REQUIRED
> <student number="a001" name="张三" />

(3)IDREF,IDREFS

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE family[
<!ELEMENT family (person+)>
<!ELEMENT person EMPTY>
<!ATTLIST person
relId ID #REQUIRED
parenetId IDREFS #IMPLIED
name CDATA #REQUIRED
>
] > <family>
<person redId="p1" name="爸爸" />
<person redId="p2" name="妈妈" />
<person redId="p3" parenetId="p1 p2" name="儿子" />
</family>

(4)enumerated枚举类型

<!ATTLIST person
gender (男|女) #REQUIRED>

2.属性特点

名称 定义 说明方式
#REQUIRED 必须 ..
#IMPLIED 可选 ..
#FIXED value 固定 <!ATTLIST person classId CDATA #FIXED "软件一班">
default value 默认值 <!ATTLIST person classId CDATA  "软件一班">

使用dtd--属性声明的更多相关文章

  1. HTML编码规则、CSS属性声明顺序--简介

    From AmazeUI:http://amazeui.org/getting-started/html-css-guide HTML 属性顺序 HTML 属性应当按照以下给出的顺序依次排列,确保代码 ...

  2. iOS: 属性声明strong和retain竟然不一样

    今天和同事在处理一处用strong声明的Block属性引发的问题时偶然发现的.在诸多教程中都会讲到:声明属性时用strong或者retain效果是一样的(貌似更多开发者更倾向于用strong).不过在 ...

  3. 属性声明(property declarations), 自定义属性,自动生成 get 和 set 方法,getter 和 setter

    属性声明(property declarations), 自定义属性,自动生成 get 和 set 方法,getter 和 setter 一.普通的get 和set 属性. 一般的get 和set 属 ...

  4. iOS:不同属性声明方式的解析

    代码: /* 属性声明方式说明: ----------------------- 1 @interface ... { id name } @end 这样声明的属性其实可以认为是private属性,因 ...

  5. iOS的属性声明:retain和strong的区别

    声明属性时用strong或者retain效果是一样的(貌似更多开发者更倾向于用strong).不过在声明Block时,使用strong和retain会有截然不同的效果.strong会等于copy,而r ...

  6. NSMutable属性声明时为什么不能使用copy

    在iOS开发里面我们经常会进行NSMutable(可变类型的类,常用的如NSMutableString,NSMutableArray,NSMutableDictionary,NSMutableData ...

  7. nsmutablestring 属性声明为copy程序崩溃了

    obj.mutableStr = (NSMutableString *)[[NSMutableString alloc] initWithString:@"Hello"]; NSL ...

  8. React-Native 之 GD (五)属性声明和属性确认 及 占位图

    1.在 React-Native 创建的自定义组件是可以复用的,而开发过程中一个组件可能会由多个人同时开发或者多个人使用一个组件,为了让开发人员之间减少沟通成本,我们会对某些必要的属性进行属性声明,让 ...

  9. schema中属性声明

    <attribute name="属性名"   default="默认值"  fixed="固定值" use="option ...

  10. Java中什么是匿名对象,空参构造方法输出创建了几个匿名对象,属性声明成static

    package com.swift; //使用无参构造方法自动生成对象,序号不断自增 public class Person { private static int count; //如果在定义类时 ...

随机推荐

  1. Python3中简单的迭代器程序

    1.迭代器程序(实现菲比那次数列并且可以抛出与接收异常) def fib(max): n,a,b = 0,0,1 while n < max: #print(b) yield b a,b = b ...

  2. java基础之流程控制语句

    一.     分支 1.      三元运算符 ?: 注意:三元运算符虽然简洁但是语法乱,而且必须要有接受者或者直接打印 1.     if else语句 另一种不带括号的写法: if(条件) 语句1 ...

  3. 注解和注释以及Spring和SpringMVC常用的注解

    1.两者区别 注解 :参与代码编译,以@开头的.它是给应用程序看的,单独使用注解毫无意义,一定要跟工具一起使用,这个所谓的工具实际就是能读懂注解的应用程序 注释 :对代码没有影响.对代码起到解释.说明 ...

  4. 【沽泡学院07】基于ElasticSearch搜索附近的人

    1. 为什么要选择ElasticSearch 1)ElasticSearch 优点: 分布式.实时的.Push replication 完全支持Apache Lucene的接近实时的搜索 处理多租户( ...

  5. 转载 【Linux】Linux中常用操作命令

    [Linux]Linux中常用操作命令     https://www.cnblogs.com/laov/p/3541414.html#vim   Linux简介及Ubuntu安装 常见指令 系统管理 ...

  6. atcoder/CODE FESTIVAL 2017 qual B/B(dfs染色判断是否为二分图)

    题目链接:http://code-festival-2017-qualb.contest.atcoder.jp/tasks/code_festival_2017_qualb_c 题意:给出一个含 n ...

  7. 平衡树学习笔记(5)-------SBT

    SBT 上一篇:平衡树学习笔记(4)-------替罪羊树 所谓SBT,就是Size Balanced Tree 它的速度很快,完全碾爆Treap,Splay等平衡树,而且代码简洁易懂 尤其是插入节点 ...

  8. Xcode上传appstore 出现 Found an unexpected Mach-O header code: 0x72613c21 错误

    网上说是静态库的问题

  9. [JavaScript]instanceof String not behaving as expected in Google Apps Script

    Link: http://stackoverflow.com/questions/11571923/instanceof-string-not-behaving-as-expected-in-goog ...

  10. webpack4.0入门配置文件

    wepback风头正火 ,但是公司一直在用gulp,正好赶上年底活动,借此机会第一次尝试了webpack,说实话webpack真的很强大,内容一层一层递进. 这几天跟着官网跑了一遍,然后写了自己的配置 ...