STRUCTURE.dependency.xsl 10 KB

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