При анализе KML, создаваемом Google Планета Земля с использованием совместимого синтаксического анализатора, наблюдается странное поведение JAK . Ожидаемое пространство имен для синтаксического анализатора не записывается как правильное в производственной системе GE Kml, и при чтении этого KML обратно в другое приложение Java происходит сбой.
Мы возимся с потоком, когда он читается, и заменяем вхождения любого другого пространства имен на правильное пространство имен. Это нужно сделать только один раз в начале файла. Попытка подхода заключалась в том, чтобы проанализировать в первых нескольких строках строку, выполнить поиск и замену, создать поток строк и объединить «остаток» FileInputStream со StringStream с помощью SequenceInputStream. Это, однако, не работает. Любые идеи будут оценены.
Вот с чего начинается фрагмент KML xmlns:
<code>
<kml xmlns="http://earth.google.com/kml/2.2">
</code>
и вот что мы хотим заменить:
<code>
<kml xmlns="http://www.opengis.net/kml/2.2">
</code>
Поток последовательности возвращает ошибочное доступное значение (только для 1-го потока в последовательности), что приводит к сбою синтаксического анализатора.