a.binder 6 лет назад
Родитель
Сommit
aceadce09c
2 измененных файлов с 189 добавлено и 0 удалено
  1. 72 0
      SE/schema/ant-object/ant-object.xsd
  2. 117 0
      SE/schema/ant-object/ant-object.xsl

+ 72 - 0
SE/schema/ant-object/ant-object.xsd

@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
+    targetNamespace="http://biuro.biall-net.pl/xmlschema_procesy5/ant-object/ant-object.xsd"
+    vc:minVersion="1.1"
+    xmlns:ant-object="http://biuro.biall-net.pl/xmlschema_procesy5/ant-object/ant-object.xsd"
+    xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning">
+    <xs:simpleType name="default_db.ant-object.basedir">
+        <xs:restriction base="xs:string"/>
+    </xs:simpleType>
+    <xs:simpleType name="default_db.object__x3A__schema.xsd">
+        <xs:annotation>
+            <xs:documentation>substring-after($document-uri,$default_db.ant-object.basedir)</xs:documentation>
+        </xs:annotation>
+        <xs:restriction base="xs:string"/>
+    </xs:simpleType>
+    <xs:simpleType name="document-uri.default_db__and__object"/>
+    <xs:simpleType name="document-uri.default_db"/>
+    <xs:simpleType name="document-uri.default_db.object">
+        <xs:annotation>
+            <xs:documentation>substring-after($ant-object:document-uri.default_db__and__object,'default_db.')</xs:documentation>
+        </xs:annotation>
+        <xs:restriction base="xs:string"/>
+    </xs:simpleType>
+    <xs:simpleType name="document-uri.default_db.table">
+        <xs:annotation>
+            <xs:documentation>tokenize($ant-object:default_db.object__x3A__schema.xsd,'/')[3]</xs:documentation>
+        </xs:annotation>
+        <xs:restriction base="xs:string"/>
+    </xs:simpleType>
+    <xs:simpleType name="document-uri.default_db.table.element">
+        <xs:annotation>
+            <xs:documentation>substring-before(tokenize($ant-object:default_db.object__x3A__schema.xsd,'/')[4],'.xsd')</xs:documentation>
+        </xs:annotation>
+        <xs:restriction base="xs:string"/>
+    </xs:simpleType>
+    <xs:simpleType name="document-uri.default_db.table.element.basedir">
+        <xs:annotation>
+            <xs:documentation>sciezka do katalogu ze schema danego obiektu .../default_db.IN7_MK_BAZA_DYSTRYBUCJI/INWEST_MIEJSKA__PRZYLACZE_REALIZACJA/INWEST_MIEJSKA__PRZYLACZE_REALIZACJA.xsd
+${default_db.ant-object.basedir}/${default_db__x3A__BI_audit_ENERGA_PRACOWNICY.ant-object.document-uri.default_db}.${default_db__x3A__BI_audit_ENERGA_PRACOWNICY.ant-object.document-uri.default_db.object}/${default_db__x3A__BI_audit_ENERGA_PRACOWNICY.ant-object.document-uri.default_db.table}</xs:documentation>
+        </xs:annotation>
+        <xs:restriction base="xs:string"/>
+    </xs:simpleType>
+    <xs:element name="default_db.ant-object.basedir" type="ant-object:default_db.ant-object.basedir">
+        <xs:annotation>
+            <xs:documentation>Parametr xsl z lokalizacja repozytoriow obiektow xsd</xs:documentation>
+        </xs:annotation>
+    </xs:element>
+    <xs:element name="location__x3A__default_db.validate">
+        <xs:annotation>
+            <xs:documentation>template name warunkowe, jak spelnia, to sie pojawia element, ze jest dany plik xsd glownym dla danego obiektu do przetwarzania i rozrzucania (ala table)</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+            <xs:attribute ref="ant-object:document-uri.default_db__and__object"/>
+            <xs:attribute ref="ant-object:default_db.object__x3A__schema.xsd"/>
+            <xs:attribute ref="ant-object:document-uri.default_db"/>
+            <xs:attribute ref="ant-object:document-uri.default_db.object"/>
+            <xs:attribute ref="ant-object:document-uri.default_db.table"/>
+            <xs:attribute ref="ant-object:document-uri.default_db.table.element"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:attribute name="default_db.object__x3A__schema.xsd"
+        type="ant-object:document-uri.default_db__and__object"/>
+    <xs:attribute name="document-uri.default_db" type="ant-object:document-uri.default_db"/>
+    <xs:attribute name="document-uri.default_db.object"
+        type="ant-object:document-uri.default_db.object"/>
+    <xs:attribute name="document-uri.default_db__and__object"
+        type="ant-object:document-uri.default_db__and__object"/>
+    <xs:attribute name="document-uri.default_db.table"
+        type="ant-object:document-uri.default_db.table"/>
+    <xs:attribute name="document-uri.default_db.table.element"
+        type="ant-object:document-uri.default_db.table.element"/>
+</xs:schema>

