使用dtd--属性声明
<!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--属性声明的更多相关文章
- HTML编码规则、CSS属性声明顺序--简介
From AmazeUI:http://amazeui.org/getting-started/html-css-guide HTML 属性顺序 HTML 属性应当按照以下给出的顺序依次排列,确保代码 ...
- iOS: 属性声明strong和retain竟然不一样
今天和同事在处理一处用strong声明的Block属性引发的问题时偶然发现的.在诸多教程中都会讲到:声明属性时用strong或者retain效果是一样的(貌似更多开发者更倾向于用strong).不过在 ...
- 属性声明(property declarations), 自定义属性,自动生成 get 和 set 方法,getter 和 setter
属性声明(property declarations), 自定义属性,自动生成 get 和 set 方法,getter 和 setter 一.普通的get 和set 属性. 一般的get 和set 属 ...
- iOS:不同属性声明方式的解析
代码: /* 属性声明方式说明: ----------------------- 1 @interface ... { id name } @end 这样声明的属性其实可以认为是private属性,因 ...
- iOS的属性声明:retain和strong的区别
声明属性时用strong或者retain效果是一样的(貌似更多开发者更倾向于用strong).不过在声明Block时,使用strong和retain会有截然不同的效果.strong会等于copy,而r ...
- NSMutable属性声明时为什么不能使用copy
在iOS开发里面我们经常会进行NSMutable(可变类型的类,常用的如NSMutableString,NSMutableArray,NSMutableDictionary,NSMutableData ...
- nsmutablestring 属性声明为copy程序崩溃了
obj.mutableStr = (NSMutableString *)[[NSMutableString alloc] initWithString:@"Hello"]; NSL ...
- React-Native 之 GD (五)属性声明和属性确认 及 占位图
1.在 React-Native 创建的自定义组件是可以复用的,而开发过程中一个组件可能会由多个人同时开发或者多个人使用一个组件,为了让开发人员之间减少沟通成本,我们会对某些必要的属性进行属性声明,让 ...
- schema中属性声明
<attribute name="属性名" default="默认值" fixed="固定值" use="option ...
- Java中什么是匿名对象,空参构造方法输出创建了几个匿名对象,属性声明成static
package com.swift; //使用无参构造方法自动生成对象,序号不断自增 public class Person { private static int count; //如果在定义类时 ...
随机推荐
- Glib学习笔记(三)
你将学到什么 如何实现Object的方法 Object的方法 Object的public方法 在头文件声明一个函数,然后在源文件中实现函数即可 /* declaration in the header ...
- iOS Programming GitHub
我把学习<iOS编程(第4版)>的相关代码放在了GitHub上: https://github.com/palanceli/iOSProgramming 学了一段时间之后,当要用到某个知识 ...
- thinkphp3.2.3 无法调用带下划线的模型
thinkphp 3.2.3 如果表名中带有下划线,在分割的时候命名模型类,首字母大写,例如:order_customer_bom 为表名 .模型名为OrderCustomerBomModel 引用的 ...
- go语言实战教程之 后台管理页面统计功能开发(2)
上节内容介绍了后台管理页面统计功能开发(1),从功能介绍,到接口请求分析和归类,最后是代码设计.经过上节内容的介绍,已经将业务逻辑和开发逻辑解释清楚,本节内容侧重于编程代码实现具体的功能. 当日增长数 ...
- 亿级PV请求的三种负载均衡技术(转)
http://www.360doc.com/content/17/1126/23/50145453_707419125.shtml 目录 DNS轮询 LVS负载均衡 DR模式 NAT模式 ...
- php 生成读取csv文件并解决中文乱码
csv其实是文本文件,但是里面的内容是利用逗号分隔的. 1. 生成csv文件 function new_csv($arr) { $string=""; foreach ($arr ...
- 黑马JavaScript学习一 BOM之Window对象定时器功能
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- springcloud系列11 整合微服务网关zuul
这个模块是一个独立的模块所以需要建立一个模块, 首先引入: 依赖pom.xml <?xml version="1.0" encoding="UTF-8"? ...
- nginx与 Keepalived高可用
1.1 keepalived软件能干什么? Keepalived软件起初是专为LVS负载均衡软件设计的, 用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能 K ...
- 读书笔记 - 《毛X东传》
这个书名重复太多,这本的作者是迪克威尔逊.这本书很有意思,可以看出是一个局外人根据残缺不全的资料所写的出来的,而且是结合心理分析的手法主要描述政治历程.总体来说作为传记不够全面,但对于一个中国人来说可 ...