STRUCTURE.dependency.xsl 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  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. xmlns:default_db__x3A__STRUCTURE.dependency.evokes.necessity="https://biuro.biall-net.pl/wfs/default_db/table/STRUCTURE.dependency.evokes.necessity.xsd"
  8. version="2.0">
  9. <!--<xsl:import href="STRUCTURE.dependency.resolution.xsl"/>-->
  10. <!--<xsl:import href="STRUCTURE.init.type.xsl"/>-->
  11. <!--*2019-04-06 zasada wygenerowania listy struktur oraz zaleznosci zadan - choreografia, zaleznosc
  12. *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 -->
  13. <xsl:import href="STRUCTURE.dependency.subject.xsl"/>
  14. <xsl:import href="STRUCTURE.dependency.evokes.necessity.xsl"/>
  15. <!--<xsl:import href="STRUCTURE.dependency.context.relation.xsl"/>-->
  16. <xsl:output indent="yes"/>
  17. <xsl:strip-space elements="*"/>
  18. <xsl:include href="STRUCTURE.init.ref.xsl"/>
  19. <xsl:template mode="default_db__x3A__STRUCTURE:dependency__begin" match="xs:schema">
  20. <xsl:param name="default_db__x3A__STRUCTURE:loop.path" />
  21. <xsl:param name="default_db__x3A__STRUCTURE:generate-id" select="0"/>
  22. <default_db__x3A__STRUCTURE:dependency__begin>
  23. <xsl:attribute name="debug">#32 dobrze otaguj elementy relacji dla mode analys</xsl:attribute>
  24. <!--<RELATED>
  25. <xsl:for-each select="following-sibling::*[4]"> <xsl:value-of select="name()"/></xsl:for-each>
  26. </RELATED>-->
  27. <!--<xsl:copy-of select="$default_db__x3A__STRUCTURE:loop.path"/>-->
  28. <xsl:apply-templates mode="default_db__x3A__STRUCTURE:dependency" select=".">
  29. <!-- ($default_db__x3A__STRUCTURE:loop.path,'',name(),default_db__x3A__STRUCTURE:document-uri.filename(@schemaLocation)),default_db__x3A__STRUCTURE:namespaceprefix.get(.)) -->
  30. <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(.) ) -->
  31. <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path__x3A__FLAG" select="'Dasasd'"/>
  32. <xsl:with-param name="default_db__x3A__STRUCTURE:generate-id" select="$default_db__x3A__STRUCTURE:generate-id" tunnel="yes"/>
  33. </xsl:apply-templates>
  34. </default_db__x3A__STRUCTURE:dependency__begin>
  35. </xsl:template>
  36. <!-- OLEWAMY SCHEMA PROTOTYPOWE NA RAZIE TODO -->
  37. <!--<xsl:template mode="default_db__x3A__STRUCTURE:dependency" match="xs:schema"/>--> <!-- default_db__x3A__NEURO_MIND_INPUT_TEXT:init -->
  38. <xsl:template mode="default_db__x3A__STRUCTURE:dependency" match="xs:schema"> <!-- default_db__x3A__NEURO_MIND_INPUT_TEXT:init -->
  39. <xsl:param name="default_db__x3A__STRUCTURE:loop.path__x3A__FLAG" required="no"/>
  40. <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()) -->
  41. <!--<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())"/>-->
  42. <!--<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)"/>-->
  43. <default_db__x3A__STRUCTURE:dependency default_db__x3A__STRUCTURE:loop.path__x3A__FLAG="{$default_db__x3A__STRUCTURE:loop.path__x3A__FLAG}">
  44. <!--<xsl:copy-of select="$default_db__x3A__STRUCTURE:loop.path"/>-->
  45. <xsl:copy>
  46. <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>
  47. <xsl:call-template name="default_db__x3A__STRUCTURE:document-uri"/>
  48. <!--<xsl:call-template name="default_db__x3A__STRUCTURE:generate-id"/>-->
  49. <xsl:apply-templates mode="#current" select="@*"/>
  50. <xsl:choose>
  51. <xsl:when test="default_db__x3A__STRUCTURE:loop.path.test($default_db__x3A__STRUCTURE:loop.path)">
  52. <xsl:message>##[ OK ] DEP-20-30 LOp[[<xsl:value-of select="count($default_db__x3A__STRUCTURE:loop.path//*)"/>]]</xsl:message>
  53. <xsl:apply-templates mode="default_db__x3A__STRUCTURE:dependency" >
  54. <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(.))"/>
  55. <!--<xsl:copy-of select="$default_db__x3A__STRUCTURE:loop.path"/>-->
  56. <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path__x3A__FLAG">kuyrwa123</xsl:with-param>
  57. </xsl:apply-templates>
  58. </xsl:when>
  59. <xsl:otherwise>
  60. <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>
  61. </xsl:otherwise>
  62. </xsl:choose>
  63. </xsl:copy>
  64. </default_db__x3A__STRUCTURE:dependency>
  65. </xsl:template>
  66. <xsl:template mode="default_db__x3A__STRUCTURE:dependency" match="xs:group|xs:element|xs:simpleType|xs:complexType|xs:attributeGroup|xs:attribute|xs:assert">
  67. <xsl:copy>
  68. <xsl:apply-templates mode="#current" select="@*"/>
  69. <!--<xsl:call-template name="default_db__x3A__STRUCTURE:generate-id"/>-->
  70. <!--<xsl:apply-imports/>-->
  71. <!--<xsl:copy-of select="*"/>-->
  72. <xsl:apply-templates mode="default_db__x3A__STRUCTURE:dependency.copy"/>
  73. </xsl:copy>
  74. </xsl:template>
  75. <xsl:template mode="default_db__x3A__STRUCTURE:dependency.copy" match="*[parent::xs:schema]" priority="8">
  76. <xsl:copy>
  77. <xsl:apply-templates mode="default_db__x3A__STRUCTURE:dependency.copy" select="@*"/>
  78. <xsl:attribute name="local.model.relation" select="'root'"/>
  79. <!--<xsl:apply-templates mode="#current"/>-->
  80. <xsl:apply-imports/>
  81. </xsl:copy>
  82. </xsl:template>
  83. <xsl:template mode="default_db__x3A__STRUCTURE:dependency.copy" match="xs:element[not(descendant::xs:element)]">
  84. <xsl:copy>
  85. <xsl:apply-templates mode="default_db__x3A__STRUCTURE:dependency.copy" select="@*"/>
  86. <xsl:attribute name="local.model.relation" select="'child'"/>
  87. <!--<xsl:apply-templates mode="#current"/>-->
  88. <xsl:apply-imports/>
  89. </xsl:copy>
  90. </xsl:template>
  91. <xsl:template mode="default_db__x3A__STRUCTURE:dependency.copy" match="*">
  92. <xsl:copy>
  93. <xsl:apply-templates mode="default_db__x3A__STRUCTURE:dependency.copy" select="@*"/>
  94. <xsl:attribute name="local.model.relation" select="count(descendant::*)"/>
  95. <xsl:apply-templates mode="#current"/>
  96. </xsl:copy>
  97. </xsl:template>
  98. <xsl:template mode="default_db__x3A__STRUCTURE:dependency.copy" match="@*">
  99. <xsl:copy-of select="."/>
  100. <!--<xsl:apply-imports/>-->
  101. </xsl:template>
  102. <xsl:template mode="default_db__x3A__STRUCTURE:dependency.copy" match="xs:annotation">
  103. <xsl:apply-templates mode="#current"/>
  104. </xsl:template>
  105. <xsl:template mode="default_db__x3A__STRUCTURE:dependency.copy" match="text()">
  106. <xsl:copy-of select="."/>
  107. </xsl:template>
  108. <xsl:template mode="default_db__x3A__STRUCTURE:dependency" match="xs:import|xs:include">
  109. <xsl:param name="default_db__x3A__STRUCTURE:loop.path" required="yes" />
  110. <!--<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())"/>-->
  111. <xsl:copy>
  112. <xsl:apply-templates mode="default_db__x3A__STRUCTURE:dependency" select="@*"/>
  113. <!--<xsl:call-template name="default_db__x3A__STRUCTURE:generate-id"/>-->
  114. <xsl:choose>
  115. <xsl:when test="default_db__x3A__STRUCTURE:loop.path.test($default_db__x3A__STRUCTURE:loop.path)">
  116. <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>
  117. <xsl:apply-templates mode="default_db__x3A__STRUCTURE:dependency" select="doc(@schemaLocation)/xs:schema">
  118. <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(.))"/>
  119. </xsl:apply-templates>
  120. </xsl:when>
  121. <xsl:otherwise>
  122. <xsl:message>#67 - LOOP chyba blad</xsl:message>
  123. <!--<DEBUG default_db__x3A__STRUCTURE:loop.path.test="{default_db__x3A__STRUCTURE:loop.path.test($default_db__x3A__STRUCTURE:loop.path)}">
  124. <xsl:copy-of select="$default_db__x3A__STRUCTURE:loop.path"/>
  125. </DEBUG>-->
  126. </xsl:otherwise>
  127. </xsl:choose>
  128. </xsl:copy>
  129. </xsl:template>
  130. <xsl:template mode="default_db__x3A__STRUCTURE:dependency" match="@*">
  131. <xsl:copy-of select="."/>
  132. </xsl:template>
  133. <xsl:template mode="default_db__x3A__STRUCTURE:dependency" match="*"/>
  134. <xsl:template mode="default_db__x3A__STRUCTURE:dependency default_db__x3A__STRUCTURE:init.ref" match="text()">
  135. <xsl:copy-of select="."/>
  136. </xsl:template>
  137. <xsl:template mode="default_db__x3A__STRUCTURE:dependency default_db__x3A__STRUCTURE:init.ref" match="comment()"/>
  138. </xsl:stylesheet>