STRUCTURE.dependency.model.xsl 10 KB

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