Я пытаюсь получить уникальные и ключевые элементы для XML-схемы, особенно в отношении селектора и элементов поля внутри.Локально уникальный?
Непонятно о селекторах и полях, и мне нужно получить это прямо.
Предположим, у меня есть файл XML с компаниями, перечисленными в функциональных группах. У меня есть элемент внутри каждой группы с уникальным полем (для ссылки каждой конкретной группы).
Я хочу создать уникальное поле внутри каждой компании в пределах каждой группы, которая была бы уникальной только в пределах определенной группы.
Будет ли это правильно ?:
<xs:unique id="company_group_refs" name="company_group_refs">
<xs:selector xpath="root/all_companies/company_group"/>
<xs:field xpath="company_group_ref"/>
</xs:unique>
<xs:unique id="company_refs" name="company_refs">
<xs:selector xpath="root/all_companies/company_group"/>
<xs:field xpath="company/company_ref"/>
</xs:unique>
Если да, то я мог конденсироваться выше этого ?:
<xs:unique id="company_refs" name="company_refs">
<xs:selector xpath="root/all_companies/company_group"/>
<xs:field xpath="company_group_ref"/>
<xs:field xpath="company/company_ref"/>
</xs:unique>
Для ссылки на любое название компании, в частности, я хочу, чтобы иметь возможность дает выражение XPath как это:
корень/all_companies/company_group [company_group_ref = x1]/компании [company_ref = x2]/имя
Где: x1 = уникальная ссылка для группы компаний.
и: x2 = уникальная ссылка для компании в пределах этой группы.
Ниже файл фрагмент XML, который иллюстрирует этот сценарий:
<all_companies>
<company_group>
<company_group_name>Cleaning</company_group_name>
<company_group_ref>1</company_group_ref>
<company>
<name>Ajax</name>
<company_ref>1</company_ref>
</company>
<company>
<name>Bloomburg</name>
<company_ref>2</company_ref>
</company>
<company>
<name>Morris</name>
<company_ref>3</company_ref>
</company>
</company_group>
<company_group>
<company_group_name>Electrical</company_group_name>
<company_group_ref>2</company_group_ref>
<company>
<name>Armstrong</name>
<company_ref>1</company_ref>
</company>
<company>
<name>Bloomburg</name>
<company_ref>2</company_ref>
</company>
<company>
<name>Zap Electrical</name>
<company_ref>3</company_ref>
</company>
<company>
<name>Morris</name>
<company_ref>4</company_ref>
</company>
</company_group>
</all_companies>
СПАСИБО !!!
Привет, Мартин! Спасибо за ответ и ответ. Это имеет смысл. – user304607