表和图的DITA DTD约束

时间:2014-03-24 16:10:04

标签: dtd dita

任何人都可以帮我创建DITA DTD约束吗?

我想为图形,图像和表格创建约束。
图像标签带有alt标签mandatroy
我希望图标题也是强制性的,而表格标题,desc和thead至少有一个条目。

2 个答案:

答案 0 :(得分:1)

创建imageConstraints.mod

<!ENTITY altReq-constraint 
  "(topic altReq-c)">

<!ENTITY % image.content
                       "((%alt;),
                         (%longdescref;)?)">

然后将其包含在您的shell DTD中,类似

<!ENTITY % altReq-c-def  
  PUBLIC "-//FOO//ELEMENTS DITA 1.2 Required Alt Constraint//EN" 
  "imageConstraint.mod">
%altReq-c-def;

并将其添加到included-domains实体

<!ENTITY included-domains "...
                           &altReq-constraints;">

图和表遵循相同的模式。

您不能强制使用DTD的至少一个表头输入规则,因为您需要使用例如Schematron的。

答案 1 :(得分:0)

我的DTD知识有点生疏,但我相信如果你修改DTD并且元素是可选的,它旁边会有一个问号

<!ELEMENT title (#PCDATA )>
<!ELEMENT figure (title?) > 

要使title成为必需,请移除?

<!ELEMENT title (#PCDATA )>
<!ELEMENT figure (title) >