STRUCTURE.dependency.xsl 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  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.dependency.resolution.xsl"/>-->
  9. <!--<xsl:import href="STRUCTURE.init.type.xsl"/>-->
  10. <!--*2019-04-06 zasada wygenerowania listy struktur oraz zaleznosci zadan - choreografia, zaleznosc
  11. *ZASADA*201904 w lokalnych schematach rozwijac refy i modele, ale w obcych zostawiac @ref - aby je resolve robic lokalnie, za pierwszym razem lecimy schematy unikalnie, ktore wariantuja sie na bazie importow -->
  12. <xsl:output indent="yes"/>
  13. <xsl:strip-space elements="*"/>
  14. <xsl:include href="STRUCTURE.init.ref.xsl"/>
  15. <xsl:template mode="default_db__x3A__STRUCTURE:dependency__begin" match="xs:schema">
  16. <xsl:param name="default_db__x3A__STRUCTURE:loop.path" />
  17. <xsl:param name="default_db__x3A__STRUCTURE:generate-id" select="0"/>
  18. <default_db__x3A__STRUCTURE:dependency__begin>
  19. <!--<RELATED>
  20. <xsl:for-each select="following-sibling::*[4]"> <xsl:value-of select="name()"/></xsl:for-each>
  21. </RELATED>-->
  22. <!--<xsl:copy-of select="$default_db__x3A__STRUCTURE:loop.path"/>-->
  23. <xsl:apply-templates mode="default_db__x3A__STRUCTURE:dependency" select=".">
  24. <!-- ($default_db__x3A__STRUCTURE:loop.path,'',name(),default_db__x3A__STRUCTURE:document-uri.filename(@schemaLocation)),default_db__x3A__STRUCTURE:namespaceprefix.get(.)) -->
  25. <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="default_db__x3A__STRUCTURE:loop.path.init('','','')"/><!-- ,name(), default_db__x3A__STRUCTURE:document-uri.filename(document-uri(root())) , default_db__x3A__STRUCTURE:namespaceprefix.get(.) ) -->
  26. <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path__x3A__FLAG" select="'Dasasd'"/>
  27. <xsl:with-param name="default_db__x3A__STRUCTURE:generate-id" select="$default_db__x3A__STRUCTURE:generate-id" tunnel="yes"/>
  28. </xsl:apply-templates>
  29. </default_db__x3A__STRUCTURE:dependency__begin>
  30. </xsl:template>
  31. <xsl:template mode="default_db__x3A__STRUCTURE:dependency" match="xs:schema"> <!-- default_db__x3A__NEURO_MIND_INPUT_TEXT:init -->
  32. <xsl:param name="default_db__x3A__STRUCTURE:loop.path__x3A__FLAG" required="no"/>
  33. <xsl:param name="default_db__x3A__STRUCTURE:loop.path" /> <!-- default_db__x3A__STRUCTURE:loop.path.init(default_db__x3A__STRUCTURE:document-uri.filename(document-uri(root())),name()) -->
  34. <!--<xsl:variable name="default_db__x3A__STRUCTURE:loop.path" select="default_db__x3A__STRUCTURE:loop.path.test.append($default_db__x3A__STRUCTURE:loop.path,default_db__x3A__STRUCTURE:document-uri.filename(document-uri(root())),name())"/>-->
  35. <!--<xsl:variable name="default_db__x3A__STRUCTURE:loop.path" select="default_db__x3A__STRUCTURE:loop.path.init($default_db__x3A__STRUCTURE:loop.path,'INIt3',@targetNamespace)"/>-->
  36. <default_db__x3A__STRUCTURE:dependency default_db__x3A__STRUCTURE:loop.path__x3A__FLAG="{$default_db__x3A__STRUCTURE:loop.path__x3A__FLAG}">
  37. <!--<xsl:copy-of select="$default_db__x3A__STRUCTURE:loop.path"/>-->
  38. <xsl:copy>
  39. <xsl:attribute name="debug">#DEP-20-30 m[default_db__x3A__STRUCTURE:dependency] [xs:schema] - add_Loop[[<xsl:value-of select="default_db__x3A__STRUCTURE:document-uri.filename(document-uri(root()))"/>]]</xsl:attribute>
  40. <xsl:call-template name="default_db__x3A__STRUCTURE:document-uri"/>
  41. <xsl:call-template name="default_db__x3A__STRUCTURE:generate-id"/>
  42. <xsl:apply-templates mode="#current" select="@*"/>
  43. <xsl:choose>
  44. <xsl:when test="default_db__x3A__STRUCTURE:loop.path.test($default_db__x3A__STRUCTURE:loop.path)">
  45. <xsl:message>##[ OK ] DEP-20-30 LOp[[<xsl:value-of select="count($default_db__x3A__STRUCTURE:loop.path//*)"/>]]</xsl:message>
  46. <xsl:apply-templates mode="default_db__x3A__STRUCTURE:dependency" >
  47. <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="default_db__x3A__STRUCTURE:loop.path.test.append($default_db__x3A__STRUCTURE:loop.path,'',name(),default_db__x3A__STRUCTURE:document-uri.filename(document-uri(root())),default_db__x3A__STRUCTURE:namespaceprefix.get(.))"/>
  48. <!--<xsl:copy-of select="$default_db__x3A__STRUCTURE:loop.path"/>-->
  49. <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path__x3A__FLAG">kuyrwa123</xsl:with-param>
  50. </xsl:apply-templates>
  51. </xsl:when>
  52. <xsl:otherwise>
  53. <xsl:message>## [ODMOWA ]DEP-20-30 LOOP?? <xsl:value-of select="default_db__x3A__STRUCTURE:loop.path.test($default_db__x3A__STRUCTURE:loop.path)"/> ; m[default_db__x3A__STRUCTURE:dependency]</xsl:message>
  54. </xsl:otherwise>
  55. </xsl:choose>
  56. </xsl:copy>
  57. </default_db__x3A__STRUCTURE:dependency>
  58. </xsl:template>
  59. <xsl:template mode="default_db__x3A__STRUCTURE:dependency" match="xs:group|xs:element|xs:simpleType|xs:complexType|xs:attributeGroup|xs:attribute">
  60. <xsl:copy>
  61. <xsl:apply-templates mode="#current" select="@*"/>
  62. <xsl:call-template name="default_db__x3A__STRUCTURE:generate-id"/>
  63. <!--<xsl:apply-imports/>-->
  64. <!--<xsl:copy-of select="*"/>-->
  65. <xsl:apply-templates mode="default_db__x3A__STRUCTURE:dependency.copy"/>
  66. </xsl:copy>
  67. </xsl:template>
  68. <xsl:template mode="default_db__x3A__STRUCTURE:dependency.copy" match="*[parent::xs:schema]">
  69. <xsl:copy>
  70. <xsl:copy-of select="@*"/>
  71. <xsl:attribute name="local.model.relation" select="'root'"/>
  72. <xsl:apply-templates mode="#current"/>
  73. </xsl:copy>
  74. </xsl:template>
  75. <xsl:template mode="default_db__x3A__STRUCTURE:dependency.copy" match="xs:element[descendant::xs:element]">
  76. <xsl:copy>
  77. <xsl:copy-of select="@*"/>
  78. <xsl:attribute name="local.model.relation" select="'child'"/>
  79. <xsl:apply-templates mode="#current"/>
  80. </xsl:copy>
  81. </xsl:template>
  82. <xsl:template mode="default_db__x3A__STRUCTURE:dependency.copy" match="*">
  83. <xsl:copy>
  84. <xsl:copy-of select="@*"/>
  85. <xsl:apply-templates mode="#current"/>
  86. </xsl:copy>
  87. </xsl:template>
  88. <xsl:template mode="default_db__x3A__STRUCTURE:dependency.copy" match="xs:annotation">
  89. <xsl:apply-templates mode="#current"/>
  90. </xsl:template>
  91. <xsl:template mode="default_db__x3A__STRUCTURE:dependency.copy" match="text()">
  92. <xsl:copy-of select="."/>
  93. </xsl:template>
  94. <xsl:template mode="default_db__x3A__STRUCTURE:dependency" match="xs:import|xs:include">
  95. <xsl:param name="default_db__x3A__STRUCTURE:loop.path" required="yes" />
  96. <!--<xsl:variable name="default_db__x3A__STRUCTURE:loop.path" select="default_db__x3A__STRUCTURE:loop.path.test.append($default_db__x3A__STRUCTURE:loop.path,default_db__x3A__STRUCTURE:document-uri.filename(@schemaLocation),name())"/>-->
  97. <xsl:copy>
  98. <xsl:apply-templates mode="default_db__x3A__STRUCTURE:dependency" select="@*"/>
  99. <xsl:call-template name="default_db__x3A__STRUCTURE:generate-id"/>
  100. <xsl:choose>
  101. <xsl:when test="default_db__x3A__STRUCTURE:loop.path.test($default_db__x3A__STRUCTURE:loop.path)">
  102. <xsl:message>#52 $L[[<xsl:value-of select="count($default_db__x3A__STRUCTURE:loop.path//*)"/>]]will open @schemaLocation[<xsl:value-of select="@schemaLocation"/>][[<xsl:value-of select="default_db__x3A__STRUCTURE:document-uri.filename(@schemaLocation)"/>]]</xsl:message>
  103. <xsl:apply-templates mode="default_db__x3A__STRUCTURE:dependency" select="doc(@schemaLocation)/xs:schema">
  104. <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="default_db__x3A__STRUCTURE:loop.path.test.append($default_db__x3A__STRUCTURE:loop.path,'',name() , default_db__x3A__STRUCTURE:document-uri.filename(@schemaLocation),default_db__x3A__STRUCTURE:namespaceprefix.get(.))"/>
  105. </xsl:apply-templates>
  106. </xsl:when>
  107. <xsl:otherwise>
  108. <xsl:message>#67 - LOOP chyba blad</xsl:message>
  109. <!--<DEBUG default_db__x3A__STRUCTURE:loop.path.test="{default_db__x3A__STRUCTURE:loop.path.test($default_db__x3A__STRUCTURE:loop.path)}">
  110. <xsl:copy-of select="$default_db__x3A__STRUCTURE:loop.path"/>
  111. </DEBUG>-->
  112. </xsl:otherwise>
  113. </xsl:choose>
  114. </xsl:copy>
  115. </xsl:template>
  116. <xsl:template mode="default_db__x3A__STRUCTURE:dependency" match="@*">
  117. <xsl:copy-of select="."/>
  118. </xsl:template>
  119. <xsl:template mode="default_db__x3A__STRUCTURE:dependency" match="*"/>
  120. <xsl:template mode="default_db__x3A__STRUCTURE:dependency default_db__x3A__STRUCTURE:init.ref" match="text()">
  121. <xsl:copy-of select="."/>
  122. </xsl:template>
  123. <xsl:template mode="default_db__x3A__STRUCTURE:dependency default_db__x3A__STRUCTURE:init.ref" match="comment()"/>
  124. </xsl:stylesheet>