使用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; //如果在定义类时 ...
随机推荐
- Python学习第三方库Requests: 让 HTTP 服务人类
转自官方文档:http://cn.python-requests.org/zh_CN/latest/ 快速上手 http://cn.python-requests.org/zh_CN/latest/u ...
- 内容可循环重用的ScrollView
UIScrollView是iOS中最常用的交互控件之一,本文讨论当设定为翻页模式,内容页很多的时候,如果给每个页面都创建一个新View,会导致资源爆表.比较好的做法是参考UITableViewCell ...
- UIStepper更加详细的图文理解
前言 UIStepper是一个微调器,该控件的外观和UISwitch相似,但该控件上包含了+,-两个按钮,共同用于控制某个值的增.减. 它继承了UIControl基类,默认属于活动控件,它可以与用户交 ...
- vee-validate使用教程
vee-validate使用教程 *本文适合有一定Vue2.0基础的同学参考,根据项目的实际情况来使用,关于Vue的使用不做多余解释.本人也是一边学习一边使用,如果错误之处敬请批评指出* 一.安装 n ...
- mybatis 日期查询datetime
<select id="getHistoryDataByDate" parameterType="java.util.HashMap" resultTyp ...
- kuangbin专题十二 HDU1074 Doing Homework (状压dp)
Doing Homework Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...
- [Groovy]转:Groovy 通过 isCase 方法进行分类
闭包实现了 isCase 方法,这样闭包可以在 grep 和 sw itch 中作为分类器使用,在这种情况下,各自的参数传递给闭包,然后调用闭包进行计算得到一个 Boo lean 值(参考 6.1 节 ...
- postfix 实现邮件发送 配置
1.安装postfix 使用 rpm –qa postfix检查是否安装了postfix,如果没有,使用yum install postfix. 2 .配置/etc/postfix/main.cf [ ...
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_运行时解析类型引用
public sealed class Program{ public static void Main() { System.Console.WriteLine("Hi"); } ...
- Jenkins自动化CI CD流水线之2--用户权限管理
一. 背景 针对开发.运维.测试针对不同角色进行不同权限划分, 基于插件: Role-based Authorization Strategy来实现. 一. 安装 安装该插件: 系统管理->管理 ...