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

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