我有多个元素,我想给这些属性:
<!ATTLIST [all these elements]
width CDATA "0"
height CDATA "0"
margin CDATA "0 0 0 0"
padding CDATA "0 0 0 0"
rotation CDATA "0"
halign (left|center|right|full) "center"
valign (top|middle|bottom|full) "middle"
>
Run Code Online (Sandbox Code Playgroud)
这在DTD中是否有可能,或者我必须手动完成吗?
(另外,虽然我在这里,但我认为以这种方式声明margin和padding属性并不是一个好主意.有没有人知道更好的方法?)
每个元素都需要有自己的属性声明(ATTLIST).但是,您可以使用参数实体来重用其中的大部分内容.
例...
<!ENTITY % attrs
'width CDATA "0"
height CDATA "0"
margin CDATA "0 0 0 0"
padding CDATA "0 0 0 0"
rotation CDATA "0"
halign (left|center|right|full) "center"
valign (top|middle|bottom|full) "middle"'>
<!ELEMENT elem1 (#PCDATA)>
<!ATTLIST elem1 %attrs;>
<!ELEMENT elem2 (#PCDATA)>
<!ATTLIST elem2 %attrs;>
Run Code Online (Sandbox Code Playgroud)
这是另一个示例,它混合了参数实体引用以及仅出现在各个元素上的属性.
<!ELEMENT elem1 (#PCDATA)>
<!ATTLIST elem1
attr1 CDATA #IMPLIED
%attrs; >
<!ELEMENT elem2 (#PCDATA)>
<!ATTLIST elem2
attr2 CDATA #IMPLIED
%attrs; >
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
864 次 |
| 最近记录: |