-
Notifications
You must be signed in to change notification settings - Fork 57
XML entities #8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
zsspxml.pas в GetParamValue после while-цикла line 2892 просто напрашивается Кто конвертирует в одну сторону - должен конвертировать и в другую. |
Я посмотрел WriteTag/WriteEmptyTag/WriteInstruction и т.д. CheckEntity = False вызывается только там, где можно гарантировать (например при записи чисел), что никаких спец-символов не будет. Т.е. это чисто оптимизация по скорости, а вовсе не закладка на какие-то хитровывернутые режимы записи XML Но тогда и при чтении всегда должна выхываться ZEReplace - потому что мы не можем гарантировать, что непонятно кем созданный файл не будет их содержать. Я посмотрел гдe испольюзуются ZEReplace - это фактически затыкание дыр. Как только где-то престало работать, потому что в этом тэге-аттриюуте встретились подстановки, то в виде исключения добавим обработку ещё и этого тэга. По-моему это бесперспективно. Надо работать по стандарту XML и восстанавливать все аттрибуты и все внутренности тегов кроме CDATA В конец концов я даже "20" имею полное право задать как & # 4 2 ; & # 4 0 ; - ИМЕЮ. И любой генератор XML - тоже. А нашлёпывать ZEReplace тут, тaм, а потом еще и вот там - и в пределе всё равно на КАЖДОМ теге и КАЖДОМ аттрибуте - это "дурная бесконечность". Возможно я не вижу какой-то конкрентый экзотический вариант, при котором нам необходимы "неочищенные" аттрибуты и тэги - но тогда хорошо бы testcase. |
TZsspXMLWriter и TZsspXMLReader не являются XML генератором/парсером! Это скорее tag генератор/парсер и они делают именно то, что от них и требуются - пишут/читают тэги. К примеру спомощью TZsspXMLReader я парсю html странички (ну и можно генерировать html). Хотя согласен, xml в названии немного путает в понимании назначения, нужно было бы назвать TZsspTAG*. |
И что меняется? в HMTL'е те же подстановки используются. Они в SGML и XML почти одинаковы. Кстати, в Delphi7 и FPC - как рaботают ansiUpperCase ссо строками ,содержащими #0 в середине ? нормально или обрезают ? |
Вообще реализация в D7 вроде бы такая же, как в XE2, должно работать вроде бы... Но не знаю как в FPC, особенно на линухе.
|
Сделал я поиск по & QUOT ; и получается у тебя есть три несвязанных места
Хрень получается...
По хорошему нужен один список замен и РЯДОМ расположенные функции перевода в обе стороны.
А нарвался я на это, когда добавил сохранение NumberFormat в XML SS
И вот тут фокус просто прекрасный... когда сохраняем - делаем подмену на entity
А когда читаем - не делаем!
А при сохранение делаем подмену поверх подмены.
Хрень какая-то, похоже у тебя парсер несимметричный относительно подмен :-/
The text was updated successfully, but these errors were encountered: