STRUCTURE.dependency.subject.backRef.grouped.constructor.xsl 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  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__STRUCTURE.controller="https://biuro.biall-net.pl/wfs/default_db/table/STRUCTURE.controller.xsd"
  6. xmlns:default_db__x3A__NEURO_MIND_OUTPUT_IMAGE="https://biuro.biall-net.pl/wfs/default_db/table/NEURO_MIND_OUTPUT_IMAGE.xsd"
  7. xmlns:default_db__x3A__STRUCTURE.dependency.context="https://biuro.biall-net.pl/wfs/default_db/table/STRUCTURE.dependency.context.xsd"
  8. xmlns:default_db__x3A__STRUCTURE.dependency.subject="https://biuro.biall-net.pl/wfs/default_db/table/STRUCTURE.dependency.subject.xsd"
  9. xmlns:default_db__x3A__STRUCTURE.dependency.subject.element="https://biuro.biall-net.pl/wfs/default_db/table/STRUCTURE.dependency.subject.element.xsd"
  10. xmlns:default_db__x3A__STRUCTURE.dependency.subject.backRef="https://biuro.biall-net.pl/wfs/default_db/table/STRUCTURE.dependency.subject.backRef.xsd"
  11. xmlns:default_db__x3A__STRUCTURE.dependency.subject.assert="https://biuro.biall-net.pl/wfs/default_db/table/STRUCTURE.dependency.subject.assert.xsd"
  12. xmlns:default_db__x3A__STRUCTURE.dependency.subject.referenced="https://biuro.biall-net.pl/wfs/default_db/table/STRUCTURE.dependency.subject.referenced.xsd"
  13. version="2.0">
  14. <xsl:output include-content-type="yes" />
  15. <xsl:strip-space elements="*"/>
  16. <!--<default_db__x3A__STRUCTURE.dependency.subject.backRef:child default_db__x3A__STRUCTURE.dependency.subject.backRef:child.constructor="true"
  17. default_db__x3A__STRUCTURE.dependency.subject.backRef:child.name="ID"
  18. default_db__x3A__STRUCTURE.dependency.subject.backRef:child.value.constructor="serialized">2</default_db__x3A__STRUCTURE.dependency.subject.backRef:child>-->
  19. <!--<xsl:template mode="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor" match="*" priority="1">
  20. <xsl:copy copy-namespaces="yes">
  21. <xsl:copy-of select="@*"/>
  22. <xsl:apply-templates mode="#current"/>
  23. </xsl:copy>
  24. </xsl:template>-->
  25. <!--<xsl:template mode="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor" match="*[@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor='true']">
  26. <TO_VALIDATE_BYPASSED>
  27. <xsl:copy>
  28. <xsl:copy-of select="@*"/>
  29. <xsl:apply-templates mode="#current"></xsl:apply-templates>
  30. </xsl:copy>
  31. </TO_VALIDATE_BYPASSED>
  32. </xsl:template>-->
  33. <xsl:template mode="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor" match="*"><!-- *[*[@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor='true']] -->
  34. <!-- prepend -->
  35. <xsl:message>#63 backRef:grouped.constructor match <xsl:value-of select="name()"/></xsl:message>
  36. <xsl:variable name="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.parent.name" select="*[@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.parent.name][1]/@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.parent.name[1]"/>
  37. <xsl:variable name="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.self.name" select="*[@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.parent.name][1]/@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.self.name[1]"/>
  38. <xsl:variable name="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.parent.targetNamespace" select="*[@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.parent.name][1]/@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.parent.targetNamespace[1]"/>
  39. <xsl:variable name="default_db__x3A__STRUCTURE.dependency.subject.backRef:child.element.name.grouped.selector" select="*[@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.parent.name][1]/@default_db__x3A__STRUCTURE.dependency.subject.backRef:child.element.name.grouped.selector[1]"/>
  40. <xsl:variable name="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.self.name" select="*/@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.self.name[1]"/>
  41. <xsl:for-each-group select="root()//*[@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor='true' and name()=$default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.self.name]"
  42. group-by="*[name()=$default_db__x3A__STRUCTURE.dependency.subject.backRef:child.element.name.grouped.selector]/text()">
  43. <xsl:apply-templates mode="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor.grouped" select="."></xsl:apply-templates>
  44. <xsl:comment>
  45. #76 <xsl:value-of select="name()"/> ID[=<xsl:value-of select="@default_db__x3A__STRUCTURE.dependency.context:self.generate-id"/>] count(<xsl:value-of select="count(current-group())"/>)
  46. </xsl:comment>
  47. </xsl:for-each-group>
  48. <!--<xsl:apply-templates mode="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.bypassed" select=".[not(@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor='true') and not(name()=$default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.self.name)]"/>-->
  49. </xsl:template>
  50. <xsl:template name="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor.clean">
  51. <xsl:param name="context" select="."/>
  52. <xsl:choose>
  53. <xsl:when test="$context/@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor='serialized'">
  54. <xsl:choose>
  55. <xsl:when test="$context/descendant-or-self::*[@default_db__x3A__STRUCTURE.dependency.subject.backRef:child.constructor='true']">
  56. <xsl:attribute name="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor.clean" select="$context/descendant-or-self::*[@default_db__x3A__STRUCTURE.dependency.subject.backRef:child.constructor='true']/@default_db__x3A__STRUCTURE.dependency.subject.backRef:child.constructor/name()"/>
  57. <xsl:attribute name="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor" select="$context/@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor"/>
  58. </xsl:when>
  59. <xsl:otherwise>
  60. <xsl:attribute name="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor.clean" select="'#94 probably aviailable'"/>
  61. </xsl:otherwise>
  62. </xsl:choose>
  63. </xsl:when>
  64. <xsl:otherwise>
  65. <xsl:attribute name="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor.clean" select="'#100 probably aviailable'"/>
  66. </xsl:otherwise>
  67. </xsl:choose>
  68. </xsl:template>
  69. <xsl:template mode="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.bypassed" match="*">
  70. <default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.bypassed>
  71. <xsl:copy>
  72. <xsl:copy-of select="@*"/>
  73. <xsl:apply-templates mode="#current"/>
  74. </xsl:copy>
  75. </default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.bypassed>
  76. </xsl:template>
  77. <xsl:template mode="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor.grouped" match="*">
  78. <!--<xsl:copy>-->
  79. <xsl:element name="{@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.parent.name}" namespace="{@default_db__x3A__STRUCTURE.dependency.subject.backRef:parent.targetNamespace}">
  80. <xsl:attribute name="deb319" select="name()"/>
  81. <xsl:attribute name="count_cg" select="count(current-group())"/>
  82. <xsl:copy-of select="@*"/>
  83. <xsl:if test="@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor='true'">
  84. <xsl:attribute name="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor" select="'serialized'"/>
  85. </xsl:if>
  86. <xsl:apply-templates mode="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor.for-each-group" select="current-group()"/>
  87. </xsl:element>
  88. <!--</xsl:copy>-->
  89. </xsl:template>
  90. <!-- #### --><!-- #### --><!-- #### --><!-- #### --><!-- #### --><!-- #### --><!-- #### -->
  91. <!--<xsl:template mode="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor.grouped" match="*[@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor='serialized']">
  92. <xsl:message terminate="no">#8999 fouind <xsl:value-of select="name()"/>;
  93. default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor</xsl:message>
  94. <xsl:copy>
  95. <xsl:copy-of select="@*"/>
  96. <xsl:attribute name="deb319-\-B" select="name()"/>
  97. <xsl:apply-templates mode="#current"/>
  98. </xsl:copy>
  99. </xsl:template>-->
  100. <!-- #### --><!-- #### --><!-- #### --><!-- #### --><!-- #### --><!-- #### --><!-- #### -->
  101. <xsl:template mode="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor.for-each-group" match="*">
  102. <xsl:copy>
  103. <xsl:copy-of select="@*"/>
  104. <xsl:if test="@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor='true'">
  105. <xsl:attribute name="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor" select="'serialized'"/>
  106. </xsl:if>
  107. <xsl:apply-templates mode="#current"></xsl:apply-templates>
  108. </xsl:copy>
  109. </xsl:template>
  110. <xsl:template mode="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.constructor.for-each-group" match="*[@default_db__x3A__STRUCTURE.dependency.subject.backRef:child.constructor='true' and @default_db__x3A__STRUCTURE.dependency.subject.backRef:child.value ]">
  111. <xsl:copy>
  112. <xsl:copy-of select="@*[not(name()='default_db__x3A__STRUCTURE.dependency.subject.backRef:child.value')]"/>
  113. <xsl:choose>
  114. <xsl:when test="@default_db__x3A__STRUCTURE.dependency.subject.backRef:child.value=default_db__x3A__STRUCTURE.dependency.subject.backRef:child.value.count.precedimg.parent.name()">
  115. <xsl:attribute name="default_db__x3A__STRUCTURE.dependency.subject.backRef:child.value.constructor" select="'serialized'"/>
  116. <xsl:attribute name="debug186" select="'todo verify'"/>
  117. <!--<xsl:variable name="default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.self.name" select="parent::*/@default_db__x3A__STRUCTURE.dependency.subject.backRef:grouped.self.name"/>-->
  118. <xsl:value-of select="count(preceding::*[name()=current()/parent::*/name()])"/>
  119. </xsl:when>
  120. <xsl:when test="string-length(@default_db__x3A__STRUCTURE.dependency.subject.backRef:child.value)&gt;0">
  121. <xsl:attribute name="debug186-B" select="'todo verify'"/>
  122. <xsl:attribute name="default_db__x3A__STRUCTURE.dependency.subject.backRef:child.value.constructor" select="'serialized'"/>
  123. <xsl:value-of select="@default_db__x3A__STRUCTURE.dependency.subject.backRef:child.value"/>
  124. </xsl:when>
  125. <xsl:otherwise>
  126. <xsl:attribute name="default_db__x3A__STRUCTURE.dependency.subject.backRef:child.value.constructor.error">#262 foreach otherwise value(<xsl:value-of select="@default_db__x3A__STRUCTURE.dependency.subject.backRef:child.value"/>) not=(<xsl:value-of select="default_db__x3A__STRUCTURE.dependency.subject.backRef:child.value.count.precedimg.parent.name()"/>)</xsl:attribute>
  127. </xsl:otherwise>
  128. </xsl:choose>
  129. </xsl:copy>
  130. </xsl:template>
  131. </xsl:stylesheet>