object_modeling.xsl 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  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:system_cache__appinfo="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/appinfo.xsd"
  5. exclude-result-prefixes="xs"
  6. version="2.0">
  7. <xsl:output indent="yes"/>
  8. <xsl:strip-space elements="*"/>
  9. <!--<xsl:include href="get_all_xsd.xsl"/>-->
  10. <!--<xsl:param name="procesy5_system_schema_file" select="'../default_db.instance.xml/transformed/procesy5_system_schema.xml'"/>-->
  11. <xsl:include href="system_cache__appinfo/TargetNamespaceBindings.xsl"/>
  12. <!--<xsl:include href="get_all_xsd.xsl"/>--> <!-- for use system_cache__appinfo:escape_object_prefix_to_string -->
  13. <xsl:param name="prototype_object_namespace" select="'https://biuro.biall-net.pl/wfs/default_db/Types/Infrastructure.xsd'"/>
  14. <xsl:param name="new_object_namespace"/> <!-- example https://biuro.biall-net.pl/wfs/default_db/table/CRM_PROCES.xsd -->
  15. <xsl:param name="targetNamespace.base" required="yes"/>
  16. <!--<xsl:param name="targetNamespace_DEFAULTS" select="'http://biuro.biall-net.pl/xmlschema_procesy5/default_db'"/>-->
  17. <!--<xsl:param name="procesy5_system_schema_collection_dir" select="'../../'"/>--> <!-- should be like /Users/a.binder/Documents/xmlschema_procesy5/src-xmlschema/public_html -->
  18. <xsl:template name="system_cache__appinfo:check_if_schema_element_exists_by_base">
  19. <xsl:param name="base"/>
  20. <xsl:param name="prototype"/>
  21. <xsl:for-each select="$base">
  22. <xsl:choose>
  23. <xsl:when test="$prototype[ not(@name=current()/@name) and not(name()=current()/name())]">
  24. <xsl:copy-of select="."/>
  25. <!--<xsl:element name="{name()}">
  26. <xsl:copy-of select="@*"/>
  27. <xsl:call-template name="system_cache__appinfo:check_if_schema_element_exists_by_base">
  28. <xsl:with-param name="base" select=""/>
  29. <xsl:with-param name="prototype"/>
  30. </xsl:call-template>
  31. </xsl:element>-->
  32. </xsl:when>
  33. </xsl:choose>
  34. </xsl:for-each>
  35. </xsl:template>
  36. <xsl:template match="system_cache__appinfo:get_all_xsd_list" mode="system_cache__appinfo:new_object_by_prototype">
  37. <xsl:variable name="system_cache__appinfo:new_object_by_prototype.base" select="system_cache__appinfo:get_all_xsd_default_db/schema[ substring-after(@targetNamespace,'://')=substring-after($targetNamespace.base,'://')]" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
  38. <xsl:if test="not($system_cache__appinfo:new_object_by_prototype.base/complexType)" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"><xsl:message terminate="yes">#25 unknow source object - not found for <xsl:value-of select="$targetNamespace.base"/></xsl:message></xsl:if>
  39. <xsl:message>#26 <xsl:value-of select="count($system_cache__appinfo:new_object_by_prototype.base/complexType)" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/></xsl:message>
  40. <debug.45><xsl:copy-of select="$system_cache__appinfo:new_object_by_prototype.base" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/></debug.45>
  41. <xsl:choose>
  42. <xsl:when test="$prototype_object_namespace and $new_object_namespace">
  43. <xsl:variable name="system_cache__appinfo:new_object_by_prototype_test_if_prototype">
  44. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_test_if_prototype">
  45. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base" select="$system_cache__appinfo:new_object_by_prototype.base"/>
  46. </xsl:apply-templates>
  47. </xsl:variable>
  48. <xsl:choose>
  49. <xsl:when test="$system_cache__appinfo:new_object_by_prototype_test_if_prototype/*">
  50. <xsl:variable name="system_cache__appinfo:new_object_by_prototype.base" select="system_cache__appinfo:get_all_xsd_default_db/schema"/>
  51. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype">
  52. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base" select="$system_cache__appinfo:new_object_by_prototype.base"/>
  53. </xsl:apply-templates>
  54. </xsl:when>
  55. <xsl:otherwise>
  56. <xsl:message terminate="yes">#32 prototype <xsl:value-of select="$prototype_object_namespace"/> not exists in schema ! if it realy exiss consider rebuild procesy5_system_schema.xml !</xsl:message>
  57. </xsl:otherwise>
  58. </xsl:choose>
  59. </xsl:when>
  60. <xsl:otherwise><xsl:message terminate="yes">#25 not set required $prototype_object_namespace and $new_object_namespace params!</xsl:message></xsl:otherwise>
  61. </xsl:choose>
  62. </xsl:template>
  63. <xsl:template mode="system_cache__appinfo:new_object_by_prototype" match="system_cache__appinfo:get_all_xsd">
  64. <xsl:param name="system_cache__appinfo:new_object_by_prototype.base" required="yes"/>
  65. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype">
  66. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base" select="$system_cache__appinfo:new_object_by_prototype.base"/>
  67. </xsl:apply-templates>
  68. </xsl:template>
  69. <xsl:template mode="system_cache__appinfo:new_object_by_prototype_test_if_prototype" match="system_cache__appinfo:get_all_xsd">
  70. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_test_if_prototype"/>
  71. </xsl:template>
  72. <xsl:template mode="system_cache__appinfo:new_object_by_prototype_test_if_prototype" match="schema[@targetNamespace=$prototype_object_namespace]" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  73. <system_cache__appinfo:new_object_by_prototype_test_if_prototype>exists_flag</system_cache__appinfo:new_object_by_prototype_test_if_prototype>
  74. </xsl:template>
  75. <xsl:template mode="system_cache__appinfo:new_object_by_prototype_test_if_prototype" match="*|text()|comment()"/>
  76. <xsl:template mode="system_cache__appinfo:new_object_by_prototype" match="schema[@targetNamespace=$prototype_object_namespace]" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  77. <xsl:param name="system_cache__appinfo:new_object_by_prototype.base" required="yes"/>
  78. <xsl:variable name="prototype_TargetNamespaceBindings_from_Namespace">
  79. <xsl:call-template name="system_cache__appinfo:TargetNamespaceBindings_from_Namespace">
  80. <xsl:with-param name="TargetNamespace" select="$prototype_object_namespace"/>
  81. </xsl:call-template>
  82. </xsl:variable>
  83. <xsl:variable name="new_TargetNamespaceBindings_from_Namespace">
  84. <xsl:call-template name="system_cache__appinfo:TargetNamespaceBindings_from_Namespace">
  85. <xsl:with-param name="TargetNamespace" select="$new_object_namespace"/>
  86. </xsl:call-template>
  87. </xsl:variable>
  88. <xsl:variable name="prototype_NamespacePrefix">
  89. <xsl:for-each select="namespace::node()">
  90. <xsl:if test=".= $prototype_object_namespace">
  91. <xsl:value-of select="name()"/>
  92. </xsl:if>
  93. </xsl:for-each>
  94. </xsl:variable>
  95. <system_cache__appinfo:new_object_by_prototype>
  96. <xsl:attribute name="prototype_object_namespace" select="$prototype_object_namespace"/>
  97. <xsl:attribute name="new_object_namespace" select="$new_object_namespace"/>
  98. <xsl:attribute name="generating_schema_file_to" select="concat($procesy5_system_schema_collection_dir,'/',$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceType,'/',$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,'.xsd')"/>
  99. <prototype_TargetNamespaceBindings_from_Namespace>
  100. <xsl:copy-of select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  101. </prototype_TargetNamespaceBindings_from_Namespace>
  102. <new_TargetNamespaceBindings_from_Namespace>
  103. <xsl:copy-of select="$new_TargetNamespaceBindings_from_Namespace"/>
  104. </new_TargetNamespaceBindings_from_Namespace>
  105. <prototype_NamespacePrefix>
  106. <xsl:copy-of select="$prototype_NamespacePrefix"/>
  107. </prototype_NamespacePrefix>
  108. <xsl:choose>
  109. <xsl:when test=" doc-available(concat($procesy5_system_schema_collection_dir,'/',$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceType,'/',$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,'.xsd'))">
  110. <ERROR>
  111. <xsl:attribute name="message" select="'document already generated and aviable'"/>
  112. OUTPUT__START
  113. document already generated and aviable
  114. OUTPUT__END
  115. </ERROR>
  116. </xsl:when>
  117. <xsl:otherwise>
  118. <xsl:result-document href="{ concat($procesy5_system_schema_collection_dir,'/',$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceType,'/',$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,'.xsd')}">
  119. <!--<xsl:attribute name="href" select=" concat($procesy5_system_schema_collection_dir,'/',$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceType,'/',$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,'.xsd')"/>-->
  120. <xsl:element name="xs:schema">
  121. <xsl:copy-of select="namespace::node()"/>
  122. <xsl:namespace name="{$new_TargetNamespaceBindings_from_Namespace//@NamespacePrefix}" select="$new_object_namespace"/>
  123. <xsl:attribute name="targetNamespace" select="$new_object_namespace"/>
  124. <xsl:variable name="system_cache__appinfo:check_if_schema_element_exists_by_base" >
  125. <xsl:call-template name="system_cache__appinfo:check_if_schema_element_exists_by_base">
  126. <xsl:with-param name="base" select="$system_cache__appinfo:new_object_by_prototype.base/*"/>
  127. <xsl:with-param name="prototype" select="*"/>
  128. </xsl:call-template>
  129. </xsl:variable>
  130. <debug.143>
  131. <xsl:attribute name="base" select="$system_cache__appinfo:new_object_by_prototype.base/name()" xpath-default-namespace="http://www.w3.org/2001/XMLSchema" />
  132. <xsl:attribute name="prototype" select="name()"/>
  133. <xsl:copy-of select="$system_cache__appinfo:check_if_schema_element_exists_by_base"/>
  134. </debug.143>
  135. <debug.147.base>
  136. <xsl:copy-of select="$system_cache__appinfo:new_object_by_prototype.base"/>
  137. </debug.147.base>
  138. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_schema_root">
  139. <xsl:with-param name="prototype_TargetNamespaceBindings_from_Namespace" select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  140. <xsl:with-param name="new_TargetNamespaceBindings_from_Namespace" select="$new_TargetNamespaceBindings_from_Namespace"/>
  141. <xsl:with-param name="prototype_NamespacePrefix" select="$prototype_NamespacePrefix"/>
  142. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base" select="$system_cache__appinfo:new_object_by_prototype.base"/>
  143. </xsl:apply-templates>
  144. </xsl:element>
  145. </xsl:result-document>
  146. </xsl:otherwise>
  147. </xsl:choose>
  148. </system_cache__appinfo:new_object_by_prototype>
  149. </xsl:template>
  150. <xsl:template mode="system_cache__appinfo:new_object_by_prototype_schema_root" match="import" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  151. <xsl:copy-of select="."/>
  152. </xsl:template>
  153. <xsl:template mode="system_cache__appinfo:new_object_by_prototype_schema_root" match="element|complexType|simpleType" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  154. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  155. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  156. <xsl:param name="prototype_NamespacePrefix" required="yes"/>
  157. <xsl:param name="system_cache__appinfo:new_object_by_prototype.base" required="yes"/>
  158. <xsl:element name="{name()}">
  159. <xsl:message>#145 debug name form prototype is <xsl:value-of select="$system_cache__appinfo:new_object_by_prototype.base/name()"/></xsl:message>
  160. <xsl:apply-templates select="@*" mode="system_cache__appinfo:new_object_by_prototype_schema_root">
  161. <xsl:with-param name="prototype_TargetNamespaceBindings_from_Namespace" select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  162. <xsl:with-param name="new_TargetNamespaceBindings_from_Namespace" select="$new_TargetNamespaceBindings_from_Namespace"/>
  163. <xsl:with-param name="prototype_NamespacePrefix" select="$prototype_NamespacePrefix"/>
  164. </xsl:apply-templates>
  165. <!--<xsl:attribute name="id" select="concat(substring($new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,0,8),'_', substring(replace(@name,$prototype_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable),0,5),'_',generate-id())"/>-->
  166. <!--<xsl:attribute name="name" select=" replace(@name,$prototype_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,'InfrastructureAAAA')"/>-->
  167. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_schema_child">
  168. <xsl:with-param name="prototype_TargetNamespaceBindings_from_Namespace" select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  169. <xsl:with-param name="new_TargetNamespaceBindings_from_Namespace" select="$new_TargetNamespaceBindings_from_Namespace"/>
  170. <xsl:with-param name="prototype_NamespacePrefix" select="$prototype_NamespacePrefix"/>
  171. </xsl:apply-templates>
  172. </xsl:element>
  173. </xsl:template>
  174. <xsl:template match="sequence|choice|all" mode="system_cache__appinfo:new_object_by_prototype_schema_child" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  175. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  176. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  177. <xsl:param name="prototype_NamespacePrefix" required="yes"/>
  178. <xsl:message>#200 matched <xsl:value-of select="name()"/></xsl:message>
  179. <xsl:element name="{name()}">
  180. <!--<xsl:attribute name="id" select="concat(substring($new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,0,15),'_',generate-id())"/>-->
  181. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_schema_child">
  182. <xsl:with-param name="prototype_TargetNamespaceBindings_from_Namespace" select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  183. <xsl:with-param name="new_TargetNamespaceBindings_from_Namespace" select="$new_TargetNamespaceBindings_from_Namespace"/>
  184. <xsl:with-param name="prototype_NamespacePrefix" select="$prototype_NamespacePrefix"/>
  185. </xsl:apply-templates>
  186. </xsl:element>
  187. </xsl:template>
  188. <xsl:template match="element|complexContent|restriction|enumeration|minInclusive" mode="system_cache__appinfo:new_object_by_prototype_schema_child" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  189. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  190. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  191. <xsl:param name="prototype_NamespacePrefix" required="yes"/>
  192. <xsl:message>#215 matched <xsl:value-of select="name()"/>/<xsl:value-of select="@name"/></xsl:message>
  193. <xsl:element name="{name()}">
  194. <xsl:copy-of select="@minOccurs"/>
  195. <xsl:copy-of select="@maxOccurs"/>
  196. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_schema_child" select="@*">
  197. <xsl:with-param name="prototype_TargetNamespaceBindings_from_Namespace" select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  198. <xsl:with-param name="new_TargetNamespaceBindings_from_Namespace" select="$new_TargetNamespaceBindings_from_Namespace"/>
  199. <xsl:with-param name="prototype_NamespacePrefix" select="$prototype_NamespacePrefix"/>
  200. <xsl:with-param name="node" select="."/>
  201. </xsl:apply-templates>
  202. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_schema_child">
  203. <xsl:with-param name="prototype_TargetNamespaceBindings_from_Namespace" select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  204. <xsl:with-param name="new_TargetNamespaceBindings_from_Namespace" select="$new_TargetNamespaceBindings_from_Namespace"/>
  205. <xsl:with-param name="prototype_NamespacePrefix" select="$prototype_NamespacePrefix"/>
  206. </xsl:apply-templates>
  207. </xsl:element>
  208. </xsl:template>
  209. <xsl:template match="annotation|appinfo|documentation" mode="system_cache__appinfo:new_object_by_prototype_schema_child" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  210. <xsl:element name="{name()}">
  211. <xsl:copy-of select="@*"/>
  212. <xsl:copy-of select="text()"/>
  213. <xsl:copy-of select="system_cache__appinfo:base_type"/>
  214. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_schema_child"/>
  215. </xsl:element>
  216. </xsl:template>
  217. <xsl:template match="system_cache__appinfo:flat_relation_cache" mode="system_cache__appinfo:new_object_by_prototype_schema_child">
  218. <xsl:copy-of select="."/>
  219. </xsl:template>
  220. <xsl:template match="@ref" mode="system_cache__appinfo:new_object_by_prototype_schema_child">
  221. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  222. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  223. <xsl:param name="prototype_NamespacePrefix" required="yes"/>
  224. <xsl:attribute name="{ name()}" select=" replace(.,$prototype_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable)"/>
  225. </xsl:template>
  226. <xsl:template match="@base|@type" mode="system_cache__appinfo:new_object_by_prototype_schema_child">
  227. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  228. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  229. <xsl:param name="prototype_NamespacePrefix" required="yes"/>
  230. <!--<xsl:attribute name="{name()}" select=" concat($prototype_NamespacePrefix,':', substring-after(.,':'),'__to__',concat($new_TargetNamespaceBindings_from_Namespace//@NamespaceDatabaseStorageDefinitionPrefix ,'__x3A__', $new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable, ':', replace( substring-after(.,':'),$prototype_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable )) )"/>-->
  231. <xsl:attribute name="{ name()}" select=" replace(., concat($prototype_NamespacePrefix,':', substring-after(.,':')), concat($new_TargetNamespaceBindings_from_Namespace//@NamespaceDatabaseStorageDefinitionPrefix ,'__x3A__', $new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,':', replace( substring-after(.,':'),$prototype_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable ) ) )"/>
  232. </xsl:template>
  233. <xsl:template match="@*" mode="system_cache__appinfo:new_object_by_prototype_schema_child">
  234. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  235. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  236. <xsl:attribute name="{ name()}" select="."/>
  237. </xsl:template>
  238. <xsl:template match="@id" mode="system_cache__appinfo:new_object_by_prototype_schema_child">
  239. <!-- <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  240. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  241. <xsl:param name="node" required="yes"/>
  242. <xsl:attribute name="{ name()}" select="concat(substring($new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,0,15),'_',generate-id($node))"/>-->
  243. </xsl:template>
  244. <xsl:template match="@id" mode="system_cache__appinfo:new_object_by_prototype_schema_root"/>
  245. <xsl:template match="@name" mode="system_cache__appinfo:new_object_by_prototype_schema_root">
  246. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  247. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  248. <xsl:attribute name="{ name()}" select=" replace(.,$prototype_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable)"/>
  249. </xsl:template>
  250. <xsl:template match="@type" mode="system_cache__appinfo:new_object_by_prototype_schema_root">
  251. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  252. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  253. <xsl:param name="prototype_NamespacePrefix" required="yes"/>
  254. <!--<xsl:attribute name="{name()}" select=" concat($prototype_NamespacePrefix,':', substring-after(.,':'),'__to__',concat($new_TargetNamespaceBindings_from_Namespace//@NamespaceDatabaseStorageDefinitionPrefix ,'__x3A__', $new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable, ':', replace( substring-after(.,':'),$prototype_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable )) )"/>-->
  255. <xsl:attribute name="{ name()}" select=" replace(., concat($prototype_NamespacePrefix,':', substring-after(.,':')), concat($new_TargetNamespaceBindings_from_Namespace//@NamespaceDatabaseStorageDefinitionPrefix ,'__x3A__', $new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,':', replace( substring-after(.,':'),$prototype_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable ) ) )"/>
  256. </xsl:template>
  257. <!--<xsl:template match="@type" mode="system_cache__appinfo:new_object_by_prototype_schema_root">
  258. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  259. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  260. <xsl:param name="prototype_NamespacePrefix" required="yes"/>
  261. <xsl:attribute name="{ name()}" select=" replace(.,$prototype_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable)"/>
  262. </xsl:template>-->
  263. <xsl:template match="@*" mode="system_cache__appinfo:new_object_by_prototype_schema_root">
  264. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  265. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  266. <xsl:attribute name="{name()}" select="."/>
  267. </xsl:template>
  268. <xsl:template match="@abstract" mode="system_cache__appinfo:new_object_by_prototype_schema_root"/>
  269. <xsl:template match=" text()|comment()" mode="system_cache__appinfo:new_object_by_prototype_schema_child"/>
  270. <xsl:template match=" text()|comment()" mode="system_cache__appinfo:new_object_by_prototype_schema_root"/>
  271. <xsl:template mode="system_cache__appinfo:new_object_by_prototype" match="*|text()|comment()"/>
  272. </xsl:stylesheet>