ways_as_Text_z_ID_xml.xsl 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  3. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  4. xmlns:bp="https://procesy5.pl/biale_plamy-schema.xsd"
  5. exclude-result-prefixes="xs"
  6. version="2.0">
  7. <xsl:import href="asText.xsl"/>
  8. <xsl:param name="plamy_prefix" select="'test2'"/>
  9. <xsl:param name="ways2drogi.xml" select="concat('ways2drogi',$plamy_prefix,'.xml')"/>
  10. <xsl:variable name="ways2drogi" select="doc($ways2drogi.xml)"/>
  11. <xsl:param name="waysLengths.xml" select="concat('waysLengths',$plamy_prefix,'.xml')"/>
  12. <xsl:variable name="waysLengths" select="doc($waysLengths.xml)"/>
  13. <!-- <xsl:param name="ways2joins.xml" select="'ways2joins.xml'"/>
  14. <xsl:variable name="ways2joins" select="doc($ways2joins.xml)"/>
  15. -->
  16. <!-- trzeba dorobic aby wskazac czy koniec drogi jest z tego samego WAYa /joinsa ,
  17. czyli biore droge sprawdzam do jakiego jest joina, biore joina i sprawdzam do jakiego jest waya
  18. , sprawdzam jakie inne waye sa z tym joinem , szukam
  19. -->
  20. <xsl:output indent="yes"/>
  21. <xsl:strip-space elements="*"/>
  22. <xsl:template match="ways_asText">
  23. <ways_asText_z_ID_xml>
  24. <xsl:apply-templates/>
  25. </ways_asText_z_ID_xml>
  26. </xsl:template>
  27. <xsl:template match="item">
  28. <item>
  29. <xsl:copy-of select="@*"/>
  30. <xsl:attribute name="pos" select="position()"/>
  31. <xsl:attribute name="ID_Way" select="$ways2drogi/ways2drogi/item[@id= current()/@id]/text()"/>
  32. <xsl:attribute name="len" select="$waysLengths/waysLengths/item[@id= current()/@id]/ round(text())"/>
  33. <xsl:apply-templates/>
  34. </item>
  35. </xsl:template>
  36. <xsl:template match="text()">
  37. <xsl:variable name="asText">
  38. <asText>
  39. <xsl:copy-of select="."/>
  40. </asText>
  41. </xsl:variable>
  42. <xsl:apply-templates select="$asText"/>
  43. </xsl:template>
  44. </xsl:stylesheet>