使用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 personrelId ID #REQUIREDparenetId IDREFS #IMPLIEDname CDATA #REQUIRED> ] ><family><person redId="p1" name="爸爸" /><person redId="p2" name="妈妈" /><person redId="p3" parenetId="p1 p2" name="儿子" /> </family>
(4)enumerated枚举类型
<!ATTLIST persongender (男|女) #REQUIRED>
2.属性特点
名称 | 定义 | 说明方式 |
#REQUIRED | 必须 | .. |
#IMPLIED | 可选 | .. |
#FIXED value | 固定 | <!ATTLIST person classId CDATA #FIXED "软件一班"> |
default value | 默认值 | <!ATTLIST person classId CDATA "软件一班"> |
转载于:https://www.cnblogs.com/zhuxiang1633/p/7636966.html
使用dtd--属性声明相关推荐
- 【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )
文章目录 I . 属性 字段 总结 II . 属性声明 III . 属性初始化器 IV . get / set 属性访问器 V . 属性幕后字段 field VI . 变量和常量的区别 VII . 延 ...
- NSMutable属性声明时为什么不能使用copy
在iOS开发里面我们经常会进行NSMutable(可变类型的类,常用的如NSMutableString,NSMutableArray,NSMutableDictionary,NSMutableData ...
- iOS: 属性声明strong和retain竟然不一样
今天和同事在处理一处用strong声明的Block属性引发的问题时偶然发现的.在诸多教程中都会讲到:声明属性时用strong或者retain效果是一样的(貌似更多开发者更倾向于用strong).不过在 ...
- Bootstrap CSS 编码规范之简写形式的属性声明
简写形式的属性声明 在需要显式地设置所有值的情况下,应当尽量限制使用简写形式的属性声明.常见的滥用简写属性声明的情况如下: padding margin font background border ...
- Bootstrap CSS 编码规范之属性声明顺序
声明顺序 相关的属性声明应当归为一组,并按照下面的顺序排列: Positioning Box model Typographic Visual 由于定位(positioning)可以从正常的文档流中移 ...
- HTML 的属性顺序及 CSS的属性声明顺序
HTML 属性顺序 HTML 属性应当按照以下给出的顺序依次排列,确保代码的易读性. class id, name data- src, for, type, href title, alt aria ...
- Cocos技术派 | TS版各种属性声明详解
先来看一段代码: cc.Class({extends: cc.Component,properties: {userID: 20,userName: "Foobar"} }); 这 ...
- Java中什么是匿名对象,空参构造方法输出创建了几个匿名对象,属性声明成static...
package com.swift; //使用无参构造方法自动生成对象,序号不断自增 public class Person {private static int count; //如果在定义类时, ...
- 不能定义声明dllimport_C#:多个声明的一个属性(DLLImport)
我正在使用[DLLImport]属性来访问我的.NET代码中的一堆C函数. 现在,我通过以下方式拥有所有功能: const string DLL_Path = "path\\to\\my\\ ...
- 【Kotlin】接口 ( 声明 | 实现 | 接口方法 | 接口属性 | 接口覆盖冲突 | 接口继承 )
文章目录 I . 接口总结 II . 接口声明 III . 接口实现 IV . 接口中的方法 V . 接口中的属性 ( 变量 / 常量 ) VI . 接口中的属性属性覆盖 ( 变量 / 常量 ) VI ...
最新文章
- c语言读取txt文件数据乱码,编的学生成绩管理系统 从文件中读取保存数据总会多读入一组乱码数据...
- matplotlib全图
- 90.386(32位)的保护模式 (286是过渡24位) 91.什么是实模式
- 大数据(生于2006,卒于2019)已死!
- 异常-throws的方式处理异常
- DedeCMS四类核心表
- 仿腾讯图文轮播.html
- TabHost和ActivityGroup用法
- 精曲的竖曲线4800计算程序,可以计算直线与竖曲线通杀
- 相敬如宾 你将获得更多敬重
- java设计模式--装饰器设计模式(javaIO设计使用)
- RDLC报表横向放纸不能横向打印问题解决
- CISSP第6/8知识点错题集
- JavaScript对象及函数
- wps公式编辑器怎么用wps段落设置在哪里呢?
- 基于CommonJS谈谈前端模块化
- 【数据挖掘之关联规则实战】关联规则智能推荐算法
- 补码和原码的转化过程
- 快讯 欧洲ICO远超中美
- matlab中索引最后一个,matlab – 索引必须出现在索引表达式的最后
热门文章
- 如何替换 Ubuntu 11.10 登录屏幕背景和logo
- 从工具到社区,美图秀秀大规模性能优化实践
- 疯了吧!面试官 5 连问一个 TCP 连接可以发多少个 HTTP 请求?
- 看问题要看到本质:从Web服务器说起
- Spring框架中的设计模式(五)
- 网络:IP协议与寻址
- android 截长图 方法,Android实现截屏与截长图功能
- 计算机二本生不学编程还能干什么6,不建议二本考生报考的6个专业,除非真的感兴趣!...
- 思科bfd静态路由切换_思科路由器曝出两个严重零日漏洞,已被野外利用
- UPS电池延时估算方法及配置表,ups配置不再难