edge_joins_filled_paths_make.xsl 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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:param name="ways_as_Text_z_ID_xml.xml" select="'ways_as_Text_z_ID_xml.xml'"/>
  8. <xsl:variable name="ways_asText_z_ID_xml" select="doc($ways_as_Text_z_ID_xml.xml)"/>
  9. <xsl:param name="joins_asText_xml.xml" select="'joins_asText_xml.xml'"/>
  10. <xsl:variable name="joins_asText_xml" select="doc($joins_asText_xml.xml)"/>
  11. <xsl:output indent="yes"/>
  12. <xsl:strip-space elements="*"/>
  13. <xsl:template match="EdgeWayJoins">
  14. <edge_joins_filled_paths>
  15. <xsl:attribute name="stylesheet" select="'edge_joins_filled_paths_make.xsl'"/>
  16. <xsl:apply-templates/>
  17. </edge_joins_filled_paths>
  18. </xsl:template>
  19. <xsl:template match="EdgeWayJoinsPair">
  20. <item>
  21. <xsl:attribute name="id" select="@ID_Way"/>
  22. <xsl:variable name="ID_Way" select="@ID_Way"/>
  23. <asText>
  24. <xsl:variable name="bp:Joins">
  25. <xsl:for-each select="bp:Joins">
  26. <bp:Joins>
  27. <xsl:copy-of select="@*"/>
  28. <xsl:copy-of select="$joins_asText_xml/joins_asText_xml/item[@id= current()/@id]/bp:Path_Point/@X"/>
  29. <xsl:copy-of select="$joins_asText_xml/joins_asText_xml/item[@id= current()/@id]/bp:Path_Point/@Y"/>
  30. <xsl:attribute name="position" select="position()"/>
  31. </bp:Joins>
  32. </xsl:for-each>
  33. </xsl:variable>
  34. <xsl:variable name="Join_X1" select="$bp:Joins/bp:Joins[@position=1]/@X"/>
  35. <xsl:variable name="Join_Y1" select="$bp:Joins/bp:Joins[@position=1]/@Y"/>
  36. <xsl:variable name="Join_X2" select="$bp:Joins/bp:Joins[@position=2]/@X"/>
  37. <xsl:variable name="Join_Y2" select="$bp:Joins/bp:Joins[@position=2]/@Y"/>
  38. <!-- na podstawie joina ustalamy jego wspolrzedne -->
  39. <!-- teraz trzeba wiedziec ktory punkt wziac z drogi - czy pierwszy czy drugi jaki pasuje do pary -->
  40. <Ways>
  41. <xsl:for-each select="$ways_asText_z_ID_xml/ways_asText_z_ID_xml/item[@ID_Way=$ID_Way]/bp:Path_Point">
  42. <bp:Path_Point>
  43. <xsl:copy-of select="@*"/>
  44. </bp:Path_Point>
  45. </xsl:for-each>
  46. </Ways>
  47. </asText>
  48. </item>
  49. </xsl:template>
  50. </xsl:stylesheet>