Скажем, например, у меня есть XML-файл для описания собрания, на котором, в конце концов, происходит голосование, и я определил его так:
<meeting>
<members>
<member id="A"/>
<member id="B"/>
</members>
<vote>
<option1>
<voting_member idref="A"/>
</option1>
<option2>
<voting_member idref="B"/>
</option2>
</vote>
</meeting>
В XSL, как я могу определить валидацию, которая запрещает, например, члену с idref = "C" голосовать, если он не определен внутри?
До сих пор я придумал обходной путь, который подсчитывает участников в списке и участников в голосовании и выдает предупреждение, что эти цифры не совпадают:
<xsl:if test="count(meeting/members)!=sum(count(meeting/vote/option1),count(meeting/vote/option2))"> Warning: mismatch </xsl:if>
Но мне нужно проверить сами идентификаторы, чтобы предотвратить ситуации, когда участнику, который не определен на собрании, разрешено голосовать, как мне это сделать?
Заранее спасибо