|
|
|||||
Регистрация: Nov 2010
Сообщений: 430
|
Добавляются лишние неймспейсы в XML
Здравствуйте.
Понадобилось вытащить информацию из SVG-файлов. Но после обработки и сборки в каждый элемент записывается «xmlns="http://www.w3.org/2000/svg». Подскажите, как от этого избавиться? Первоначальное SVG-изображение: <?xml version="1.0" encoding="utf-8"?> <svg version="1.1" id="Rect" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="100px" height="100px" xml:space="preserve"> <path id="rect" fill="#FF0000" d="M75,75H25V25h50V75z"/> </svg> _ns = new Namespace(svg.namespace()); default xml namespace = _ns; pathes = svg.descendants("path"); for each (var path:XML in pathes){ id = path.@id; fill = path.@fill; stroke = path.@stroke; _items[_items.length] = {id: id, fill: fill, stroke: stroke, path: path.toXMLString()}; // после path.toXMLString() в каждый path добавляется неймспейс } <svg version="1.1" width="100px" height="100px" xml:space="preserve" proportionality="0.75" xmlns="http://www.w3.org/2000/svg"> <g id="rect" style="fill: #FF0000; stroke: #000000; stroke-width: 1;"> <path d="M75,75H25V25h50V75z" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"/> </g> </svg>
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь. |
|
|||||
Modus ponens
|
как-то не совсем понятно... toXMLString() не может ничего поменять в XML. Я так понимаю, что это результат объявления пространства имен глобальным. А если его не делать глобальным?
Да, еще если я правильно понял, попробуйте хмл который получается врезультате normalize(). Не факт, что что-то изменится, но, по-ходу, это пространство имен там просто лишнее, так же?
__________________
Hell is the possibility of sanity |
Часовой пояс GMT +4, время: 11:27. |
|
« Предыдущая тема | Следующая тема » |
|
|