2_4 对year定义一个属性

news/2024/7/5 23:56:39 标签: header, date, 文档, encoding, comments, xml

1 属性声明

有时也可以对元素添加一些与其内容有关的补充信息,即声明该元素的属性.与元素类似,在XML文档中使用的属性必须在DTD中声明

属性声明的语法如下:

<! ATTLIST Element_name Attribute_name Type Default_value>

其中,ATTLIST关键字用来定义元素所具有的属性

Element_name是元素名,

Attribute_name是该元素所具有的属性名

Type是属性的类型,最常的是CDATA,Default_value是属性的默认值

其中,定义属性的代码是:

<! ELEMENT year (#PCDATA)>

<! ELEMENT year format CDATA #IMPLIED>

CDATA表示属性的值由字符数据组成,而不含标记符.

#IMPLIED意味着属性无默认值,也可以默认.

声明属性时应注意以下几点:

(1)属性名称遵循的规则与有效的元素名称相同

(2)在一个给定的元素中不能有两个属性同名

(3)若属性值中含有双撇号,则该属性值应用单撇号括起来.

如<job comments='He said,"I can paint only red doors"'>Door Painter</job>

2 属性的类型

DTD中可以定义不同类型的属性

1)CDATA属性类型

此种类型的属性值只能是文本串,用CDATA关键字进行声明,它与#PCDATA元素声明类似.

      <! ATTLIST AnElement its_attr CDATA #REQUIRED>

这个例子说明元素AnElement的its_attr属性的值是一个文本串.

 

2)枚举属性类型

枚举属性的值为指定的文本串列表中的某个文本串.声明时使用括号把这些文本串括起来,

并用竖线分隔开.

      <! ATTLIST author authorID ID #REQUIRED>

 

3)ID属性类型

ID类型的属性用于标识文档中的元素.ID属性的值必须是一个合法的XML名称,并且该值在文档

中必须是唯一的.同时,每个元素最多只能具有一个ID类型的属性.

例如

      <! ATTLIST author authorID ID #REQUIRED>

它为author元素定义了ID类型的属性authorID,其属性值可以唯一地标识每个author元素


http://www.niftyadmin.cn/n/1725143.html

相关文章

LOJ#556. 「Antileaf's Round」咱们去烧菜吧(牛顿迭代)

传送门 题解&#xff1a; 考前练练手感。 G∏FiG∏FiFi{1−xai(bi1)1−xai11−xaibi>0bi0Fi{1−xai(bi1)1−xaibi>011−xaibi0lnG∑ln1−xai(bi1)1−xailn⁡G∑ln⁡1−xai(bi1)1−xai求lnln然后相加泰勒展开后是一个调和级数&#xff0c;之后把GG再exp" role=&qu…

BZOJ4833: [Lydsy1704月赛]最小公倍佩尔数(min-max容斥)

传送门 题解&#xff1a; fn2fn−1fn−2fn2fn−1fn−2有一个结论是形如fnafn−1bfn−2fnafn−1bfn−2&#xff0c;有gcd{fx,fy}fgcd{x,y}gcd{fx,fy}fgcd{x,y}。 利用min−maxmin−max容斥&#xff0c;有&#xff1a; lcmfT∏S∈Tf(−1)|S|1gcd{S}lcmfT∏S∈Tfgcd{S}(−1)|S…

JavaScript作业(计科10703 32号版权所有)

第1题 编写一个脚本&#xff0c;该脚本要求用户输入两个整数&#xff0c;从用户那里获得这两个整数后&#xff0c;在一个警告框中显示较大的整数并在后面加上”is larger”。如果这两个整数相等&#xff0c;则在警告框中显示“These numbers are equal”。 <html><h…

BZOJ4922: [Lydsy1706月赛]Karp-de-Chant Number(DP)

传送门 题解&#xff1a; 挺妙的一道题。 如果把’(‘看做1&#xff0c;‘)’看做-1&#xff0c;那么一个括号序列有用的东西只有前缀min&#xff0c;后缀max&#xff0c;以及和。 考虑一个合法的括号序列&#xff0c;他的和大于0的部分按照前缀max从小到大排序后依然是合法…

深度学习准确率提升之天花板分析

案例1 OCR文字识别流水线主要分为三个模块&#xff1a;文字检测->字符分割->字符识别 训练完成后整个系统的准确率是72%&#xff0c;需要进一步提升准确率就需要单独分析每个模块的提升空间。 1&#xff09;对于文件检测模块&#xff0c;把训练集的图像人工确保标注准…

2_5 IDREF和IDREFS类型的属性的使用及作用

IDREF/IDREFS类型 IDREF类型的属性用来引用同一文档中的另一元素的ID属性。IDREF属性的值必须是文档中某个元素的ID属性值勤。通过使用IDREF&#xff0c;可使一个元素和另一个元素发生联系。 如 可以为book元素定义一个IDREF类型的属性publisher&#xff0c;用于指出该书的出…

UOJ#298. 【CTSC2017】网络

传送门 题解&#xff1a; 先求直径&#xff0c;可以证明这条边一定连在直径的两个点上。 那么我们处理出每个直径往外延伸的最长距离&#xff0c;再结合在链上的长度&#xff0c;就可以很好的列出式子了。 #include <bits/stdc.h> using namespace std; typedef long…

UOJ#299. 【CTSC2017】游戏(贝叶斯公式)

传送门 题解&#xff1a; 根据期望的线性&#xff0c;我们可以单独统计每个游戏小R获胜的策略。 对于一个游戏&#xff0c;他的胜负概率只与前一个确定的和后一个确定的有关&#xff0c;利用贝叶斯公式我们可以简单的变形&#xff1a; P(xm1|xl,xr)P(xl,xr|xm1)P(xm1)P(xl,…