ant-object.xsl 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  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. xmlns:ant-object="http://biuro.biall-net.pl/xmlschema_procesy5/ant-object/ant-object.xsd"
  5. exclude-result-prefixes="xs"
  6. version="2.0">
  7. <xsl:function name="ant-object:location">
  8. <!-- to validate placement of xsd files -->
  9. <xsl:param name="default_db.ant-object.basedir" required="yes"/>
  10. <xsl:param name="element" required="yes"/>
  11. <xsl:value-of select="concat($default_db.ant-object.basedir,'/',$element)"/>
  12. </xsl:function>
  13. <xsl:template name="ant-object:location__x3A__default_db.validate">
  14. <xsl:param name="default_db.ant-object.basedir" required="yes"/>
  15. <xsl:param name="document-uri" required="yes"/>
  16. <xsl:choose>
  17. <xsl:when test="ant-object:location__x3A__default_db.validate($default_db.ant-object.basedir,$document-uri)">
  18. <ant-object:location__x3A__default_db.validate>
  19. <xsl:attribute name="ant-object:default_db.object__x3A__schema.xsd" select="ant-object:default_db.object__x3A__schema.xsd($document-uri,$default_db.ant-object.basedir)"/>
  20. <xsl:attribute name="ant-object:document-uri.default_db__and__object" select="ant-object:document-uri.default_db__and__object(ant-object:default_db.object__x3A__schema.xsd($document-uri,$default_db.ant-object.basedir))"/>
  21. <xsl:attribute name="ant-object:document-uri.default_db" select="ant-object:document-uri.default_db(ant-object:document-uri.default_db__and__object(ant-object:default_db.object__x3A__schema.xsd($document-uri,$default_db.ant-object.basedir)))"/>
  22. <xsl:attribute name="ant-object:document-uri.default_db.object" select="ant-object:document-uri.default_db.object(ant-object:document-uri.default_db__and__object(ant-object:default_db.object__x3A__schema.xsd($document-uri,$default_db.ant-object.basedir)))"/>
  23. <xsl:attribute name="ant-object:document-uri.default_db.table" select="ant-object:document-uri.default_db.table(ant-object:default_db.object__x3A__schema.xsd($document-uri,$default_db.ant-object.basedir))"/>
  24. <xsl:attribute name="ant-object:document-uri.default_db.table.element" select="ant-object:document-uri.default_db.table.element(ant-object:default_db.object__x3A__schema.xsd($document-uri,$default_db.ant-object.basedir))"/>
  25. </ant-object:location__x3A__default_db.validate>
  26. </xsl:when>
  27. <xsl:otherwise>
  28. <xsl:attribute name="ant-object:location__x3A__default_db.validate" select="false()"/>
  29. </xsl:otherwise>
  30. </xsl:choose>
  31. </xsl:template>
  32. <xsl:function name="ant-object:location__x3A__default_db.validate">
  33. <!-- to validate if it is default place of schema for object .../default_db.ADMIN_USERS/ADMIN_USERS.xsd -->
  34. <xsl:param name="default_db.ant-object.basedir" required="yes"/>
  35. <xsl:param name="document-uri" required="yes"/>
  36. <xsl:variable name="ant-object:default_db.object__x3A__schema.xsd" select="ant-object:default_db.object__x3A__schema.xsd($document-uri,$default_db.ant-object.basedir)"/>
  37. <!--<xsl:value-of>ant-object #21 ant-object:default_db.object__x3A__schema.xsd= "<xsl:value-of select="$ant-object:default_db.object__x3A__schema.xsd"/>"; </xsl:value-of>-->
  38. <xsl:choose>
  39. <xsl:when test="string-length($ant-object:default_db.object__x3A__schema.xsd) &gt;0">
  40. <!-- /default_db.IN7_MK_BAZA_DYSTRYBUCJI/INWEST_MIEJSKA__PRZYLACZE_REALIZACJA/INWEST_MIEJSKA__PRZYLACZE_REALIZACJA.xsd -->
  41. <!-- AAA BBB CCC DDD -->
  42. <xsl:variable name="ant-object:document-uri.default_db__and__object" select="ant-object:document-uri.default_db__and__object($ant-object:default_db.object__x3A__schema.xsd)"/>
  43. <xsl:variable name="ant-object:document-uri.default_db" select="ant-object:document-uri.default_db($ant-object:document-uri.default_db__and__object)"/>
  44. <!--<xsl:value-of>ant-object #27 ant-object:document-uri.default_db__and__object = "<xsl:value-of select="$ant-object:document-uri.default_db__and__object"/>"
  45. #29 ant-object:document-uri.default_db="<xsl:value-of select="$ant-object:document-uri.default_db"/>"</xsl:value-of>-->
  46. <xsl:choose>
  47. <xsl:when test="substring-after($ant-object:document-uri.default_db__and__object,'default_db.')">
  48. <xsl:variable name="ant-object:document-uri.default_db.object" select="ant-object:document-uri.default_db.object($ant-object:document-uri.default_db__and__object)"/>
  49. <!--<xsl:value-of>ant-object #31 ant-object:document-uri.default_db.object="<xsl:value-of select="$ant-object:document-uri.default_db.object"/>"
  50. </xsl:value-of>-->
  51. <xsl:variable name="ant-object:document-uri.default_db.table" select="ant-object:document-uri.default_db.table($ant-object:default_db.object__x3A__schema.xsd)"/>
  52. <!--<xsl:value-of>ant-object #34 ant-object:document-uri.default_db.table="<xsl:value-of select="$ant-object:document-uri.default_db.table"/>"
  53. </xsl:value-of>-->
  54. <xsl:variable name="ant-object:document-uri.default_db.table.element" select="ant-object:document-uri.default_db.table.element($ant-object:default_db.object__x3A__schema.xsd)"/>
  55. <!--<xsl:value-of>ant-object #39b ant-object:document-uri.default_db.table.element="<xsl:value-of select="$ant-object:document-uri.default_db.table.element"/>"
  56. </xsl:value-of>-->
  57. <xsl:choose>
  58. <xsl:when test="$ant-object:document-uri.default_db.object = $ant-object:document-uri.default_db.table and $ant-object:document-uri.default_db.table = $ant-object:document-uri.default_db.table.element">
  59. <xsl:value-of>ant-object #44a ant-object:location__x3A__default_db.validate = POSITIVE
  60. </xsl:value-of>
  61. </xsl:when>
  62. <xsl:otherwise>
  63. <xsl:message>ant-object #44b ant-object:location__x3A__default_db.validate = NEGATIVE for "<xsl:value-of select="$ant-object:default_db.object__x3A__schema.xsd"/>"
  64. </xsl:message>
  65. </xsl:otherwise>
  66. </xsl:choose>
  67. </xsl:when>
  68. </xsl:choose>
  69. <!-- <xsl:variable name="ant-object:document-uri.default_db.object__x3A__schema.xsd" select="substring-after($ant-object:default_db.object__x3A__schema.xsd,'/')"/>
  70. <xsl:variable name="ant-object:document-uri.default_db.object__x3A__schema" select="substring-before($ant-object:document-uri.default_db.object__x3A__schema.xsd,'.xsd')"/>
  71. <xsl:value-of>ant-object #25 "<xsl:value-of select="$ant-object:document-uri.default_db.object__x3A__schema"/>" ; </xsl:value-of>-->
  72. </xsl:when>
  73. </xsl:choose>
  74. </xsl:function>
  75. <xsl:function name="ant-object:default_db.object__x3A__schema.xsd">
  76. <xsl:param name="document-uri"/>
  77. <xsl:param name="default_db.ant-object.basedir"/>
  78. <xsl:value-of select="substring-after($document-uri,$default_db.ant-object.basedir)"/>
  79. </xsl:function>
  80. <xsl:function name="ant-object:document-uri.default_db__and__object">
  81. <xsl:param name="ant-object:default_db.object__x3A__schema.xsd"/>
  82. <xsl:value-of select="tokenize($ant-object:default_db.object__x3A__schema.xsd,'/')[2]"/>
  83. </xsl:function>
  84. <xsl:function name="ant-object:document-uri.default_db">
  85. <xsl:param name="ant-object:document-uri.default_db__and__object"/>
  86. <xsl:value-of select="substring-after($ant-object:document-uri.default_db__and__object,'default_db.')"/>
  87. </xsl:function>
  88. <xsl:function name="ant-object:document-uri.default_db.object">
  89. <xsl:param name="ant-object:document-uri.default_db__and__object"/>
  90. <xsl:value-of select="substring-after($ant-object:document-uri.default_db__and__object,'default_db.')"/>
  91. </xsl:function>
  92. <xsl:function name="ant-object:document-uri.default_db.table">
  93. <xsl:param name="ant-object:default_db.object__x3A__schema.xsd"/>
  94. <xsl:value-of select="tokenize($ant-object:default_db.object__x3A__schema.xsd,'/')[3]"/>
  95. </xsl:function>
  96. <xsl:function name="ant-object:document-uri.default_db.table.element">
  97. <xsl:param name="ant-object:default_db.object__x3A__schema.xsd"/>
  98. <xsl:value-of select="substring-before(tokenize($ant-object:default_db.object__x3A__schema.xsd,'/')[4],'.xsd')"/>
  99. </xsl:function>
  100. </xsl:stylesheet>