object_modeling.xsl 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516
  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:vc="http://www.w3.org/2007/XMLSchema-versioning"
  5. xmlns:system_cache__appinfo="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/appinfo.xsd"
  6. exclude-result-prefixes="xs"
  7. version="2.0">
  8. <xsl:output indent="yes"/>
  9. <xsl:strip-space elements="*"/>
  10. <!-- TEN TEMPLATE NIE JEST DO ROBIENIA STRUKTURY LACZONEJ - UZYJ object_modeling_by_xml_schema.xsl -->
  11. <!--<xsl:include href="get_all_xsd.xsl"/>-->
  12. <!--<xsl:param name="procesy5_system_schema_file" select="'../default_db.instance.xml/transformed/procesy5_system_schema.xml'"/>-->
  13. <xsl:include href="system_cache__appinfo/TargetNamespaceBindings.xsl"/>
  14. <!--<xsl:include href="get_all_xsd.xsl"/>--> <!-- for use system_cache__appinfo:escape_object_prefix_to_string -->
  15. <xsl:include href="system_cache__appinfo/vrtfNamespaces.xsl"/>
  16. <xsl:param name="prototype_object_namespace" select="'https://biuro.biall-net.pl/wfs/default_db/Types/Empty.xsd'"/>
  17. <xsl:param name="new_object_namespace"/> <!-- example https://biuro.biall-net.pl/wfs/default_db/table/CRM_PROCES.xsd -->
  18. <xsl:param name="targetNamespace.base" required="yes"/> <!-- usually biuro.biall-net.pl/xmlschema_procesy5/default_db -->
  19. <xsl:param name="object_modeling.Error.Handling" required="yes"/>
  20. <xsl:param name="NamespaceObjectInstanceTable" required="yes"/>
  21. <xsl:param name="merge_priority" select="'database'"/> <!-- for default_db or prototype -->
  22. <!--<xsl:param name="new_object.name" required="yes"/>--> <!-- Musi byc name = np ACCESS_REQUESTS -->
  23. <!--<xsl:param name="targetNamespace_DEFAULTS" select="'http://biuro.biall-net.pl/xmlschema_procesy5/default_db'"/>-->
  24. <!--<xsl:param name="procesy5_system_schema_collection_dir" select="'../../'"/>--> <!-- should be like /Users/a.binder/Documents/xmlschema_procesy5/src-xmlschema/public_html -->
  25. <xsl:template name="system_cache__appinfo:check_if_schema_element_exists_by_base">
  26. <xsl:param name="base"/>
  27. <xsl:param name="prototype"/>
  28. <xsl:for-each select="$base">
  29. <xsl:choose>
  30. <xsl:when test="$prototype[ not(@name=current()/@name) and not(name()=current()/name())]">
  31. <xsl:copy-of select="."/>
  32. <!--<xsl:element name="{name()}">
  33. <xsl:copy-of select="@*"/>
  34. <xsl:call-template name="system_cache__appinfo:check_if_schema_element_exists_by_base">
  35. <xsl:with-param name="base" select=""/>
  36. <xsl:with-param name="prototype"/>
  37. </xsl:call-template>
  38. </xsl:element>-->
  39. </xsl:when>
  40. </xsl:choose>
  41. </xsl:for-each>
  42. </xsl:template>
  43. <xsl:template match="system_cache__appinfo:get_all_xsd_list" mode="system_cache__appinfo:new_object_by_prototype">
  44. <xsl:message>#72 system_cache__appinfo:new_object_by_prototype with param testing:
  45. $targetNamespace.base = <xsl:value-of select="$targetNamespace.base"/>
  46. $new_object_namespace = <xsl:value-of select="$new_object_namespace"/>
  47. $prototype_object_namespace = <xsl:value-of select="$prototype_object_namespace"/>
  48. searching for @targetNamespace = <xsl:value-of select="substring-after($targetNamespace.base,'://')"/> ($targetNamespace.base)
  49. </xsl:message>
  50. <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,'://')]/complexType[@name=$NamespaceObjectInstanceTable]" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
  51. <xsl:if test="not($system_cache__appinfo:new_object_by_prototype.base/*)" 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>
  52. <xsl:message>#26 count($system_cache__appinfo:new_object_by_prototype.base//*) = <xsl:value-of select="count($system_cache__appinfo:new_object_by_prototype.base//*)" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/></xsl:message>
  53. <!--<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>-->
  54. <xsl:variable name="system_cache__appinfo:new_object_by_prototype.base.simpleType" select="system_cache__appinfo:get_all_xsd_default_db/schema[ substring-after(@targetNamespace,'://')=substring-after($targetNamespace.base,'://')]/simpleType" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
  55. <xsl:message>#26 count($system_cache__appinfo:new_object_by_prototype.base.simpleType//*) = <xsl:value-of select="count($system_cache__appinfo:new_object_by_prototype.base.simpleType/*)" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/></xsl:message>
  56. <xsl:choose>
  57. <xsl:when test="$prototype_object_namespace and $new_object_namespace">
  58. <xsl:message>#55 when test="$prototype_object_namespace and $new_object_namespace"</xsl:message>
  59. <xsl:variable name="system_cache__appinfo:new_object_by_prototype_test_if_prototype">
  60. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_test_if_prototype">
  61. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base" select="$system_cache__appinfo:new_object_by_prototype.base"/>
  62. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base.simpleType" select="$system_cache__appinfo:new_object_by_prototype.base.simpleType"/>
  63. </xsl:apply-templates>
  64. </xsl:variable>
  65. <xsl:message>#61 $system_cache__appinfo:new_object_by_prototype_test_if_prototype = <xsl:value-of select="count($system_cache__appinfo:new_object_by_prototype_test_if_prototype/*)" /></xsl:message>
  66. <xsl:choose>
  67. <xsl:when test="$system_cache__appinfo:new_object_by_prototype_test_if_prototype/*">
  68. <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,'://')]/complexType[@name=$NamespaceObjectInstanceTable]" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
  69. <xsl:message>#65 $system_cache__appinfo:new_object_by_prototype.base is in schema - OK applying</xsl:message>
  70. <!-- podciagniecie brakujacych simpleschema -->
  71. <xsl:message>#72 count system_cache__appinfo:new_object_by_prototype.base.simpleType= <xsl:value-of select="count($system_cache__appinfo:new_object_by_prototype.base.simpleType/*)"/></xsl:message>
  72. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype">
  73. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base" select="$system_cache__appinfo:new_object_by_prototype.base"/>
  74. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base.simpleType" select="$system_cache__appinfo:new_object_by_prototype.base.simpleType"/>
  75. </xsl:apply-templates>
  76. </xsl:when>
  77. <xsl:otherwise>
  78. <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>
  79. </xsl:otherwise>
  80. </xsl:choose>
  81. </xsl:when>
  82. <xsl:otherwise><xsl:message terminate="yes">#25 not set required $prototype_object_namespace and $new_object_namespace params!</xsl:message></xsl:otherwise>
  83. </xsl:choose>
  84. </xsl:template>
  85. <xsl:template mode="system_cache__appinfo:new_object_by_prototype" match="system_cache__appinfo:get_all_xsd">
  86. <xsl:param name="system_cache__appinfo:new_object_by_prototype.base" required="yes"/>
  87. <xsl:param name="system_cache__appinfo:new_object_by_prototype.base.simpleType" required="yes"/>
  88. <xsl:message>#82 matched system_cache__appinfo:get_all_xsd <xsl:value-of select="schema/@targetNamespace" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/> / <xsl:value-of select="schema/*[@id][1]/@id" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/></xsl:message>
  89. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype">
  90. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base" select="$system_cache__appinfo:new_object_by_prototype.base"/>
  91. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base.simpleType" select="$system_cache__appinfo:new_object_by_prototype.base.simpleType"/>
  92. </xsl:apply-templates>
  93. </xsl:template>
  94. <xsl:template mode="system_cache__appinfo:new_object_by_prototype_test_if_prototype" match="system_cache__appinfo:get_all_xsd">
  95. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_test_if_prototype"/>
  96. </xsl:template>
  97. <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">
  98. <system_cache__appinfo:new_object_by_prototype_test_if_prototype>exists_flag</system_cache__appinfo:new_object_by_prototype_test_if_prototype>
  99. </xsl:template>
  100. <xsl:template mode="system_cache__appinfo:new_object_by_prototype_test_if_prototype" match="*|text()|comment()"/>
  101. <xsl:template mode="system_cache__appinfo:new_object_by_prototype.base.simpleType" match="text()|comment()" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
  102. <xsl:template mode="system_cache__appinfo:new_object_by_prototype.base.simpleType" match="schema" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  103. <!-- add needed simpleType from prototype -->
  104. <xsl:param name="system_cache__appinfo:new_object_by_prototype.base" required="yes"/>
  105. <xsl:param name="system_cache__appinfo:new_object_by_prototype.base.simpleType" required="yes"/><!-- this is complexType -->
  106. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  107. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  108. <xsl:param name="prototype_NamespacePrefix" required="yes"/>
  109. <xsl:message>#118 matched schema mode system_cache__appinfo:new_object_by_prototype.base.simpleType </xsl:message>
  110. <xsl:variable name="base.simpleSchema.to.unique">
  111. <xsl:variable name="current" select="."/>
  112. <xsl:for-each select="$system_cache__appinfo:new_object_by_prototype.base//element[@type]" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  113. <xsl:variable name="current.base" select="."/>
  114. <xsl:for-each-group select="$current//element[@type]" group-by="@type" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  115. <xsl:choose>
  116. <xsl:when test="$current.base/@name = current()/@name" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  117. <xsl:message>#143 detected @name=<xsl:value-of select="$current.base/@name"/>; @type=<xsl:value-of select="$current.base/@type"/>; bypassing</xsl:message>
  118. <!--<xsl:comment>#143 detected @name=<xsl:value-of select="$current.base/@name"/>; @type=<xsl:value-of select="$current.base/@type"/>; bypassing</xsl:comment>-->
  119. </xsl:when>
  120. <xsl:otherwise>
  121. <xsl:message>#146 NOT detected name()=<xsl:value-of select="$current.base/name()" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>; @name=<xsl:value-of select="$current.base/@name"/>; @type=<xsl:value-of select="$current.base/@type" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/> simpleTYpe for @type=<xsl:value-of select="$current.base/@type"/></xsl:message>
  122. <xsl:comment>#146 NOT detected name()=<xsl:value-of select="$current.base/name()" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>; @name=<xsl:value-of select="$current.base/@name"/>; @type=<xsl:value-of select="$current.base/@type" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/> simpleTYpe for @type=<xsl:value-of select="$current.base/@type"/></xsl:comment>
  123. <!--<xsl:copy-of select="$system_cache__appinfo:new_object_by_prototype.base.simpleType//simpleType[@name = system_cache__appinfo:clean_object_prefix(@type) ]" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>-->
  124. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_schema_root" select="$system_cache__appinfo:new_object_by_prototype.base.simpleType[@name=$current.base/system_cache__appinfo:clean_object_prefix(@type)]" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  125. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base" select="$system_cache__appinfo:new_object_by_prototype.base"/>
  126. <xsl:with-param name="prototype_TargetNamespaceBindings_from_Namespace" select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  127. <xsl:with-param name="new_TargetNamespaceBindings_from_Namespace" select="$new_TargetNamespaceBindings_from_Namespace"/>
  128. <xsl:with-param name="prototype_NamespacePrefix" select="$prototype_NamespacePrefix"/>
  129. </xsl:apply-templates>
  130. </xsl:otherwise>
  131. </xsl:choose>
  132. </xsl:for-each-group>
  133. </xsl:for-each>
  134. </xsl:variable>
  135. <xsl:for-each-group select="$base.simpleSchema.to.unique/simpleType" group-by="@name" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  136. <xsl:copy-of select="."/>
  137. </xsl:for-each-group>
  138. </xsl:template>
  139. <xsl:template mode="system_cache__appinfo:new_object_by_prototype.base.simpleType" match="*" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  140. <!-- add needed simpleType from prototype -->
  141. <xsl:param name="system_cache__appinfo:new_object_by_prototype.base" required="yes"/>
  142. <xsl:param name="system_cache__appinfo:new_object_by_prototype.base.simpleType" required="yes"/><!-- this is complexType -->
  143. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype.base.simpleType">
  144. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base" select="$system_cache__appinfo:new_object_by_prototype.base"/>
  145. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base.simpleType" select="$system_cache__appinfo:new_object_by_prototype.base.simpleType"/>
  146. </xsl:apply-templates>
  147. </xsl:template>
  148. <xsl:template mode="system_cache__appinfo:new_object_by_prototype.base.simpleType" match="element" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  149. <!-- add needed simpleType from prototype -->
  150. <xsl:param name="system_cache__appinfo:new_object_by_prototype.base" required="yes"/>
  151. <xsl:param name="system_cache__appinfo:new_object_by_prototype.base.simpleType" required="yes"/><!-- this is complexType -->
  152. <xsl:message>#115 matched sequence/ </xsl:message>
  153. <xsl:comment>#115 matched sequence/ </xsl:comment>
  154. <xsl:variable name="current" select="current()"/>
  155. <!--<xsl:for-each select="$system_cache__appinfo:new_object_by_prototype.base//element[@type]" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"> <!-\- if priority is for prototype TODO -\->-->
  156. <!-- najpierw sprawdzamy czy element juz nie byl, priorytet ma @typ z prototypu? todo -->
  157. <xsl:choose>
  158. <xsl:when test="$current/@name = current()/@name">
  159. <xsl:message>#143 detected @name=<xsl:value-of select="@name"/>; element/@type=<xsl:value-of select="@type"/>; bypassing</xsl:message>
  160. <xsl:comment>
  161. #143 detected <xsl:value-of select="@name"/> element, bypassing
  162. </xsl:comment>
  163. </xsl:when>
  164. <xsl:otherwise>
  165. <xsl:message>#146 NOT detected <xsl:value-of select="@name"/> element, trying to add @type=<xsl:value-of select="@type"/> simpleTYpe for @type=<xsl:value-of select="@type"/></xsl:message>
  166. <xsl:comment>
  167. #146 NOT detected <xsl:value-of select="@name"/> element, trying to add @type simpleTYpe for @type=<xsl:value-of select="@type"/>, found <xsl:value-of select="count($system_cache__appinfo:new_object_by_prototype.base.simpleType//simpleType[@name = system_cache__appinfo:clean_object_prefix(@type) ])"/>
  168. </xsl:comment>
  169. <!--<xsl:copy-of select="$system_cache__appinfo:new_object_by_prototype.base.simpleType//simpleType[@name = system_cache__appinfo:clean_object_prefix(@type) ]" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>-->
  170. <xsl:value-of select="$system_cache__appinfo:new_object_by_prototype.base.simpleType/name()" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
  171. </xsl:otherwise>
  172. </xsl:choose>
  173. <!-- </xsl:for-each>-->
  174. </xsl:template>
  175. <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">
  176. <xsl:param name="system_cache__appinfo:new_object_by_prototype.base" required="yes"/> <!-- this is complexType -->
  177. <xsl:param name="system_cache__appinfo:new_object_by_prototype.base.simpleType" required="yes"/>
  178. <xsl:variable name="prototype_TargetNamespaceBindings_from_Namespace">
  179. <xsl:call-template name="system_cache__appinfo:TargetNamespaceBindings_from_Namespace">
  180. <xsl:with-param name="TargetNamespace" select="$prototype_object_namespace"/>
  181. </xsl:call-template>
  182. </xsl:variable>
  183. <xsl:variable name="new_TargetNamespaceBindings_from_Namespace">
  184. <xsl:call-template name="system_cache__appinfo:TargetNamespaceBindings_from_Namespace">
  185. <xsl:with-param name="TargetNamespace" select="$new_object_namespace"/>
  186. </xsl:call-template>
  187. </xsl:variable>
  188. <xsl:variable name="prototype_NamespacePrefix">
  189. <xsl:for-each select="namespace::node()">
  190. <xsl:if test=".= $prototype_object_namespace">
  191. <xsl:value-of select="name()"/>
  192. </xsl:if>
  193. </xsl:for-each>
  194. </xsl:variable>
  195. <system_cache__appinfo:new_object_by_prototype>
  196. <xsl:attribute name="prototype_object_namespace" select="$prototype_object_namespace"/>
  197. <xsl:attribute name="new_object_namespace" select="$new_object_namespace"/>
  198. <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')"/>
  199. <prototype_TargetNamespaceBindings_from_Namespace>
  200. <xsl:copy-of select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  201. </prototype_TargetNamespaceBindings_from_Namespace>
  202. <new_TargetNamespaceBindings_from_Namespace>
  203. <xsl:copy-of select="$new_TargetNamespaceBindings_from_Namespace"/>
  204. </new_TargetNamespaceBindings_from_Namespace>
  205. <prototype_NamespacePrefix>
  206. <xsl:copy-of select="$prototype_NamespacePrefix"/>
  207. </prototype_NamespacePrefix>
  208. <xsl:choose>
  209. <xsl:when test="$object_modeling.Error.Handling='IGNORE' and doc-available(concat($procesy5_system_schema_collection_dir,'/',$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceType,'/',$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,'.xsd'))">
  210. <ERROR>
  211. <xsl:attribute name="message" select="concat('document already generated and aviable at ',$procesy5_system_schema_collection_dir,'/',$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceType,'/',$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,'.xsd')"/>
  212. OUTPUT__START
  213. document already generated and aviable
  214. OUTPUT__END
  215. </ERROR>
  216. </xsl:when>
  217. <xsl:otherwise>
  218. <xsl:result-document href="{ concat($procesy5_system_schema_collection_dir,'/',$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceType,'/',$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,'.xsd')}">
  219. <xsl:message>#139 saving to <xsl:value-of select="concat($procesy5_system_schema_collection_dir,'/',$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceType,'/',$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,'.xsd')"/></xsl:message>
  220. <!--<xsl:attribute name="href" select=" concat($procesy5_system_schema_collection_dir,'/',$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceType,'/',$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,'.xsd')"/>-->
  221. <xsl:element name="xs:schema">
  222. <xsl:copy-of select="namespace::node()"/>
  223. <xsl:namespace name="{$new_TargetNamespaceBindings_from_Namespace//@NamespacePrefix}" select="$new_object_namespace"/>
  224. <xsl:attribute name="targetNamespace" select="$new_object_namespace"/>
  225. <xsl:if test="$vc:minVersion"><xsl:attribute name="vc:minVersion" select="$vc:minVersion"/></xsl:if>
  226. <xsl:if test="$vc:maxVersion"><xsl:attribute name="vc:maxVersion" select="$vc:maxVersion"/></xsl:if>
  227. <xsl:variable name="system_cache__appinfo:check_if_schema_element_exists_by_base" >
  228. <xsl:call-template name="system_cache__appinfo:check_if_schema_element_exists_by_base">
  229. <xsl:with-param name="base" select="$system_cache__appinfo:new_object_by_prototype.base/*"/>
  230. <xsl:with-param name="prototype" select="*"/>
  231. </xsl:call-template>
  232. </xsl:variable>
  233. <!--<debug.143>
  234. <xsl:attribute name="base" select="$system_cache__appinfo:new_object_by_prototype.base/name()" xpath-default-namespace="http://www.w3.org/2001/XMLSchema" />
  235. <xsl:attribute name="prototype" select="name()"/>
  236. <xsl:copy-of select="$system_cache__appinfo:check_if_schema_element_exists_by_base"/>
  237. </debug.143>-->
  238. <!--<debug.147.base>
  239. <xsl:copy-of select="$system_cache__appinfo:new_object_by_prototype.base"/>
  240. </debug.147.base>-->
  241. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_schema_root">
  242. <xsl:with-param name="prototype_TargetNamespaceBindings_from_Namespace" select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  243. <xsl:with-param name="new_TargetNamespaceBindings_from_Namespace" select="$new_TargetNamespaceBindings_from_Namespace"/>
  244. <xsl:with-param name="prototype_NamespacePrefix" select="$prototype_NamespacePrefix"/>
  245. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base" select="$system_cache__appinfo:new_object_by_prototype.base"/>
  246. </xsl:apply-templates>
  247. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype.base.simpleType" select="." >
  248. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base.simpleType" select="$system_cache__appinfo:new_object_by_prototype.base.simpleType"/>
  249. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base" select="$system_cache__appinfo:new_object_by_prototype.base"/>
  250. <xsl:with-param name="prototype_TargetNamespaceBindings_from_Namespace" select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  251. <xsl:with-param name="new_TargetNamespaceBindings_from_Namespace" select="$new_TargetNamespaceBindings_from_Namespace"/>
  252. <xsl:with-param name="prototype_NamespacePrefix" select="$prototype_NamespacePrefix"/>
  253. </xsl:apply-templates>
  254. </xsl:element>
  255. </xsl:result-document>
  256. </xsl:otherwise>
  257. </xsl:choose>
  258. </system_cache__appinfo:new_object_by_prototype>
  259. </xsl:template>
  260. <xsl:template mode="system_cache__appinfo:new_object_by_prototype_schema_root" match="import" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  261. <xsl:copy-of select="."/>
  262. </xsl:template>
  263. <xsl:template mode="system_cache__appinfo:new_object_by_prototype_schema_root" match="complexType" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  264. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  265. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  266. <xsl:param name="prototype_NamespacePrefix" required="yes"/>
  267. <xsl:param name="system_cache__appinfo:new_object_by_prototype.base" required="yes"/>
  268. <xsl:element name="{name()}">
  269. <xsl:message>#145 debug name form prototype is <xsl:value-of select="$system_cache__appinfo:new_object_by_prototype.base/name()"/>//<xsl:value-of select="*/name()"/></xsl:message>
  270. <xsl:apply-templates select="@*" mode="system_cache__appinfo:new_object_by_prototype_schema_root">
  271. <xsl:with-param name="prototype_TargetNamespaceBindings_from_Namespace" select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  272. <xsl:with-param name="new_TargetNamespaceBindings_from_Namespace" select="$new_TargetNamespaceBindings_from_Namespace"/>
  273. <xsl:with-param name="prototype_NamespacePrefix" select="$prototype_NamespacePrefix"/>
  274. </xsl:apply-templates>
  275. <!--<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())"/>-->
  276. <!--<xsl:attribute name="name" select=" replace(@name,$prototype_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,'InfrastructureAAAA')"/>-->
  277. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_schema_child">
  278. <xsl:with-param name="prototype_TargetNamespaceBindings_from_Namespace" select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  279. <xsl:with-param name="new_TargetNamespaceBindings_from_Namespace" select="$new_TargetNamespaceBindings_from_Namespace"/>
  280. <xsl:with-param name="prototype_NamespacePrefix" select="$prototype_NamespacePrefix"/>
  281. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base" select="$system_cache__appinfo:new_object_by_prototype.base"/>
  282. </xsl:apply-templates>
  283. </xsl:element>
  284. </xsl:template>
  285. <xsl:template mode="system_cache__appinfo:new_object_by_prototype_schema_root" match="element|simpleType" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  286. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  287. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  288. <xsl:param name="prototype_NamespacePrefix" required="yes"/>
  289. <xsl:param name="system_cache__appinfo:new_object_by_prototype.base" required="yes"/>
  290. <xsl:element name="{name()}">
  291. <xsl:message>#145 debug name form prototype is <xsl:value-of select="$system_cache__appinfo:new_object_by_prototype.base/name()"/>//<xsl:value-of select="*/name()"/></xsl:message>
  292. <xsl:apply-templates select="@*" mode="system_cache__appinfo:new_object_by_prototype_schema_root">
  293. <xsl:with-param name="prototype_TargetNamespaceBindings_from_Namespace" select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  294. <xsl:with-param name="new_TargetNamespaceBindings_from_Namespace" select="$new_TargetNamespaceBindings_from_Namespace"/>
  295. <xsl:with-param name="prototype_NamespacePrefix" select="$prototype_NamespacePrefix"/>
  296. </xsl:apply-templates>
  297. <!--<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())"/>-->
  298. <!--<xsl:attribute name="name" select=" replace(@name,$prototype_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,'InfrastructureAAAA')"/>-->
  299. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_schema_child">
  300. <xsl:with-param name="prototype_TargetNamespaceBindings_from_Namespace" select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  301. <xsl:with-param name="new_TargetNamespaceBindings_from_Namespace" select="$new_TargetNamespaceBindings_from_Namespace"/>
  302. <xsl:with-param name="prototype_NamespacePrefix" select="$prototype_NamespacePrefix"/>
  303. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base" select="$system_cache__appinfo:new_object_by_prototype.base"/>
  304. </xsl:apply-templates>
  305. </xsl:element>
  306. </xsl:template>
  307. <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">
  308. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  309. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  310. <xsl:param name="prototype_NamespacePrefix" required="yes"/>
  311. <xsl:param name="system_cache__appinfo:new_object_by_prototype.base" required="yes"/>
  312. <xsl:message>#200 matched <xsl:value-of select="name()"/>//<xsl:value-of select="*/name()"/></xsl:message>
  313. <xsl:element name="{name()}">
  314. <!--<xsl:attribute name="id" select="concat(substring($new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,0,15),'_',generate-id())"/>-->
  315. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_schema_child">
  316. <xsl:with-param name="prototype_TargetNamespaceBindings_from_Namespace" select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  317. <xsl:with-param name="new_TargetNamespaceBindings_from_Namespace" select="$new_TargetNamespaceBindings_from_Namespace"/>
  318. <xsl:with-param name="prototype_NamespacePrefix" select="$prototype_NamespacePrefix"/>
  319. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base" select="$system_cache__appinfo:new_object_by_prototype.base"/>
  320. </xsl:apply-templates>
  321. <xsl:variable name="current" select="."/>
  322. <xsl:message>#269 testing merge sequence - should be sequence=sequence=<xsl:value-of select="$system_cache__appinfo:new_object_by_prototype.base/name()" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/></xsl:message>
  323. <xsl:for-each select="$system_cache__appinfo:new_object_by_prototype.base/sequence/element" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  324. <xsl:choose>
  325. <xsl:when test="@name">
  326. <xsl:choose>
  327. <xsl:when test="$current/element[@name = current()/@name]" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
  328. <xsl:message>#272 found ignored <xsl:value-of select="@name"/></xsl:message>
  329. <xsl:comment>#272 found ignored <xsl:value-of select="@name"/></xsl:comment>
  330. </xsl:when>
  331. <xsl:otherwise>
  332. <xsl:comment>#272-A found adding <xsl:value-of select="@name"/>, $prototype_NamespacePrefix = <xsl:value-of select="$prototype_NamespacePrefix"/></xsl:comment>
  333. <xsl:element name="{name()}">
  334. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_schema_child" select="@*">
  335. <xsl:with-param name="prototype_TargetNamespaceBindings_from_Namespace" select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  336. <xsl:with-param name="new_TargetNamespaceBindings_from_Namespace" select="$new_TargetNamespaceBindings_from_Namespace"/>
  337. <xsl:with-param name="prototype_NamespacePrefix" select="$prototype_NamespacePrefix"/>
  338. <xsl:with-param name="node" select="."/>
  339. </xsl:apply-templates>
  340. </xsl:element>
  341. </xsl:otherwise>
  342. </xsl:choose>
  343. </xsl:when>
  344. <xsl:when test="@ref">
  345. <xsl:message terminate="yes">#288 unsupported yed @ref <xsl:value-of select="@ref"/></xsl:message>
  346. </xsl:when>
  347. </xsl:choose>
  348. </xsl:for-each>
  349. </xsl:element>
  350. </xsl:template>
  351. <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">
  352. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  353. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  354. <xsl:param name="prototype_NamespacePrefix" required="yes"/>
  355. <xsl:param name="system_cache__appinfo:new_object_by_prototype.base" required="yes"/>
  356. <xsl:message>#215 matched <xsl:value-of select="name()"/>/<xsl:value-of select="@name"/>//<xsl:value-of select="*/name()"/></xsl:message>
  357. <xsl:element name="{name()}">
  358. <xsl:copy-of select="@minOccurs"/>
  359. <xsl:copy-of select="@maxOccurs"/>
  360. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_schema_child" select="@*">
  361. <xsl:with-param name="prototype_TargetNamespaceBindings_from_Namespace" select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  362. <xsl:with-param name="new_TargetNamespaceBindings_from_Namespace" select="$new_TargetNamespaceBindings_from_Namespace"/>
  363. <xsl:with-param name="prototype_NamespacePrefix" select="$prototype_NamespacePrefix"/>
  364. <xsl:with-param name="node" select="."/>
  365. </xsl:apply-templates>
  366. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_schema_child">
  367. <xsl:with-param name="prototype_TargetNamespaceBindings_from_Namespace" select="$prototype_TargetNamespaceBindings_from_Namespace"/>
  368. <xsl:with-param name="new_TargetNamespaceBindings_from_Namespace" select="$new_TargetNamespaceBindings_from_Namespace"/>
  369. <xsl:with-param name="prototype_NamespacePrefix" select="$prototype_NamespacePrefix"/>
  370. <xsl:with-param name="system_cache__appinfo:new_object_by_prototype.base" select="$system_cache__appinfo:new_object_by_prototype.base"/>
  371. </xsl:apply-templates>
  372. </xsl:element>
  373. </xsl:template>
  374. <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">
  375. <xsl:element name="{name()}">
  376. <xsl:copy-of select="@*"/>
  377. <xsl:copy-of select="text()"/>
  378. <xsl:copy-of select="system_cache__appinfo:base_type"/>
  379. <xsl:apply-templates mode="system_cache__appinfo:new_object_by_prototype_schema_child"/>
  380. </xsl:element>
  381. </xsl:template>
  382. <xsl:template match="system_cache__appinfo:flat_relation_cache" mode="system_cache__appinfo:new_object_by_prototype_schema_child">
  383. <xsl:copy-of select="."/>
  384. </xsl:template>
  385. <xsl:template match="@ref" mode="system_cache__appinfo:new_object_by_prototype_schema_child">
  386. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  387. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  388. <xsl:param name="prototype_NamespacePrefix" required="yes"/>
  389. <xsl:attribute name="{ name()}" select=" replace(.,$prototype_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable)"/>
  390. </xsl:template>
  391. <xsl:template match="@base|@type" mode="system_cache__appinfo:new_object_by_prototype_schema_child">
  392. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  393. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  394. <xsl:param name="prototype_NamespacePrefix" required="yes"/>
  395. <!--<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 )) )"/>-->
  396. <xsl:choose>
  397. <xsl:when test="contains( system_cache__appinfo:get_object_prefix(.),system_cache__appinfo:prefix_from_targetNamespace($system_cache__appinfo:vrtfNamespaces,$targetNamespace.base))">
  398. <!--<xsl:attribute name="debug.335" select="$targetNamespace.base"/>-->
  399. <!--<xsl:attribute name="debug.336" select="."/>-->
  400. <!--<xsl:attribute name="debug.337" select="system_cache__appinfo:prefix_from_targetNamespace($system_cache__appinfo:vrtfNamespaces,$targetNamespace.base)"/>-->
  401. <!--<xsl:attribute name="{ name()}" select=" replace(., concat(system_cache__appinfo:prefix_from_targetNamespace($system_cache__appinfo:vrtfNamespaces,$targetNamespace.base),':'), 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 ) ) )"/>-->
  402. <xsl:attribute name="{ name()}" select=" replace(., concat(system_cache__appinfo:prefix_from_targetNamespace($system_cache__appinfo:vrtfNamespaces,$targetNamespace.base),':', 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 ) ) )"/>
  403. </xsl:when>
  404. <xsl:otherwise>
  405. <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 ) ) )"/>
  406. </xsl:otherwise>
  407. </xsl:choose>
  408. </xsl:template>
  409. <xsl:template match="@*" mode="system_cache__appinfo:new_object_by_prototype_schema_child">
  410. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  411. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  412. <xsl:attribute name="{ name()}" select="."/>
  413. </xsl:template>
  414. <xsl:template match="@id" mode="system_cache__appinfo:new_object_by_prototype_schema_child">
  415. <!-- <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  416. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  417. <xsl:param name="node" required="yes"/>
  418. <xsl:attribute name="{ name()}" select="concat(substring($new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,0,15),'_',generate-id($node))"/>-->
  419. </xsl:template>
  420. <xsl:template match="@id" mode="system_cache__appinfo:new_object_by_prototype_schema_root"/>
  421. <xsl:template match="@name" mode="system_cache__appinfo:new_object_by_prototype_schema_root">
  422. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  423. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  424. <!--<xsl:attribute name="debug.476" select="."/>-->
  425. <!--<xsl:attribute name="debug.477" select="$prototype_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable"/>-->
  426. <!--<xsl:attribute name="debug.478" select="$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable"/>-->
  427. <xsl:attribute name="{ name()}" select=" replace(.,$prototype_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable)"/>
  428. </xsl:template>
  429. <xsl:template match="@type" mode="system_cache__appinfo:new_object_by_prototype_schema_root">
  430. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  431. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  432. <xsl:param name="prototype_NamespacePrefix" required="yes"/>
  433. <!--<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 )) )"/>-->
  434. <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 ) ) )"/>
  435. </xsl:template>
  436. <!--<xsl:template match="@type" mode="system_cache__appinfo:new_object_by_prototype_schema_root">
  437. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  438. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  439. <xsl:param name="prototype_NamespacePrefix" required="yes"/>
  440. <xsl:attribute name="{ name()}" select=" replace(.,$prototype_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable,$new_TargetNamespaceBindings_from_Namespace//@NamespaceObjectInstanceTable)"/>
  441. </xsl:template>-->
  442. <xsl:template match="@*" mode="system_cache__appinfo:new_object_by_prototype_schema_root">
  443. <xsl:param name="prototype_TargetNamespaceBindings_from_Namespace" required="yes"/>
  444. <xsl:param name="new_TargetNamespaceBindings_from_Namespace" required="yes"/>
  445. <xsl:attribute name="{name()}" select="."/>
  446. </xsl:template>
  447. <xsl:template match="@abstract" mode="system_cache__appinfo:new_object_by_prototype_schema_root"/>
  448. <xsl:template match=" text()|comment()" mode="system_cache__appinfo:new_object_by_prototype_schema_child"/>
  449. <xsl:template match=" text()|comment()" mode="system_cache__appinfo:new_object_by_prototype_schema_root"/>
  450. <xsl:template mode="system_cache__appinfo:new_object_by_prototype" match="*|text()|comment()"/>
  451. </xsl:stylesheet>