| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253 |
- <?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"
- exclude-result-prefixes="xs"
- xmlns:default_db__x3A__NEURO_MIND_INPUT_TEXT="https://biuro.biall-net.pl/wfs/default_db/table/NEURO_MIND_INPUT_TEXT.xsd"
- xmlns:default_db__x3A__STRUCTURE="https://biuro.biall-net.pl/wfs/default_db/table/STRUCTURE.xsd"
- version="2.0">
-
- <xsl:import href="STRUCTURE.init.type.xsl"/>
-
-
- <!-- *ZASADA*201904 w lokalnych schematach rozwijac refy i modele, ale w obcych zostawiac @ref - aby je resolve robic lokalnie, za pierwszym razem lecimy schematy unikalnie, ktore wariantuja sie na bazie importow -->
-
- <xsl:output indent="yes"/>
- <xsl:strip-space elements="*"/>
-
- <xsl:include href="STRUCTURE.init.ref.xsl"/>
-
-
-
- <xsl:template mode="default_db__x3A__STRUCTURE:init" match="xs:group[descendant-or-self::*[default_db__x3A__STRUCTURE:prefix.get(@ref)=default_db__x3A__STRUCTURE:namespaceprefix.get(root())] or @id]">
- <default_db__x3A__STRUCTURE:init__SA_DZIECI>
- Taaka
- </default_db__x3A__STRUCTURE:init__SA_DZIECI>
- </xsl:template>
-
-
-
- <xsl:template mode="default_db__x3A__STRUCTURE:init" match="xs:schema"> <!-- default_db__x3A__NEURO_MIND_INPUT_TEXT:init -->
- <xsl:param name="default_db__x3A__STRUCTURE:loop.path" select="default_db__x3A__STRUCTURE:loop.path.init(name(),@targetNamespace)" />
- <xsl:copy>
- <xsl:attribute name="debug">#20 m[default_db__x3A__STRUCTURE:init] [xs:schema]</xsl:attribute>
- <xsl:call-template name="default_db__x3A__STRUCTURE:document-uri"/>
- <xsl:call-template name="default_db__x3A__STRUCTURE:generate-id"/>
- <xsl:copy-of select="$default_db__x3A__STRUCTURE:loop.path"/>
- <xsl:apply-templates mode="default_db__x3A__STRUCTURE:init" select="xs:complexType[@name='init']|xs:import|xs:element|xs:group|xs:simpleType" >
- <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="$default_db__x3A__STRUCTURE:loop.path"/>
- </xsl:apply-templates>
- </xsl:copy>
- </xsl:template>
-
-
- <xsl:template mode="default_db__x3A__STRUCTURE:init" match="*[@default_db__x3A__STRUCTURE:generate-id='d24e51']">
- <xsl:message terminate="yes">#49 key lkoop[[<xsl:value-of select="@default_db__x3A__STRUCTURE:generate-id"/>]]
- KEY[[ <xsl:copy-of select="key('default_db__x3A__STRUCTURE:generate-id',@default_db__x3A__STRUCTURE:generate-id)/@*"/>]]
- </xsl:message>
- </xsl:template>
-
-
-
- <xsl:template mode="default_db__x3A__STRUCTURE:init" match="*">
- <xsl:param name="default_db__x3A__STRUCTURE:loop.path"/>
- <xsl:copy>
- <xsl:apply-templates mode="#current" select="@*"/>
- <xsl:attribute name="debug">#34-KKX m[default_db__x3A__STRUCTURE:init][*]</xsl:attribute>
- <xsl:call-template name="default_db__x3A__STRUCTURE:generate-id"/>
- <xsl:apply-templates mode="#current" >
- <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="$default_db__x3A__STRUCTURE:loop.path"/>
- </xsl:apply-templates>
- </xsl:copy>
- </xsl:template>
-
-
- <xsl:template mode="default_db__x3A__STRUCTURE:init default_db__x3A__STRUCTURE:init.ref" match="xs:annotation[xs:documentation and not(xs:appinfo)]"/>
-
-
-
-
- <xsl:template mode="default_db__x3A__STRUCTURE:init" match="xs:element[@type and @name and parent::xs:schema]" >
- <xsl:param name="default_db__x3A__STRUCTURE:loop.path" />
- <!--<DEENUG parent="{parent::*/name()}">
- <xsl:copy-of select="@*"/>-->
- <xsl:apply-imports>
- <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="$default_db__x3A__STRUCTURE:loop.path"/>
-
- <xsl:with-param name="default_db__x3A__STRUCTURE:init.ref" select="@type" />
- <xsl:with-param name="default_db__x3A__STRUCTURE:init.ref.name" select="name()" />
- </xsl:apply-imports>
- <!-- <xsl:copy>
- <xsl:call-template name="default_db__x3A__STRUCTURE:generate-id"/>
- <xsl:apply-templates mode="default_db__x3A__STRUCTURE:init" select="@*"/>
- <xsl:apply-templates mode="default_db__x3A__STRUCTURE:init" >
- <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="$default_db__x3A__STRUCTURE:loop.path"/>
- </xsl:apply-templates>
- </xsl:copy>-->
- <!--</DEENUG>-->
- </xsl:template>
-
-
- <xsl:template mode="default_db__x3A__STRUCTURE:init.type" match="xs:complexType">
- <xsl:param name="default_db__x3A__STRUCTURE:loop.path" />
- <xsl:copy>
- <xsl:call-template name="default_db__x3A__STRUCTURE:generate-id"/>
- <xsl:apply-templates mode="default_db__x3A__STRUCTURE:init" select="@*"/>
- <xsl:apply-templates mode="default_db__x3A__STRUCTURE:init" >
- <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="$default_db__x3A__STRUCTURE:loop.path"/>
- </xsl:apply-templates>
- </xsl:copy>
- </xsl:template>
-
-
- <xsl:template mode="default_db__x3A__STRUCTURE:init" match="@*">
- <xsl:copy-of select="."/>
- </xsl:template>
-
- <!--<xsl:template mode="default_db__x3A__STRUCTURE:init" match="@default_db__x3A__STRUCTURE:generate-id">
- <xsl:copy-of select="."/>
- </xsl:template>-->
-
- <xsl:function name="default_db__x3A__STRUCTURE:init.element.ref.document-uri">
- <xsl:param name="context"/>
- <xsl:param name="ref"/>
- <xsl:variable name="namespace-uri-for-prefix" select="namespace-uri-for-prefix(default_db__x3A__STRUCTURE:prefix.get($ref),$context)"/>
- <xsl:message terminate="no">#45 $namespace-uri-for-prefix <xsl:value-of select="$context/name()"/>
- <xsl:value-of select="$namespace-uri-for-prefix"/></xsl:message>
- <xsl:choose>
- <xsl:when test="count($context/preceding::xs:import[@namespace=$namespace-uri-for-prefix]) >1">
- <xsl:message terminate="yes">#50 unsupported multiple import same namespace <xsl:copy-of select="$context/ancestor::xs:schema/xs:import[@namespace=$namespace-uri-for-prefix]" copy-namespaces="no"/></xsl:message>
- </xsl:when>
- <xsl:when test="count($context/preceding::xs:import[@namespace=$namespace-uri-for-prefix]) = 1">
- <xsl:value-of select="$context/preceding::xs:import[@namespace=$namespace-uri-for-prefix]/@schemaLocation"/>
- </xsl:when>
- <xsl:when test="$context/root()/xs:schema[@targetNamespace=$namespace-uri-for-prefix]">
- <xsl:message>#50-B - $context/preceding::xs:schema[@targetNamespace=$namespace-uri-for-prefix] = <xsl:value-of select="$namespace-uri-for-prefix"/>;
- count[same tnsp] = [[<xsl:value-of select="$context/count(preceding::xs:schema)"/>]]
- PARENT [[ <xsl:value-of select="$context/ancestor::xs:schema/@targetNamespace"/> ]]
- </xsl:message>
- <xsl:value-of select="''"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:message terminate="yes">#56 error not found $context/preceding::xs:import[@namespace=$namespace-uri-for-prefix]/@schemaLocation for $namespace-uri-for-prefix[<xsl:value-of select="$namespace-uri-for-prefix"/>]
- $context/preceding::xs:schema[@targetNamespace[[ <xsl:value-of select="$context/ancestor-or-self::xs:schema/@targetNamespace"/>]]]
- PARENT [[ <xsl:value-of select="$context/parent::*/name()"/> ]]
- </xsl:message>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:function>
-
- <!--<xsl:template name="default_db__x3A__STRUCTURE:init.element.ref.document-uri" match="xs:element[@ref]">
- <!-\-<xsl:call-template name="default_db__x3A__STRUCTURE:init.element.ref.document-uri"/>-\->
- <xsl:apply-templates mode="#current" select="doc(default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref))/xs:schema/xs:complexType[@name='init']|doc(default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref))/xs:schema/xs:element[@ref]"/>
- <!-\-<xsl:apply-templates mode="#current" select="doc(default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref))/xs:schema/xs:complexType[@name='init']"/>-\->
- </xsl:template>-->
-
- <xsl:template mode="default_db__x3A__STRUCTURE:init" match="xs:group[@ref]">
- <xsl:param name="default_db__x3A__STRUCTURE:loop.path" />
- <!--<xsl:message terminate="yes">#62 mode="default_db__x3A__STRUCTURE:init" match="xs:group[@ref] <xsl:value-of select="@ref"/>;
- </xsl:message>-->
- <xsl:choose>
- <xsl:when test="string-length(default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref))>150">
- <xsl:message terminate="yes">#89 @ref - too long name [<xsl:value-of select="string-length(default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref))"/>]</xsl:message>
- </xsl:when>
- <xsl:when test="default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref)='' and ancestor::xs:schema/xs:group[@name=substring-after(current()/@ref,':')]">
- <xsl:apply-templates mode="#current" select="ancestor::xs:schema/xs:group[@name=substring-after(current()/@ref,':')]">
- <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="default_db__x3A__STRUCTURE:loop.path.test.append($default_db__x3A__STRUCTURE:loop.path,@ref,name())"/>
- <xsl:with-param name="default_db__x3A__STRUCTURE:init.ref" select="@ref"/>
- <xsl:with-param name="default_db__x3A__STRUCTURE:init.ref.name" select="name()"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:when test="string-length(default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref))>0">
- <xsl:apply-templates mode="default_db__x3A__STRUCTURE:init.ref" select="doc(default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref))">
- <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="default_db__x3A__STRUCTURE:loop.path.test.append($default_db__x3A__STRUCTURE:loop.path,@ref,name())"/>
- <xsl:with-param name="default_db__x3A__STRUCTURE:init.ref" select="@ref"/>
- <xsl:with-param name="default_db__x3A__STRUCTURE:init.ref.name" select="name()"/>
- </xsl:apply-templates>
- <xsl:apply-templates mode="#current">
- <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="default_db__x3A__STRUCTURE:loop.path.test.append($default_db__x3A__STRUCTURE:loop.path,@ref,name())"/>
- <xsl:with-param name="default_db__x3A__STRUCTURE:init.ref" select="@ref"/>
- <xsl:with-param name="default_db__x3A__STRUCTURE:init.ref.name" select="name()"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:otherwise>
- <xsl:message terminate="yes">#89 error with @ref[[<xsl:value-of select="@ref"/>]]
- ancestor::xs:schema/xs:group[<xsl:copy-of select="ancestor::xs:schema/xs:group/@name" copy-namespaces="no"></xsl:copy-of>]
- default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref) = [[<xsl:value-of select="default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref)"/>]]
- </xsl:message>
- <!--<xsl:comment >#89 error with @ref[[<xsl:value-of select="@ref"/>]]
- strlen(url)[[<xsl:value-of select="default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref)=''"/>]]
- ::a/sch/@ts [[<xsl:value-of select="ancestor::xs:schema/@targetNamespace"/>]]
- ::a/sch/gr/n [[<xsl:value-of select="ancestor::xs:schema/xs:group[@name=substring-after(current()/@ref,':')]/name()"/>]]
- ancestor::xs:schema/xs:group[<xsl:copy-of select="ancestor::xs:schema/xs:group/@name" copy-namespaces="no"></xsl:copy-of>]
- default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref) = [[<xsl:value-of select="default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref)"/>]]
- </xsl:comment>-->
- </xsl:otherwise>
- </xsl:choose>
-
- </xsl:template>
-
-
-
-
- <xsl:template mode="default_db__x3A__STRUCTURE:init" match="xs:element[@ref]">
- <xsl:param name="default_db__x3A__STRUCTURE:loop.path" />
- <!--<xsl:apply-templates mode="#current" select="doc('NEURO_MIND_INPUT_SENTENCE.xsd')/xs:schema/xs:complexType[@name='import']"/>-->
- <!--<xsl:copy-of select=""/>-->
- <!--<xsl:copy-of select="default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref)"></xsl:copy-of>-->
- <xsl:choose>
- <xsl:when test="string-length(default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref))>150">
- <xsl:message terminate="no">#89 -B @ref - too long name [<xsl:value-of select="string-length(default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref))"/>]</xsl:message>
- <xsl:comment >#89 -B @ref - too long name [<xsl:value-of select="string-length(default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref))"/>] = [<xsl:value-of select="default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref)"/>]</xsl:comment>
- </xsl:when>
-
- <xsl:when test="default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref)='' and ancestor::xs:schema/(xs:complexType[@name=substring-after(current()/@ref,':')]|xs:simpleType[@name=substring-after(current()/@ref,':')])">
- <xsl:apply-templates mode="default_db__x3A__STRUCTURE:init.ref" select="doc(default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref))">
- <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="default_db__x3A__STRUCTURE:loop.path.test.append($default_db__x3A__STRUCTURE:loop.path,@ref,name())"/>
- <xsl:with-param name="default_db__x3A__STRUCTURE:init.ref" select="@ref"/>
- <xsl:with-param name="default_db__x3A__STRUCTURE:init.ref.name" select="name()"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:when test="string-length(default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref))>0">
-
- <xsl:apply-templates mode="default_db__x3A__STRUCTURE:init.ref" select="doc(default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref))">
- <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="default_db__x3A__STRUCTURE:loop.path.test.append($default_db__x3A__STRUCTURE:loop.path,@ref,name())"/>
- <xsl:with-param name="default_db__x3A__STRUCTURE:init.ref" select="@ref"/>
- <xsl:with-param name="default_db__x3A__STRUCTURE:init.ref.name" select="name()"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:otherwise>
- <xsl:message terminate="yes">#89-B error with @ref[[<xsl:value-of select="@ref"/>]]
- ancestor::xs:schema/xs:group[<xsl:copy-of select="ancestor::xs:schema/(xs:complexType|xs:simpleType)/@name" copy-namespaces="no"></xsl:copy-of>]
- default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref) = [[<xsl:value-of select="default_db__x3A__STRUCTURE:init.element.ref.document-uri(.,@ref)"/>]]
- </xsl:message>
-
- </xsl:otherwise>
- </xsl:choose>
-
- <!-- /xs:schema/xs:complexType[@name='init'] --><!-- default_db__x3A__NEURO_MIND_INPUT_SENTENCE:init -->
- </xsl:template>
-
-
- <xsl:template mode="default_db__x3A__STRUCTURE:init" match="xs:simpleType">
- <xsl:param name="default_db__x3A__STRUCTURE:loop.path" />
- <xsl:copy>
- <xsl:call-template name="default_db__x3A__STRUCTURE:generate-id"/>
- <xsl:attribute name="debug">#118 migrate out</xsl:attribute>
- <xsl:apply-templates mode="#current" select="@*"/>
- <xsl:apply-templates mode="#current">
- <xsl:with-param name="default_db__x3A__STRUCTURE:loop.path" select="$default_db__x3A__STRUCTURE:loop.path"/>
- </xsl:apply-templates>
- </xsl:copy>
-
- </xsl:template>
-
-
- <xsl:template mode="default_db__x3A__STRUCTURE:init default_db__x3A__STRUCTURE:init.ref" match="text()">
- <xsl:copy-of select="."/>
- </xsl:template>
-
- <xsl:template mode="default_db__x3A__STRUCTURE:init default_db__x3A__STRUCTURE:init.ref" match="comment()"/>
-
-
-
- </xsl:stylesheet>
|