|
|
|
XSLT+Xpath Recursion
|
|||
|---|---|---|---|
|
#18+
Input data : build.xml ******************************************************************************* <project name="name of project" default="compile" basedir="."> <target name="all" depends="clean,compile" description="Clean build and dist directories, then compile"/> <target name="clean" description="Delete old build and dist directories"> </target> <target name="compile" depends="prepare" description="Compile Java sources"> </target> <target name="dist" depends="compile,javadoc" description="Create binary distribution"> </target> <target name="install" depends="compile" </target> <target name="javadoc" depends="compile" description="Create Javadoc API documentation"> </target> <target name="list" </target> <target name="prepare"> </target> </project> ******************************************************************************* Задача стоит следующая : Нужно построить таблицу зависимостей используя XSLT+XPath Target Dependencies ---------------------------- clean ---------------------------- list ---------------------------- prepare ---------------------------- all clean compile - prepare ---------------------------- compile prepare ---------------------------- dist compile - prepare javadoc - compile - prepare ---------------------------- install compile -prepare ---------------------------- javadoc compile -prepare Source : <<< *.xsl >>> ******* <tr> <td width="100%"> <table border="1" class="targetDependencyANT" align="center"> <tr> <td style="background-color: olive"> Target </td> <td style="background-color: olive"> Dependencies </td> </tr> <xsl:call-template name="printEmptyTarget" /> <xsl:call-template name="printNotEmptyTarget" /> </table> </td> </tr> ******* <xsl:template name="printEmptyTarget"> <xsl:for-each select="project/target[not(@depends)]"> <tr> <td> <xsl:value-of select="@name" /> </td> </tr> </xsl:for-each> </xsl:template> <xsl:template name="printNotEmptyTarget"> <xsl:for-each select="project/target[@depends!='']"> <tr> <td> <xsl:value-of select="@name" /> </td> <td> <xsl:value-of select="@depends" /> // здесь не получаэться <xsl:variable name="targetName" select="@name = @depends"> <xsl:value-of select="$targetName" /> </xsl:variable> </td> </tr> </xsl:for-each> </xsl:template> ******************************************************************* От рабочий пример факториала <<< factorial.xml >>> <?xml version="1.0" encoding="UTF-8"?> <mathematical> <factorial>3</factorial> </mathematical> <<< factorial.xsl >>> <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xslt"> <xsl:output method="html" /> <xsl:template match="/"> <html> <head> <title>Products</title> </head> <body> <table> <tr> <td>Value :</td> <td> <xsl:value-of select="mathematical/factorial" /> </td> </tr> <tr> <td>Result :</td> <td> <xsl:call-template name="factorial"> <xsl:with-param name="number" select="mathematical/factorial" /> </xsl:call-template> </td> </tr> </table> </body> </html> </xsl:template> <xsl:template name="factorial"> <xsl:param name="number" select="1" /> <xsl:choose> <xsl:when test="$number = 1"> <xsl:value-of select="1" /> </xsl:when> <xsl:otherwise> <xsl:variable name="recursive_result"> <xsl:call-template name="factorial"> <xsl:with-param name="number" select="$number - 1" /> </xsl:call-template> </xsl:variable> <xsl:value-of select="$number * $recursive_result" /> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet> буду очень благодарен за помощь ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 12:28:24 |
|
||
|
XSLT+Xpath Recursion
|
|||
|---|---|---|---|
|
#18+
Как-то так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 19:10:14 |
|
||
|
XSLT+Xpath Recursion
|
|||
|---|---|---|---|
|
#18+
спасибо за ответ Я попытаюсь разобраться или он работаэт как мне надо Я только начинаю изучать XSLT+Xpath (новичок) Если не тежело посоветовать литературу, URL, форумы Например http://forum.java.sun.com/forum.jspa?forumID=34 Тотже вопрос и ниодного ответа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2007, 11:02:57 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34802062&tid=2144534]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
27ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
| others: | 302ms |
| total: | 408ms |

| 0 / 0 |
