Могу ли я связать maxOccurs в моей схеме со значением другого атрибута в целевом XML-файле? - PullRequest
0 голосов
/ 26 ноября 2009

Я определяю XML-схему для файла, который выглядит примерно так:

<data>
    <config><segmentcount value="10"/></config>
    <foos>
        <foo>
            <segments>
                <segment data="X"/>
                <segment data="X"/>
                <segment data="X"/>
                <segment data="X"/>
                <segment data="X"/>
            </segments>
        </foo>
        <foo>
            <segments>
                ...

Я уже создал схему для общей структуры. Тем не менее, я хочу убедиться, что количество элементов сегмента в сегментах всегда совпадает с атрибутом значения аргументаgmentcount. В атрибуте сегментов maxOccurs я попробовал xpath /aitt:data/aitt:config/aitt:segmentcount[1]@value, но парсер сказал мне, что maxOccurs должен быть неотрицательным int или unbounded.

Есть ли уловка, чтобы сделать это?

Приветствия заранее.

Ответы [ 2 ]

1 голос
/ 26 ноября 2009

Нет (насколько я знаю) способа сделать это с XSD. Вам, вероятно, нужно рассмотреть возможность использования правил Schematron для достижения такого рода проверки. Мне удалось сохранить правила Schematron в элементах аннотаций моих схем.

1 голос
/ 26 ноября 2009

Я не верю, что есть способ связать схему и данные желаемым способом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...