+ 117 - 0
SE/schema/ant-object/ant-object.xsl

@@ -0,0 +1,117 @@
+<?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:ant-object="http://biuro.biall-net.pl/xmlschema_procesy5/ant-object/ant-object.xsd"
+    exclude-result-prefixes="xs"
+    version="2.0">
+    
+    <xsl:function name="ant-object:location">
+        <!-- to validate placement of xsd files -->
+        <xsl:param name="default_db.ant-object.basedir" required="yes"/>
+        <xsl:param name="element" required="yes"/>
+        <xsl:value-of select="concat($default_db.ant-object.basedir,'/',$element)"/>
+    </xsl:function>
+    
+    
+    <xsl:template name="ant-object:location__x3A__default_db.validate">
+        <xsl:param name="default_db.ant-object.basedir" required="yes"/>
+        <xsl:param name="document-uri" required="yes"/>
+        <xsl:choose>
+            <xsl:when test="ant-object:location__x3A__default_db.validate($default_db.ant-object.basedir,$document-uri)">
+                <ant-object:location__x3A__default_db.validate>
+                    <xsl:attribute name="ant-object:default_db.object__x3A__schema.xsd" select="ant-object:default_db.object__x3A__schema.xsd($document-uri,$default_db.ant-object.basedir)"/>
+                    <xsl:attribute name="ant-object:document-uri.default_db__and__object" select="ant-object:document-uri.default_db__and__object(ant-object:default_db.object__x3A__schema.xsd($document-uri,$default_db.ant-object.basedir))"/>
+                    <xsl:attribute name="ant-object:document-uri.default_db" select="ant-object:document-uri.default_db(ant-object:document-uri.default_db__and__object(ant-object:default_db.object__x3A__schema.xsd($document-uri,$default_db.ant-object.basedir)))"/>
+                    
+                    <xsl:attribute name="ant-object:document-uri.default_db.object" select="ant-object:document-uri.default_db.object(ant-object:document-uri.default_db__and__object(ant-object:default_db.object__x3A__schema.xsd($document-uri,$default_db.ant-object.basedir)))"/>
+                    <xsl:attribute name="ant-object:document-uri.default_db.table" select="ant-object:document-uri.default_db.table(ant-object:default_db.object__x3A__schema.xsd($document-uri,$default_db.ant-object.basedir))"/>
+                    <xsl:attribute name="ant-object:document-uri.default_db.table.element" select="ant-object:document-uri.default_db.table.element(ant-object:default_db.object__x3A__schema.xsd($document-uri,$default_db.ant-object.basedir))"/>
+                </ant-object:location__x3A__default_db.validate>
+            </xsl:when>
+            <xsl:otherwise>
+                <xsl:attribute name="ant-object:location__x3A__default_db.validate" select="false()"/>
+            </xsl:otherwise>
+        </xsl:choose>
+    </xsl:template>
+    
+    <xsl:function name="ant-object:location__x3A__default_db.validate">
+        <!-- to validate if it is default place of schema for object .../default_db.ADMIN_USERS/ADMIN_USERS.xsd -->
+        <xsl:param name="default_db.ant-object.basedir" required="yes"/>
+        <xsl:param name="document-uri" required="yes"/>
+        <xsl:variable name="ant-object:default_db.object__x3A__schema.xsd" select="ant-object:default_db.object__x3A__schema.xsd($document-uri,$default_db.ant-object.basedir)"/>
+        <!--<xsl:value-of>ant-object #21 ant-object:default_db.object__x3A__schema.xsd= "<xsl:value-of select="$ant-object:default_db.object__x3A__schema.xsd"/>"; </xsl:value-of>-->
+        <xsl:choose>
+            <xsl:when test="string-length($ant-object:default_db.object__x3A__schema.xsd) &gt;0">
+                <!-- /default_db.IN7_MK_BAZA_DYSTRYBUCJI/INWEST_MIEJSKA__PRZYLACZE_REALIZACJA/INWEST_MIEJSKA__PRZYLACZE_REALIZACJA.xsd -->
+                <!--    AAA                BBB              CCC                                 DDD -->
+                <xsl:variable name="ant-object:document-uri.default_db__and__object" select="ant-object:document-uri.default_db__and__object($ant-object:default_db.object__x3A__schema.xsd)"/>
+                <xsl:variable name="ant-object:document-uri.default_db" select="ant-object:document-uri.default_db($ant-object:document-uri.default_db__and__object)"/>
+                <!--<xsl:value-of>ant-object #27 ant-object:document-uri.default_db__and__object = "<xsl:value-of select="$ant-object:document-uri.default_db__and__object"/>" 
+                    #29 ant-object:document-uri.default_db="<xsl:value-of select="$ant-object:document-uri.default_db"/>"</xsl:value-of>-->    
+                <xsl:choose>
+                    <xsl:when test="substring-after($ant-object:document-uri.default_db__and__object,'default_db.')">
+                        <xsl:variable name="ant-object:document-uri.default_db.object" select="ant-object:document-uri.default_db.object($ant-object:document-uri.default_db__and__object)"/>
+                        <!--<xsl:value-of>ant-object #31 ant-object:document-uri.default_db.object="<xsl:value-of select="$ant-object:document-uri.default_db.object"/>"
+                        </xsl:value-of>-->
+                        
+                        <xsl:variable name="ant-object:document-uri.default_db.table" select="ant-object:document-uri.default_db.table($ant-object:default_db.object__x3A__schema.xsd)"/>
+                        <!--<xsl:value-of>ant-object #34 ant-object:document-uri.default_db.table="<xsl:value-of select="$ant-object:document-uri.default_db.table"/>"
+                        </xsl:value-of>-->
+                                
+                        <xsl:variable name="ant-object:document-uri.default_db.table.element" select="ant-object:document-uri.default_db.table.element($ant-object:default_db.object__x3A__schema.xsd)"/>
+                        <!--<xsl:value-of>ant-object #39b ant-object:document-uri.default_db.table.element="<xsl:value-of select="$ant-object:document-uri.default_db.table.element"/>"
+                        </xsl:value-of>-->
+                        
+                        <xsl:choose>
+                            <xsl:when test="$ant-object:document-uri.default_db.object = $ant-object:document-uri.default_db.table and $ant-object:document-uri.default_db.table = $ant-object:document-uri.default_db.table.element">
+                                <xsl:value-of>ant-object #44a ant-object:location__x3A__default_db.validate = POSITIVE
+                                </xsl:value-of>
+                            </xsl:when>
+                            <xsl:otherwise>
+                                <xsl:message>ant-object #44b ant-object:location__x3A__default_db.validate = NEGATIVE for "<xsl:value-of select="$ant-object:default_db.object__x3A__schema.xsd"/>"
+                                </xsl:message>
+                            </xsl:otherwise>
+                        </xsl:choose>
+                    </xsl:when>
+                </xsl:choose>
+                
+               <!-- <xsl:variable name="ant-object:document-uri.default_db.object__x3A__schema.xsd" select="substring-after($ant-object:default_db.object__x3A__schema.xsd,'/')"/>
+                <xsl:variable name="ant-object:document-uri.default_db.object__x3A__schema" select="substring-before($ant-object:document-uri.default_db.object__x3A__schema.xsd,'.xsd')"/>
+                <xsl:value-of>ant-object #25 "<xsl:value-of select="$ant-object:document-uri.default_db.object__x3A__schema"/>" ; </xsl:value-of>-->
+            </xsl:when>
+        </xsl:choose>
+        
+    </xsl:function>
+    
+    <xsl:function name="ant-object:default_db.object__x3A__schema.xsd">
+        <xsl:param name="document-uri"/>
+        <xsl:param name="default_db.ant-object.basedir"/>
+        <xsl:value-of  select="substring-after($document-uri,$default_db.ant-object.basedir)"/>
+    </xsl:function>
+    
+    <xsl:function name="ant-object:document-uri.default_db__and__object">
+        <xsl:param name="ant-object:default_db.object__x3A__schema.xsd"/>
+        <xsl:value-of  select="tokenize($ant-object:default_db.object__x3A__schema.xsd,'/')[2]"/>
+    </xsl:function>
+    
+    <xsl:function name="ant-object:document-uri.default_db">
+        <xsl:param name="ant-object:document-uri.default_db__and__object"/>
+        <xsl:value-of  select="substring-after($ant-object:document-uri.default_db__and__object,'default_db.')"/>
+    </xsl:function>
+    
+    <xsl:function name="ant-object:document-uri.default_db.object">
+        <xsl:param name="ant-object:document-uri.default_db__and__object"/>
+        <xsl:value-of select="substring-after($ant-object:document-uri.default_db__and__object,'default_db.')"/>
+    </xsl:function>
+    
+    <xsl:function name="ant-object:document-uri.default_db.table">
+        <xsl:param name="ant-object:default_db.object__x3A__schema.xsd"/>
+        <xsl:value-of  select="tokenize($ant-object:default_db.object__x3A__schema.xsd,'/')[3]"/>
+    </xsl:function>
+    
+    <xsl:function name="ant-object:document-uri.default_db.table.element">
+        <xsl:param name="ant-object:default_db.object__x3A__schema.xsd"/>
+        <xsl:value-of  select="substring-before(tokenize($ant-object:default_db.object__x3A__schema.xsd,'/')[4],'.xsd')"/>
+    </xsl:function>
+    
+</xsl:stylesheet>