【问题标题】:DTD +(tag1,tag2)DTD +(标签1,标签2)
【发布时间】:2015-12-26 06:07:56
【问题描述】:

我是 DTD 新手,我不确定我是否正确理解了这段代码。

<!ELEMENT P         - - (#PCDATA) +(tag1 | tag2 | tag3) >

这段代码是否允许P标签包含tag1、tag2和tag3?

【问题讨论】:

    标签: xslt dtd sgml


    【解决方案1】:

    这是一种 SGML 语法,而不是 XML。可以看到是因为在声明元素的名称(P)和内容声明(#PCDATA)之间,遇到了“- -”,表示起始标签和结束标签都不能省略(否则你可能会有类似“- O”的东西,这意味着可以省略结束标签)。

    +(tag1 | tag2 | tag3) 表示您可以在任何需要的地方使用tag1tag2tag3,嵌套在P 元素中。它是递归的,这意味着,假设在 P 中允许其他元素,您也可以允许此标签出现,即使它们没有在元素的同一级别声明。

    相反,为了防止这些元素在您的元素及其子元素中进一步出现,您将使用-(tag1 | tag2 | tag3)

    【讨论】:

      猜你喜欢
      • 2012-02-08
      • 2023-03-02
      • 2019-09-24
      • 2021-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多