我有三个具有不同属性值的 p 的源代码,我尝试对元素进行任意顺序以及一个强制元素 p class='paragraph1'。即任意数量的第 1 段、第 2 段和第 3 段(按任意顺序),但必须至少有一个段落 1。
下面我尝试了 RNC 中的交错选项,但失败并出现错误“元素“p”可以出现在“交错”的多个操作数中”,这是因为同一个元素声明了多次。但是在 RelaxNG 中使用其他方法可以实现这一点吗?
Source
<body>
<h1 class="title">title</h1>
<h2 class="subtitle">subtitle</h2>
<p class="paragraph2">Para text 2</p>
<p class="paragraph1">para text 1</p>
<p class="paragraph3">Para text 2</p>
</body>
RNC
start = element body { h1?, h2?, (p.paragraph1+ & p.paragraph2? &
p.paragraph3?) }
h1 = element h1 { text & attribute class { string } }
h2 = element h2 { text & attribute class { string } }
p.paragraph1 = element p { text & attribute class { string "paragraph1" } }
p.paragraph2 = element p { text & attribute class { string "paragraph2" } }
p.paragraph3 = element p { text & attribute class { string "paragraph3" } }
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)