| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- <?xml version="1.0" encoding="UTF-8"?>
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:system_cache__appinfo="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/appinfo.xsd"
- exclude-result-prefixes="xs"
- version="2.0">
-
- <xsl:include href="../get_all_xsd.xsl"/>
-
- <xsl:param name="targetNamespace_DEFAULTS_prefix" select="'default_db'"/>
- <xsl:param name="targetNamespace_DEFAULTS_prefix_objects" select="'default_objects'"/>
- <xsl:param name="TargetNamespaceBindingsApiUrl" select="'https://biuro.biall-net.pl/SE/version-git/wfs-data.php'"/>
-
- <xsl:output indent="yes"/>
- <xsl:strip-space elements="*"/>
-
- <xsl:template name="system_cache__appinfo:TargetNamespaceBindings_from_Namespace">
- <xsl:param name="TargetNamespace" required="yes"/> <!-- like https://biuro.biall-net.pl/wfs/default_db/table/CRM_PROCES.xsd -->
- <xsl:message>#15 $TargetNamespace=<xsl:value-of select="$TargetNamespace"/>; system_cache__appinfo:TargetNamespaceBindings_from_Namespace</xsl:message>
- <system_cache__appinfo:TargetNamespaceBindings_from_Namespace>
- <xsl:variable name="TargetNamespaceTokens" select="tokenize($TargetNamespace,'/')"/>
- <xsl:attribute name="NamespaceDatabaseStorageDefinitionPrefix" select="$TargetNamespaceTokens[ count($TargetNamespaceTokens)-2]"/>
- <xsl:attribute name="NamespaceObjectInstanceType" select="$TargetNamespaceTokens[ count($TargetNamespaceTokens)-1]"/> <!-- should respond to table -->
- <xsl:attribute name="NamespaceObjectInstanceTable" select=" substring-before($TargetNamespaceTokens[ count($TargetNamespaceTokens)],'.')"/>
- <xsl:attribute name="NamespacePrefix" select="system_cache__appinfo:escape_object_prefix_to_string( concat( $TargetNamespaceTokens[ count($TargetNamespaceTokens)-2],':', substring-before($TargetNamespaceTokens[ count($TargetNamespaceTokens)],'.')))"/>
- </system_cache__appinfo:TargetNamespaceBindings_from_Namespace>
-
- </xsl:template>
-
- <xsl:template name="system_cache__appinfo:TargetNamespaceBindings_from_Prefix">
- <xsl:param name="NamespacePrefix" required="yes"/> <!-- like default_db__x3A__CRM_PROCES -->
- <xsl:message terminate="yes">#18 TODO function to be created</xsl:message>
- </xsl:template>
-
-
- <xsl:template name="system_cache__appinfo:TargetNamespace_from_Bindings">
- <xsl:param name="TargetNamespaceBindingsApi" required="yes"/> <!-- example https://biuro.biall-net.pl/wfs -->
- <xsl:param name="NamespaceDatabaseStorageDefinitionPrefix" required="yes"/> <!-- example default_db -->
- <xsl:param name="NamespaceObjectInstanceType" select="'table'"/> <!-- example table -->
- <xsl:param name="NamespaceObjectInstanceTable" required="yes"/> <!-- example CRM_PROCES -->
- <system_cache__appinfo:TargetNamespace_from_Bindings>
- <xsl:attribute name="TargetNamespace" select="concat($TargetNamespaceBindingsApi,'/',$NamespaceDatabaseStorageDefinitionPrefix,'/', $NamespaceObjectInstanceType,'/',$NamespaceObjectInstanceTable,'.xsd' )"/>
- <xsl:attribute name="Prefix" select="system_cache__appinfo:escape_object_prefix_to_string(concat($NamespaceDatabaseStorageDefinitionPrefix,':',$NamespaceObjectInstanceTable) )"/>
- </system_cache__appinfo:TargetNamespace_from_Bindings>
- </xsl:template>
-
- <xsl:template name="system_cache__appinfo:TargetNamespaceBindings_to_Namespace">
- <xsl:param name="TargetNamespace" required="yes"/> <!-- like https://biuro.biall-net.pl/wfs -->
- <xsl:param name="NamespaceDatabaseStorageDefinitionPrefix" required="yes"/> <!-- like default_db for binding to default_db-->
- <xsl:param name="NamespaceObjectInstanceTable" required="yes"/> <!-- like CRM_PROCES -->
- <xsl:param name="NamespaceObjectInstanceType" required="yes"/> <!-- like table -->
- <system_cache__appinfo:TargetNamespaceBindings_to_Namespace>
- <xsl:attribute name="TargetNamespace" select="concat($TargetNamespace,'/',$NamespaceDatabaseStorageDefinitionPrefix,'/',$NamespaceObjectInstanceTable,'.xsd')"/>
- </system_cache__appinfo:TargetNamespaceBindings_to_Namespace>
- </xsl:template>
-
-
- <xsl:template match="system_cache__appinfo:get_all_xsd_list" mode="system_cache__appinfo:NamespaceBinding.xml">
- <!-- to generate NamespaceBinding.xml file - need to be upgraded for parse xs:appinfo binding informations from schema -->
- <system_cache__appinfo:NamespaceBinding>
- <xsl:apply-templates mode="system_cache__appinfo:NamespaceBinding.xml"/>
- </system_cache__appinfo:NamespaceBinding>
- </xsl:template>
- <xsl:template match="system_cache__appinfo:get_all_xsd" mode="system_cache__appinfo:NamespaceBinding.xml">
- <xsl:apply-templates mode="system_cache__appinfo:NamespaceBinding.xml"/>
- </xsl:template>
-
- <xsl:template mode="system_cache__appinfo:NamespaceBinding.xml" match="*|text()|comment()"/>
-
- <xsl:template match="schema" mode="system_cache__appinfo:NamespaceBinding.xml" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
- <xsl:choose>
- <xsl:when test="annotation/system_cache__appinfo:binding" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
- <xsl:copy-of select="annotation/system_cache__appinfo:binding" xpath-default-namespace="http://www.w3.org/2001/XMLSchema" copy-namespaces="no"/>
- </xsl:when>
- <xsl:when test="contains(@targetNamespace,'default_db/SystemObjects')">
- <system_cache__appinfo:binding targetNamespace="{@targetNamespace}" bindPolicy="single">
- <system_cache__appinfo:api type="wfs"><xsl:value-of select="$TargetNamespaceBindingsApiUrl"/></system_cache__appinfo:api>
- <system_cache__appinfo:prefix><xsl:value-of select="$targetNamespace_DEFAULTS_prefix_objects"/></system_cache__appinfo:prefix>
- </system_cache__appinfo:binding>
- </xsl:when>
- <xsl:when test="contains(@targetNamespace,'default_db/table')">
- <system_cache__appinfo:binding targetNamespace="{@targetNamespace}" bindPolicy="single">
- <system_cache__appinfo:api type="wfs"><xsl:value-of select="$TargetNamespaceBindingsApiUrl"/></system_cache__appinfo:api>
- <system_cache__appinfo:prefix><xsl:value-of select="$targetNamespace_DEFAULTS_prefix"/></system_cache__appinfo:prefix>
- </system_cache__appinfo:binding>
- </xsl:when>
- <xsl:when test="contains(@targetNamespace,'default_db/Types')"></xsl:when>
- <xsl:otherwise>
- <xsl:comment>#71 unknown type schema? maybe some fixing or external schema?</xsl:comment>
- <system_cache__appinfo:binding targetNamespace="{@targetNamespace}" bindPolicy="single">
- <system_cache__appinfo:api type="wfs"><xsl:value-of select="$TargetNamespaceBindingsApiUrl"/></system_cache__appinfo:api>
- <system_cache__appinfo:prefix>unknown</system_cache__appinfo:prefix>
- </system_cache__appinfo:binding>
- </xsl:otherwise>
- </xsl:choose>
-
-
- </xsl:template>
-
- </xsl:stylesheet>
|