|
|
|
вопрос по XSL
|
|||
|---|---|---|---|
|
#18+
Добрый день. Как с помощью XSL преобразования в исходном XML: 1. удалить ненужные атрибуты Например есть XML in_xml: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Нужно такой XSL in_xsl, чтоб выходной XML out_xml не содержал тега <BAD> Я сделал так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 2. обрезать содержимое тега? Например вместо 9 символов - в выходном XML получить первые 5 <tag>123456789</tag> ----> <tag>12345</tag> Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 16:14 |
|
||
|
вопрос по XSL
|
|||
|---|---|---|---|
|
#18+
если работает - значит правильно, хотя я for-each не уважаю... предпочитаю apply-templates хотя как это может работать, когда название открывающего и закрывающего элемента разные? Код: plaintext 1. <tag>123456789</tag> ----> <tag>12345</tag> Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 16:38 |
|
||
|
вопрос по XSL
|
|||
|---|---|---|---|
|
#18+
M0usесли работает - значит правильно, хотя я for-each не уважаю... предпочитаю apply-templates хотя как это может работать, когда название открывающего и закрывающего элемента разные? Код: plaintext 1. Ошибся, когда копировал M0us <tag>123456789</tag> ----> <tag>12345</tag> Код: plaintext Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 17:06 |
|
||
|
вопрос по XSL
|
|||
|---|---|---|---|
|
#18+
M0us хотя я for-each не уважаю... предпочитаю apply-templates Не подскажите, в чем разница? И куда здесь вставить <ROWSET> ? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 17:20 |
|
||
|
вопрос по XSL
|
|||
|---|---|---|---|
|
#18+
There's more than one way to do it! Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 17:37 |
|
||
|
вопрос по XSL
|
|||
|---|---|---|---|
|
#18+
dasbot M0us хотя я for-each не уважаю... предпочитаю apply-templates Не подскажите, в чем разница? в данном случае никакой, т.к. Вам нужно отобрать все записи. for-each - делает полный перебор значений. но иногда требуется выбрать определенный диапазон, например все с именем "aaa": Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 17:44 |
|
||
|
вопрос по XSL
|
|||
|---|---|---|---|
|
#18+
M0us dasbot M0us хотя я for-each не уважаю... предпочитаю apply-templates Не подскажите, в чем разница? в данном случае никакой, т.к. Вам нужно отобрать все записи. for-each - делает полный перебор значений. Я бы не стал так категорично ограничивать функциональность for-each M0us но иногда требуется выбрать определенный диапазон, например все с именем "aaa": Код: plaintext Тут замечательно сработает и такая байда: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 18:40 |
|
||
|
вопрос по XSL
|
|||
|---|---|---|---|
|
#18+
qu-quXSLT - язык "декларативный" по сути своей (т.е. должен описывать в шаблонах - "что делать", а не - "как делать"), и использование в нем циклов for-each сродни использованию циклов while для изменения записей в строках таблицы при написании запросов на T-SQL (работать будет, и даже на небольшом количестве данных - неразличимо по скорости/ресурсам сервера, но... "неаккуратненько как-то"). критика очень к месту. поддерживаю :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 18:50 |
|
||
|
вопрос по XSL
|
|||
|---|---|---|---|
|
#18+
M0us qu-quXSLT - язык "декларативный" по сути своей (т.е. должен описывать в шаблонах - "что делать", а не - "как делать"), и использование в нем циклов for-each сродни использованию циклов while для изменения записей в строках таблицы при написании запросов на T-SQL (работать будет, и даже на небольшом количестве данных - неразличимо по скорости/ресурсам сервера, но... "неаккуратненько как-то"). критика очень к месту. поддерживаю :) Да, XSL свой стиль мышления требует. Мой вариант XSL в этом смысле вроде лучше смотрится... Или нет? /topic/248299&hl=#2210283 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 19:40 |
|
||
|
вопрос по XSL
|
|||
|---|---|---|---|
|
#18+
dasbot Как с помощью XSL преобразования в исходном XML: 1. удалить ненужные атрибуты Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Только вопрос - а зачем здесь XSLT вообще? Этот XML получен с помощью xml-библиотек СУБД типа Oracle или MS SQL. Так эти библиотеки + SQL содержат все нужные функии, чтобы <BAD> не попал в ROWSET вообще, и даже чтобы вывести xml типа Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2005, 08:42 |
|
||
|
вопрос по XSL
|
|||
|---|---|---|---|
|
#18+
Еретик... Мой вариант XSL в этом смысле вроде лучше смотрится... Или нет? /topic/248299&hl=#2210283 В смысле примера использования <xsl:apply-templates/> и <xsl:copy-of /> безусловно - лучше... Только этот пример не очень адекватно (ИМХО) разъясняет суть "декларативности" XSLT, т.к. "привязан" жестко к структуре исходного документа, т.е. может обрабатывать только элементы ROW , и исключать только их ( ROW -s) дочерние элементы BAD (для примера, безусловно, достаточно). Я вот тут взял на себя смелость - немного изменить структуру исходного документа, чтобы продемонстрировать более "общий" подход: Код: plaintext Код: plaintext А "конкретика", имеющая смысл только для данного вида документов, находится всего в одной строчке самого "крайнего" шаблона, которую изменить при случае (вместо "bad" поставить, например, "exclude" или "skip") - плевое дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2005, 11:24 |
|
||
|
вопрос по XSL
|
|||
|---|---|---|---|
|
#18+
qu-qu Только этот пример не очень адекватно (ИМХО) разъясняет суть "декларативности" XSLT, т.к. "привязан" жестко к структуре исходного документа.... .... Я вот тут взял на себя смелость - немного изменить структуру исходного документа, чтобы продемонстрировать более "общий" подход: .... Таким шаблоном, по-моему, можно обработать не только конкретный документ, Решение твое имеет смысл, но, на мой взгляд, лишь теоретический... На практике я бы так далеко не заглядывал.... Задача есть конкретная, и самое простое решение будет наилучшим. А если концептуально - мы работаем с результатом выборки из SQL-базы данных, и задача у нас уровня "заплатки". Так, dasbot ? В случае разработки я бы вообще решал ее не через XSLT, а на уровне порта SQL+XML (типа XML DB, SQLX или XSQL , и т.п. ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2005, 20:58 |
|
||
|
вопрос по XSL
|
|||
|---|---|---|---|
|
#18+
Еретик qu-qu .... Решение твое имеет смысл, но, на мой взгляд, лишь теоретический... В том числе, оно имеет учебно-познавательный смысл :) Но для данного конекретного случая громоздко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2005, 23:05 |
|
||
|
вопрос по XSL
|
|||
|---|---|---|---|
|
#18+
ЕретикНо для данного конекретного случая громоздко. оно громоздко только потому, что qu-qu пытался написать что-то универсальное. на самом деле очень к месту :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2005, 00:49 |
|
||
|
вопрос по XSL
|
|||
|---|---|---|---|
|
#18+
Еретик А если концептуально - мы работаем с результатом выборки из SQL-базы данных, и задача у нас уровня "заплатки". Так, dasbot ? Так точно Еретик В случае разработки я бы вообще решал ее не через XSLT, а на уровне порта SQL+XML (типа XML DB, SQLX или XSQL , и т.п. ). В моем случае это не совсем удобно Сам с xml знаком поверхностно, поэтому все вышеизложенное приму к сведению Всем большое спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2005, 01:38 |
|
||
|
вопрос по XSL
|
|||
|---|---|---|---|
|
#18+
dasbot Еретик А если концептуально - мы работаем с результатом выборки из SQL-базы данных, и задача у нас уровня "заплатки". Так, dasbot ? Так точно А заплатка должна быть простой и крепкой! Поэтому, чем проще и надежнее, тем лучше, и разумеется во всякие тяжкие SQL/XML тебе лезть не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2005, 17:02 |
|
||
|
вопрос по XSL
|
|||
|---|---|---|---|
|
#18+
уважаемые qu-qu и Еретик. Несколько Ваших последних сообщений в этом топике были удалены в связи с тем, что не относились к теме топика и несли раздражительный характер по отношению друг к другу. p.s. Огромная просьба, в будущем выяснять отношения по электронной почте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2005, 11:39 |
|
||
|
вопрос по XSL
|
|||
|---|---|---|---|
|
#18+
M0usуважаемые qu-qu и Еретик. Несколько Ваших последних сообщений в этом топике были удалены в связи с тем, что не относились к теме топика и несли раздражительный характер по отношению друг к другу. p.s. Огромная просьба, в будущем выяснять отношения по электронной почте. Да вроде мы друг друга не раздражали... Я, по крайней мере, не заметил неполиткорректности ни с чьей стороны, а также попыток выяснения личных отношений. Я понимаю и уважаю позицию qu-qu - он дал превосходный пример XSLT , но я не считаю ее подходящим решением конкретной практической задачи.... Речь о разных принципиальных подходах к решению задач, ничего личного . Только по теме вопроса dashbot ... PS. Да вроде все нужные посты на месте... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2005, 14:17 |
|
||
|
|

start [/forum/topic.php?fid=14&msg=33458226&tid=1334908]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
75ms |
get tp. blocked users: |
1ms |
| others: | 261ms |
| total: | 431ms |

| 0 / 0 |
