2014-03-24 47 views
0

任何人都可以幫我創建DITA DTD約束嗎?DITA DTD約束表和圖

我想創建圖形,圖像和表格的約束條件。
圖片標籤alt標記mandatroy
我希望數字標題也是強制性的,而表名稱,desc和至少有一個條目的thead。

回答

0

我DTD知識是有點生疏,但我相信,如果要修改的DTD和元素是可選的,將有一個問號旁邊

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

爲了使需要title,取出?

<!ELEMENT title (#PCDATA)> 
<!ELEMENT figure (title) > 
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; 

,並添加它實體

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

圖和表遵循相同的模式。

您不能強制使用DTD至少有一個表頭條目規則,因此您需要使用例如DTD。 Schematron的。

+0

謝謝!我在圖形和表格約束中遇到了一些複雜情況。在圖和表格中有幾個其他元素。我是否需要在約束中聲明所有元素和實體? – user3165851

+0

是的,你需要將你想要的元素添加到'fig'和'table'中,沒有捷徑可以強制它們。 – jelovirt