Можно ли контролировать порядок значений атрибутов в Relax NG? чего можно добиться, используя xs:assert в схеме?
XML:
<body>
<h1 class="title">title</h1>
<h2 class="subtitle">subtitle</h2>
<p class="paragraph1">para text 1</p>
<p class="paragraph2">Para text 2</p>
<p class="paragraph3">Para text 2</p>
</body>
Значение класса должно быть в порядке, абзац 1 всегда должен стоять первым, а абзац 2 — после абзаца 1. Утверждение, которое я пробовал в схеме:
<xs:assert test="p[1]/@class = 'paragraph1'
and ((every $i in p[2] satisfies $i/@class = 'paragraph2')
and (every $i in p[3] satisfies $i/@class = 'paragraph3')) "/>