STRUCTURE.init.ref.xsl 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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. exclude-result-prefixes="xs"
  5. xmlns:default_db__x3A__NEURO_MIND_INPUT_TEXT="https://biuro.biall-net.pl/wfs/default_db/table/NEURO_MIND_INPUT_TEXT.xsd"
  6. xmlns:default_db__x3A__STRUCTURE="https://biuro.biall-net.pl/wfs/default_db/table/STRUCTURE.xsd"
  7. version="2.0">
  8. <xsl:import href="STRUCTURE.init.type.xsl"/>
  9. <xsl:output indent="yes"/>
  10. <xsl:strip-space elements="*"/>
  11. <xsl:template mode="default_db__x3A__STRUCTURE:init.ref" match="xs:schema"> <!-- default_db__x3A__NEURO_MIND_INPUT_TEXT:init -->
  12. <xsl:param name="default_db__x3A__STRUCTURE:loop.path" required="yes"/>
  13. <xsl:param name="default_db__x3A__STRUCTURE:init.ref" required="yes"/>
  14. <xsl:param name="default_db__x3A__STRUCTURE:init.ref.name" required="yes"/>
  15. <xsl:comment>#18 add element refered=[<xsl:value-of select="$default_db__x3A__STRUCTURE:init.ref.name"/>] $ref=[<xsl:value-of select="$default_db__x3A__STRUCTURE:init.ref"/>]</xsl:comment>
  16. <xsl:variable name="default_db__x3A__STRUCTURE:loop.path" select="default_db__x3A__STRUCTURE:loop.path.test.append($default_db__x3A__STRUCTURE:loop.path,@targetNamespace,name())"/>
  17. <xsl:choose>
  18. <xsl:when test="$default_db__x3A__STRUCTURE:loop.path/*">
  19. <xsl:element name="{$default_db__x3A__STRUCTURE:init.ref}" namespace="{@targetNamespace}">
  20. <xsl:call-template name="default_db__x3A__STRUCTURE:generate-id"/>
  21. <!--<DEEBUG264>
  22. <xsl:copy-of select="*[name()=$default_db__x3A__STRUCTURE:init.ref.name and @name=default_db__x3A__STRUCTURE:prefix.clean($default_db__x3A__STRUCTURE:init.ref)]"></xsl:copy-of>
  23. </DEEBUG264>-->
  24. <xsl:choose>
  25. <xsl:when test="*[name()=$default_db__x3A__STRUCTURE:init.ref.name and @name=default_db__x3A__STRUCTURE:prefix.clean($default_db__x3A__STRUCTURE:init.ref)]">
  26. <xsl:apply-templates mode="#current" select="*[name()=$default_db__x3A__STRUCTURE:init.ref.name and @name=default_db__x3A__STRUCTURE:prefix.clean($default_db__x3A__STRUCTURE:init.ref)]">
  27. <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="$default_db__x3A__STRUCTURE:loop.path"/>
  28. </xsl:apply-templates>
  29. </xsl:when>
  30. <xsl:otherwise>
  31. <xsl:message terminate="yes">#25 NOT FOUND *[name()=$default_db__x3A__STRUCTURE:init.ref.name and @name=default_db__x3A__STRUCTURE:prefix.clean($default_db__x3A__STRUCTURE:init.ref)]=[[[<xsl:value-of select="$default_db__x3A__STRUCTURE:init.ref"/>]]]</xsl:message>
  32. </xsl:otherwise>
  33. </xsl:choose>
  34. </xsl:element>
  35. <xsl:copy>
  36. <xsl:call-template name="default_db__x3A__STRUCTURE:document-uri"/>
  37. <xsl:call-template name="default_db__x3A__STRUCTURE:generate-id"/>
  38. <xsl:attribute name="debug">#18 M[:init.ref] to migrate LC#[<xsl:value-of select="count($default_db__x3A__STRUCTURE:loop.path/*)"/>] </xsl:attribute>
  39. <xsl:copy-of select="$default_db__x3A__STRUCTURE:loop.path"/>
  40. <xsl:apply-templates mode="#current" >
  41. <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="$default_db__x3A__STRUCTURE:loop.path"/>
  42. </xsl:apply-templates>
  43. </xsl:copy>
  44. </xsl:when>
  45. <xsl:otherwise>
  46. <xsl:comment>#47 LOOP </xsl:comment>
  47. </xsl:otherwise>
  48. </xsl:choose>
  49. </xsl:template>
  50. <xsl:template mode="default_db__x3A__STRUCTURE:init.ref" match="xs:element[@type]">
  51. <xsl:param name="default_db__x3A__STRUCTURE:loop.path" required="yes"/>
  52. <xsl:variable name="default_db__x3A__STRUCTURE:loop.path" select="default_db__x3A__STRUCTURE:loop.path.test.append($default_db__x3A__STRUCTURE:loop.path,@type,name())"/>
  53. <xsl:comment>#59 test xs:element[@type] = <xsl:value-of select="@type"/>;</xsl:comment>
  54. <xsl:apply-imports>
  55. <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="$default_db__x3A__STRUCTURE:loop.path"/>
  56. </xsl:apply-imports>
  57. </xsl:template>
  58. <xsl:template mode="default_db__x3A__STRUCTURE:init.ref" match=" xs:import">
  59. <xsl:param name="default_db__x3A__STRUCTURE:loop.path" required="yes"/>
  60. <xsl:copy>
  61. <xsl:call-template name="default_db__x3A__STRUCTURE:generate-id"/>
  62. <xsl:apply-templates mode="#current" select="@*"/>
  63. <xsl:apply-templates mode="#current" >
  64. <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="$default_db__x3A__STRUCTURE:loop.path"/>
  65. </xsl:apply-templates>
  66. </xsl:copy>
  67. </xsl:template>
  68. <xsl:template mode="default_db__x3A__STRUCTURE:init.ref" match="xs:complexType[@name='init' or @name='import' or @name='export']|xs:group[@name]|xs:simpleType[@name]">
  69. <xsl:param name="default_db__x3A__STRUCTURE:loop.path" required="yes"/>
  70. <xsl:variable name="default_db__x3A__STRUCTURE:loop.path" select="default_db__x3A__STRUCTURE:loop.path.test.append($default_db__x3A__STRUCTURE:loop.path,@name,name())"/>
  71. <xsl:copy>
  72. <xsl:call-template name="default_db__x3A__STRUCTURE:generate-id"/>
  73. <xsl:apply-templates mode="#current" select="@*"/>
  74. <xsl:apply-templates mode="#current" >
  75. <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="$default_db__x3A__STRUCTURE:loop.path"/>
  76. </xsl:apply-templates>
  77. </xsl:copy>
  78. </xsl:template>
  79. <xsl:template mode="default_db__x3A__STRUCTURE:init.ref" match="xs:assert"/>
  80. <!--<xsl:template mode="default_db__x3A__STRUCTURE:init.ref" match="xs:simpleType">
  81. <xsl:param name="default_db__x3A__STRUCTURE:loop.path" />
  82. <xsl:copy>
  83. <xsl:attribute name="debug">#40 migrate verify</xsl:attribute>
  84. <xsl:apply-templates mode="#current" select="@*"/>
  85. <xsl:apply-templates mode="default_db__x3A__STRUCTURE:init.ref">
  86. <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="$default_db__x3A__STRUCTURE:loop.path"/>
  87. </xsl:apply-templates>
  88. </xsl:copy>
  89. </xsl:template>-->
  90. <xsl:template mode="default_db__x3A__STRUCTURE:init.ref" match="*">
  91. <xsl:param name="default_db__x3A__STRUCTURE:loop.path" required="yes"/>
  92. <xsl:copy>
  93. <xsl:attribute name="debug">#61 default_db__x3A__STRUCTURE:init.ref [*]</xsl:attribute>
  94. <xsl:call-template name="default_db__x3A__STRUCTURE:generate-id"/>
  95. <xsl:apply-templates mode="#current" select="@*"/>
  96. <xsl:apply-templates mode="default_db__x3A__STRUCTURE:init.type" select="@type"/>
  97. <xsl:apply-templates mode="#current" >
  98. <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="$default_db__x3A__STRUCTURE:loop.path"/>
  99. </xsl:apply-templates>
  100. </xsl:copy>
  101. </xsl:template>
  102. <xsl:template mode="default_db__x3A__STRUCTURE:init.type" match="@type">
  103. <xsl:param name="default_db__x3A__STRUCTURE:loop.path" />
  104. <xsl:apply-imports>
  105. <!--<xsl:with-param name="default_db__x3A__STRUCTURE:init.type" required="yes"/>
  106. <xsl:with-param name="default_db__x3A__STRUCTURE:init.type.name" required="yes"/>-->
  107. <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="$default_db__x3A__STRUCTURE:loop.path"/>
  108. </xsl:apply-imports>
  109. </xsl:template>
  110. <xsl:template mode="default_db__x3A__STRUCTURE:init.ref" match="@*">
  111. <xsl:copy-of select="."/>
  112. </xsl:template>
  113. <xsl:template mode="default_db__x3A__STRUCTURE:init.ref" match="@default_db__x3A__STRUCTURE:generate-id">
  114. <xsl:copy-of select="."/>
  115. </xsl:template>
  116. </xsl:stylesheet>