Есть ли способ получить привязки префикса/пространства имен, используемые в XML-документе, предпочтительно с использованием стандартных API org.w3c.org
и javax.xml
? Я понимаю, что префиксы могут быть переопределены в содержащихся элементах, поэтому API должен также учитывать это.получить привязки префикса/пространства имен, используемые в XML-документе, предпочтительно используя org.w3c.dom и javax.xml APIs
Я искал фрагмент кода, который бы взял XML-документ в некоторой сериализованной форме и возвратил Map<String, String>
префикса для привязок имен URI (плюс некоторые дополнительные умения в API для учета переопределений в закрытых элементах). В идеале библиотека может создавать более интересные вещи, такие как идентификация/очистка неиспользуемых привязок, перемещение дубликатов привязок к их ближайшему общему предку (вместо того, чтобы они были реплицированы повсюду) и так далее.
Фрагмент, однако, создает фактически используемые префиксы («по сути, как вы говорите»), а не те, которые определены, и в моем случае я пытаюсь выкопать префикс, определенный и используемый как значение в атрибуте xsi: type (xsi: type = "a: foo") элемента - и это не возвращается указанным выше кодом. –
Другими словами, как получить префиксы пространств имен, которые определены (в отличие от использования)? –
Предлагаемое решение cis начинается, как я уже сказал. Вы задали еще один вопрос, или я должен добавить к этому? –