TargetNamespaceBindings.xsl 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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:include href="../get_all_xsd.xsl"/>
  8. <xsl:output indent="yes"/>
  9. <xsl:strip-space elements="*"/>
  10. <xsl:template name="system_cache__appinfo:TargetNamespaceBindings_from_Namespace">
  11. <xsl:param name="TargetNamespace" required="yes"/> <!-- like https://biuro.biall-net.pl/wfs/default_db/table/CRM_PROCES.xsd -->
  12. <xsl:message>#15 $TargetNamespace=<xsl:value-of select="$TargetNamespace"/>; system_cache__appinfo:TargetNamespaceBindings_from_Namespace</xsl:message>
  13. <system_cache__appinfo:TargetNamespaceBindings_from_Namespace>
  14. <xsl:variable name="TargetNamespaceTokens" select="tokenize($TargetNamespace,'/')"/>
  15. <xsl:attribute name="NamespaceDatabaseStorageDefinitionPrefix" select="$TargetNamespaceTokens[ count($TargetNamespaceTokens)-2]"/>
  16. <xsl:attribute name="NamespaceObjectInstanceType" select="$TargetNamespaceTokens[ count($TargetNamespaceTokens)-1]"/> <!-- should respond to table -->
  17. <xsl:attribute name="NamespaceObjectInstanceTable" select=" substring-before($TargetNamespaceTokens[ count($TargetNamespaceTokens)],'.')"/>
  18. <xsl:attribute name="NamespacePrefix" select="system_cache__appinfo:escape_object_prefix_to_string( concat( $TargetNamespaceTokens[ count($TargetNamespaceTokens)-2],':', substring-before($TargetNamespaceTokens[ count($TargetNamespaceTokens)],'.')))"/>
  19. </system_cache__appinfo:TargetNamespaceBindings_from_Namespace>
  20. </xsl:template>
  21. <xsl:template name="system_cache__appinfo:TargetNamespaceBindings_from_Prefix">
  22. <xsl:param name="NamespacePrefix" required="yes"/> <!-- like default_db__x3A__CRM_PROCES -->
  23. <xsl:message terminate="yes">#18 TODO function to be created</xsl:message>
  24. </xsl:template>
  25. <xsl:template name="system_cache__appinfo:TargetNamespace_from_Bindings">
  26. <xsl:param name="TargetNamespaceBindingsApi" required="yes"/> <!-- example https://biuro.biall-net.pl/wfs -->
  27. <xsl:param name="NamespaceDatabaseStorageDefinitionPrefix" required="yes"/> <!-- example default_db -->
  28. <xsl:param name="NamespaceObjectInstanceType" select="'table'"/> <!-- example table -->
  29. <xsl:param name="NamespaceObjectInstanceTable" required="yes"/> <!-- example CRM_PROCES -->
  30. <system_cache__appinfo:TargetNamespace_from_Bindings>
  31. <xsl:attribute name="TargetNamespace" select="concat($TargetNamespaceBindingsApi,'/',$NamespaceDatabaseStorageDefinitionPrefix,'/', $NamespaceObjectInstanceType,'/',$NamespaceObjectInstanceTable,'.xsd' )"/>
  32. <xsl:attribute name="Prefix" select="system_cache__appinfo:escape_object_prefix_to_string(concat($NamespaceDatabaseStorageDefinitionPrefix,':',$NamespaceObjectInstanceTable) )"/>
  33. </system_cache__appinfo:TargetNamespace_from_Bindings>
  34. </xsl:template>
  35. <xsl:template name="system_cache__appinfo:TargetNamespaceBindings_to_Namespace">
  36. <xsl:param name="TargetNamespace" required="yes"/> <!-- like https://biuro.biall-net.pl/wfs -->
  37. <xsl:param name="NamespaceDatabaseStorageDefinitionPrefix" required="yes"/> <!-- like default_db for binding to default_db-->
  38. <xsl:param name="NamespaceObjectInstanceTable" required="yes"/> <!-- like CRM_PROCES -->
  39. <xsl:param name="NamespaceObjectInstanceType" required="yes"/> <!-- like table -->
  40. <system_cache__appinfo:TargetNamespaceBindings_to_Namespace>
  41. <xsl:attribute name="TargetNamespace" select="concat($TargetNamespace,'/',$NamespaceDatabaseStorageDefinitionPrefix,'/',$NamespaceObjectInstanceTable,'.xsd')"/>
  42. </system_cache__appinfo:TargetNamespaceBindings_to_Namespace>
  43. </xsl:template>
  44. </xsl:stylesheet>