|
Проблема с амперсантом в XQuery
|
|||
---|---|---|---|
#18+
При помощи XQuery генерирую HTML отчет с XML данных. В определённых местах выходного HTML необходимо вставить пробел при помощи escape-последовательности (как все уже знают, иначе он просто не вставится, если он не среди текста, а сам по себе). Но я не могу просто написать эту последовательность, так как XQuery сам превратит её в обычный пробел. Сначала я подумал, что это вовсе и не проблема, напишу и будет мне счастье. Но процессор XQuery оказался слишком умным. Последовательность & и эквивалентную ей & он передаёт на выход в прямом виде, а не заменяет амперсантом (даже не в прямом, а всегда &, по крайней мере, у меня так). Классная ловушка я Вам скажу. Понять величайший замысел разработчиков мне не дано, но может кто-то уже сталкивался с подобными проблемами и может помочь?! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2011, 16:34 |
|
Проблема с амперсантом в XQuery
|
|||
---|---|---|---|
#18+
Прошу прощение, переформатирую сообщение, немного облажался: При помощи XQuery генерирую HTML отчет с XML данных. В определённых местах выходного HTML необходимо вставить пробел при помощи escape-последовательности (как все уже знают, иначе он просто не вставится, если он не среди текста, а сам по себе). Но я не могу просто написать эту последовательность, так как XQuery сам превратит её в обычный пробел. Сначала я подумал, что это вовсе и не проблема, напишу   и будет мне счастье. Но процессор XQuery оказался слишком умным. Последовательность & и эквивалентную ей & он передаёт на выход в прямом виде, а не заменяет амперсантом (даже не в прямом, а всегда &, по крайней мере, у меня так). Классная ловушка я Вам скажу. Понять величайший замысел разработчиков мне не дано, но может кто-то уже сталкивался с подобными проблемами и может помочь?! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2011, 16:36 |
|
Проблема с амперсантом в XQuery
|
|||
---|---|---|---|
#18+
dasxПри помощи XQuery генерирую HTML отчет с XML данных Вы уверены, что речь идет об XQuery, а не об XSL ? PS. disable-output-escaping ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2011, 18:18 |
|
Проблема с амперсантом в XQuery
|
|||
---|---|---|---|
#18+
dasx, Кажется, понял о чем речь. С XQuery знаком теоретически-поверхностно. Дело в том что XQuery отдает результат в формате XML (сериализация method="xml"). Т.к. выражение Код: plaintext
PS. Можно ли изменить method на html или text не знаю... PPS. В XML можно сделать выражение выше допустимым с помощью <!ENTITY nbsp "#20">, но... думаю здесь это не поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2011, 20:10 |
|
Проблема с амперсантом в XQuery
|
|||
---|---|---|---|
#18+
Я в таких случаях пишу неразрывный пробел - alt+0160 на цифровой клаве. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2011, 23:08 |
|
Проблема с амперсантом в XQuery
|
|||
---|---|---|---|
#18+
refregВы уверены, что речь идет об XQuery, а не об XSL ? Да именно так. По правде говоря, я только на этой неделе начал изучать XQuery и XSLT. Насколько я понял, то второе мне больше подходит. Но всё дело в том, что выполняться эти запросы будут при помощи модуля Qt “QtXmlPatterns”. Но реализация XSLT в нём ещё очень сыровата, а XQuery вроде более-менее на уровне. refregВ XML можно сделать выражение выше допустимым с помощью <!ENTITY nbsp "#20">, но... думаю здесь это не поможет. Можно подробнее?... В принципе, я нашёл способ, как обойтись вообще без пробела, но от этого интерес к вопросу не угас. Тем более, что в дальнейшем может вновь возникнуть подобная ситуация … Ещё один вопрос. Знаю, что при помощи XSLT можно генерировать текстовые документы, в том числе и RTF (имеется ввиду, что его внутренняя структура не бинарная, а основана на обычном тексте, как тот же XML). Можно ли аналогичное сделать с помощью XQuery? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2011, 03:49 |
|
Проблема с амперсантом в XQuery
|
|||
---|---|---|---|
#18+
dasxrefregВ XML можно сделать выражение выше допустимым с помощью <!ENTITY nbsp "#20">, но... думаю здесь это не поможет.Можно подробнее?...Не valid и не well-form XML документ: Код: plaintext 1.
И valid и well-form XML документ: Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2011, 07:21 |
|
Проблема с амперсантом в XQuery
|
|||
---|---|---|---|
#18+
dasxЕщё один вопрос. Знаю, что при помощи XSLT можно генерировать текстовые документы, в том числе и RTF (имеется ввиду, что его внутренняя структура не бинарная, а основана на обычном тексте, как тот же XML). Можно ли аналогичное сделать с помощью XQuery?Может и можно... Но XQuery - это язык запросов к XML документу. То бишь с его помощью делают выборку из XML. Например, "нужны все книги 2010 года издания" - XQuery их отдаст в твою прогу на Qt. А сделать из него HTML или RTF, это все равно что написать текстовый редактор на SQL-сервере, трудно, но сделать можно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2011, 07:38 |
|
Проблема с амперсантом в XQuery
|
|||
---|---|---|---|
#18+
В xml в качестве неразрывного пробела используйте (если я правильно понял о чём речь). ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2011, 13:27 |
|
Проблема с амперсантом в XQuery
|
|||
---|---|---|---|
#18+
Ну да, посоветовал. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2011, 13:30 |
|
|
start [/forum/topic.php?fid=14&msg=37059851&tid=1333032]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 167ms |
0 / 0 |