Может быть, я не видя за деревьями леса, но здесь идет:ссылочной целостности в файлах XML без глобальных уникальных идентификаторов
Я «проектирование» XML-документ, и до сих пор придумать что-то например:
<element key="root">
<data>...</data>
<elements>
<element key="foo">
<data>...</data>
</element>
<element key="bar">
<data>...</data>
</element>
</elements>
</element>
Таким образом, это простая иерархическая структура. Теперь я хочу иметь ссылки от одного элемента к любому другому элементу в любом месте иерархии. Это было бы тривиально, если бы каждый элемент имел уникальный идентификатор, но он этого не делает. Пока я только планирую гарантировать, что ключ каждого элемента уникален в своем уровне (подобно именам файлов в структуре каталогов).
Другими словами, если бы у меня были полностью квалифицированные ключи, такие как root.foo
, гарантирование ссылочной целостности было бы простым. Но тогда я буду хранить избыточную информацию (я уже знаю, что foo
является подэлементом root
, зачем хранить эту информацию дважды?).
Я понимаю, что это по существу косметическая проблема. Одним из простейших решений является, вероятно, просто автоматическое назначение идентификаторов и их выполнение. Но это довольно неэлегантно (и подвержено ошибкам, если у вас нет приятного внешнего интерфейса для редактирования файла), поэтому я надеялся на лучший способ сделать это.
Есть ли способ реализовать это в XML-схеме?