NoPaste

1899.xsl

von bilzebub

SNIPPET_TEXT:
  1. <xsl:stylesheet version="1.0"
  2. xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3.  
  4. <xsl:output method="text"/>
  5.  
  6. <xsl:template match="/">
  7.   <xsl:for-each select="//position">
  8.     <xsl:call-template name="position"/>
  9.   </xsl:for-each>
  10.   <xsl:for-each select="//edge">
  11.     <xsl:call-template name="edge" />
  12.   </xsl:for-each>
  13.   <xsl:for-each select="//object">
  14.     <xsl:call-template name="object"/>
  15.   </xsl:for-each>
  16.   <xsl:apply-templates/>
  17. </xsl:template>
  18.  
  19. <xsl:template name="position">
  20. <xsl:text>\Cnode{</xsl:text><xsl:value-of select="./@x"/><xsl:text>,</xsl:text><xsl:value-of select="./@y"/><xsl:text>}{</xsl:text><xsl:value-of select="../@id"/><xsl:text>}
  21. </xsl:text>
  22. </xsl:template>
  23.  
  24. <xsl:template name="edge">
  25. <xsl:text>\ncline{</xsl:text><xsl:value-of select="./@from"/><xsl:text>}{</xsl:text><xsl:value-of select="./@to"/><xsl:text>}
  26. </xsl:text>
  27. </xsl:template>
  28.  
  29. <xsl:template name="object">
  30. <xsl:text>\uput[-90] {</xsl:text><xsl:value-of select="./@contextPosition"/><xsl:text>}{</xsl:text><xsl:value-of select="."/><xsl:text>}
  31. </xsl:text>
  32. </xsl:template>
  33.  
  34. <xsl:template match="attribute">
  35. <xsl:text>\uput[90] {</xsl:text><xsl:value-of select="./@contextPosition"/><xsl:text>}{</xsl:text><xsl:value-of select="."/><xsl:text>}
  36. </xsl:text>
  37. </xsl:template>
  38.  
  39. <xsl:template match="*|@*|node()">
  40.   <xsl:apply-templates/>
  41. </xsl:template>
  42.  
  43. </xsl:stylesheet>

Quellcode

Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN