|
|
|
Переменные в XSL
|
|||
|---|---|---|---|
|
#18+
Есть данные XML: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Надо получить текстовый файл, в каждой строке которого: auxid,identifier,started,expired Пытаюсь для этого заюзать переменную, aid, не получается... Что я делаю не так? Вот XSL: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2005, 15:17 |
|
||
|
Переменные в XSL
|
|||
|---|---|---|---|
|
#18+
Код: plaintext без namespace: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2005, 15:39 |
|
||
|
Переменные в XSL
|
|||
|---|---|---|---|
|
#18+
попробуй без переменной. выглядит примерно так... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2005, 16:07 |
|
||
|
Переменные в XSL
|
|||
|---|---|---|---|
|
#18+
Роман Дынник...и для чего вообще понадобился namespace для переменной? ... Можно спросить и так: "и для чего вообще понадобилась переменная?" Код: plaintext 1. 2. 3. 4. 5. 6. 7. Такой шаблон для элемента passwd даст вам все, что вам требуется без всякой переменной... З.Ы. а по поводу ошибки с именем переменной - там же ясно сказано: "A reference to variable or parameter '{uri:a}aid' cannot be resolved. The variable or parameter may not be defined, or it may not be in scope." (ключевое слово scope , т.к. за defined мы "отвечаем"). Очевидно, переменную можно использовать только "внутри" того шаблона, в котором она определена, но не другого (независимого), хотя явных указаний на это в описании тега <xsl:variable> и нет... Но, догадаться путем нехитрых манипуляций с помещением <xsl:variable> в разные места шаблона, по-моему, нетрудно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2005, 16:08 |
|
||
|
Переменные в XSL
|
|||
|---|---|---|---|
|
#18+
можно определить две переменные с одним именем в одном скопе, тогда парсер вам всё про скопы расскажет :) передавать переменные можно вызывая <apply-templates><with-param/></apply-templates> ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2005, 20:34 |
|
||
|
Переменные в XSL
|
|||
|---|---|---|---|
|
#18+
M0usпопробуй без переменной. выглядит примерно так... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Так оно, конечно, работает, но: saxon под вынь выдает так: Код: plaintext 1. 2. 3. 4. Код: plaintext 1. И второе: мне эти строки нужно выводить условно: не выводить, если expired < 2005-01-01 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 09:13 |
|
||
|
Переменные в XSL
|
|||
|---|---|---|---|
|
#18+
qu-qu Можно спросить и так: "и для чего вообще понадобилась переменная?" Код: plaintext 1. 2. 3. 4. 5. 6. 7. Такой шаблон для элемента passwd даст вам все, что вам требуется без всякой переменной... З.Ы. а по поводу ошибки с именем переменной - там же ясно сказано: "A reference to variable or parameter '{uri:a}aid' cannot be resolved. The variable or parameter may not be defined, or it may not be in scope." (ключевое слово scope , т.к. за defined мы "отвечаем"). Очевидно, переменную можно использовать только "внутри" того шаблона, в котором она определена, но не другого (независимого), хотя явных указаний на это в описании тега <xsl:variable> и нет... Но, догадаться путем нехитрых манипуляций с помещением <xsl:variable> в разные места шаблона, по-моему, нетрудно... Спасибо, твой способ работает, только выдает на выходе много пустых строк, и вывод начинается не с 1-й позиции в строке, а где-то с 17й (может, 2 таба впереди...). По поводу переменной, я пробовал указывать и без префикса, выводилась пустая строка, либо говорилось, что такая не определена... (не помню точно) То есть как с переменными? их можно использовать только в одном шаблоне <xslt:template>..... </xslt:template> ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 09:21 |
|
||
|
Переменные в XSL
|
|||
|---|---|---|---|
|
#18+
Sergey GТо есть как с переменными? их можно использовать только в одном шаблоне <xslt:template>..... </xslt:template> ? где объявите, там и будете использовать. если она глобальная, то ее значение доступно везде. если локальная, то в рамках того уровня, где она описана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 10:48 |
|
||
|
Переменные в XSL
|
|||
|---|---|---|---|
|
#18+
Sergey Gмне эти строки нужно выводить условно: не выводить, если expired < 2005-01-01 сразу надо предупреждать... Код: plaintext 1. 2. 3. 4. 5. ЗЫ использовать вместе с примером qu-qu ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 11:01 |
|
||
|
|

start [/forum/topic.php?fid=14&msg=33456863&tid=1334915]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 328ms |

| 0 / 0 |
