a.binder před 8 roky
rodič
revize
ce5e72cd41
39 změnil soubory, kde provedl 3031 přidání a 196 odebrání
  1. 64 31
      SE/schema/SystemObjects/File.xsd
  2. 25 0
      SE/schema/WPS_Functions/ant/build.p5ant.INSTALL.xml
  3. 77 0
      SE/schema/WPS_Functions/ant/build.p5ant.PRODUCT.xml
  4. 70 0
      SE/schema/WPS_Functions/ant/build_ant.xml
  5. 13 0
      SE/schema/WPS_Functions/ant/p5ant.include.xsl
  6. 218 0
      SE/schema/WPS_Functions/ant/p5ant.xsl
  7. 31 0
      SE/schema/WPS_Functions/ant_interface/build.p5ant-interface.PRODUCT.xml
  8. 7 0
      SE/schema/WPS_Functions/ant_interface/build_filelist.xml
  9. 19 0
      SE/schema/WPS_Functions/ant_interface/p5ant-interface.xsl
  10. 3 3
      SE/schema/WPS_Functions/build.WPS_Functions.SYSTEM.xml
  11. 2 2
      SE/schema/WPS_Functions/build_WPS_Functions.xml
  12. 1 1
      SE/schema/WPS_Functions/default_db/check_java_process_count/build_check_java_process_count.xml
  13. 34 0
      SE/schema/WPS_Functions/documentation_generator/build.graph.PRODUCT.xml
  14. 55 0
      SE/schema/WPS_Functions/documentation_generator/build.p5dg.PRODUCT.xml
  15. 422 0
      SE/schema/WPS_Functions/documentation_generator/build_documentation_generator.xml
  16. 375 0
      SE/schema/WPS_Functions/documentation_generator/documentation_generator.xsl
  17. 521 0
      SE/schema/WPS_Functions/documentation_generator/graph.xsl
  18. 5 2
      SE/schema/WPS_Functions/get_wfs/build_get_wfs.xml
  19. 2 0
      SE/schema/WPS_Functions/get_wfs_recurse_xsl/build.bgwrx.PRODUCT.xml
  20. 2 1
      SE/schema/WPS_Functions/get_wfs_recurse_xsl/build.bgwrx.SYSTEM.xml
  21. 289 22
      SE/schema/WPS_Functions/get_wfs_recurse_xsl/build_get_wfs_recurse_xsl.xml
  22. 65 0
      SE/schema/WPS_Functions/graph_tree_TODO_PROJ6806/build.grapht.PRODUCT.xml
  23. 95 0
      SE/schema/WPS_Functions/graph_tree_TODO_PROJ6806/build_graph_tree.xml
  24. 334 60
      SE/schema/WPS_Functions/graph_tree_TODO_PROJ6806/graph_tree_yed_from_wfs.xsl
  25. 1 1
      SE/schema/WPS_Functions/object_install_se_ant_object/build_object_install_se_ant_object.xml
  26. 8 1
      SE/schema/WPS_Functions/system_ui_info_speech/build_system_ui_info_speech.xml
  27. 56 3
      SE/schema/WPS_Functions/system_ui_info_speech/system_ui_info_speech.xsl
  28. 23 0
      SE/schema/WPS_Functions/username_and_pass_from_passwordBase64Basic/build.build_username_and_pass_from_passwordBase64Basic.PRODUCT.xml
  29. 1 1
      SE/schema/WPS_Functions/username_and_pass_from_passwordBase64Basic/build_username_and_pass_from_passwordBase64Basic.xml
  30. 44 0
      SE/schema/WPS_Functions/xsl_interface/p5xsl.xsl
  31. 6 0
      SE/schema/build.p5build.SYSTEM.xml
  32. 8 4
      SE/schema/build.xml
  33. 1 0
      SE/schema/build_SE_basedir/build.p5build_SE.PRODUCT.xml
  34. 1 0
      SE/schema/default_db_xml_cache.public/build.system_cache__appinfo.public.PRODUCT.xml
  35. 1 1
      SE/schema/default_db_xml_cache.public/default_db/dateTime.xsl
  36. 142 58
      SE/schema/default_db_xml_cache.public/get_wfs_recurse_xsl.xsl
  37. 2 0
      SE/schema/default_db_xml_cache.public/main_build_recurse_ant.dita_with_id.xsl
  38. 4 0
      SE/schema/default_db_xml_cache.public/system_cache__appinfo/build_object_install_se_ant_object.xsd
  39. 4 5
      SE/schema/default_db_xml_cache.public/system_cache__appinfo/functions.xsl

+ 64 - 31
SE/schema/SystemObjects/File.xsd

@@ -1,38 +1,71 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
-    xmlns:gml="http://www.opengis.net/gml/3.2"
-    xmlns:SystemObjects__x3A__File="https://biuro.biall-net.pl/wfs/default_db/SystemObjects/File.xsd"
-    targetNamespace="https://biuro.biall-net.pl/wfs/default_db/SystemObjects/File.xsd"
-    vc:minVersion="1.0" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" vc:maxVersion="1.1">
-    <xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="../Types/gml.xsd"/>
-    <!-- wchodzi import schematu gdzie jest jakis ref do niego -->
-    <xs:complexType name="FileType" id="SystemObjects__x3A__File___d13e9009-1_FileType">
-        <xs:sequence id="SystemObjects__x3A__File___d13e9015-1">
-            <xs:element minOccurs="1" maxOccurs="1" nillable="true" name="id" type="xs:integer"
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           xmlns:gml="http://www.opengis.net/gml/3.2"
+           xmlns:SystemObjects__x3A__File="https://biuro.biall-net.pl/wfs/default_db/SystemObjects/File.xsd"
+           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xmlns:p5_tr_map="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/procesy5_translate_map.xsd"
+           xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
+           xmlns:system_cache__resources_tree_generate_xsl_required_occurs_raport="http://biuro.biall-net.pl/xmlschema_procesy5/system_cache/resources_tree_generate_xsl_require_occurs_raport"
+           xmlns:system_cache__appinfo="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/appinfo.xsd"
+           xmlns:p5opr="http://biuro.biall-net.pl/xmlschema_procesy5/system_cache/object_parent_relations/object_parent_relations.xsd"
+           xmlns:p5_simpleSchema_map="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/p5_simpleSchema_map.xsd"
+           elementFormDefault="qualified"
+           targetNamespace="https://biuro.biall-net.pl/wfs/default_db/SystemObjects/File.xsd"
+           vc:minVersion="1.1"><!-- wchodzi import schematu gdzie jest jakis ref do niego -->
+   <xs:simpleType name="FilePath" id="__x3A__File___d15e121310-1_FilePath">
+      <xs:restriction base="xs:string"/>
+   </xs:simpleType>
+   <xs:attribute name="FilePath"
+                 type="SystemObjects__x3A__File:FilePath"
+                 id="__x3A__File___d15e121312-1_FilePath"/>
+   <xs:complexType mixed="false"
+                   name="FileContent"
+                   id="__x3A__File___d15e118164-1_FileConten">
+      <xs:simpleContent>
+         <xs:extension base="xs:base64Binary" id="__x3A__File___d15e118166-1"/>
+      </xs:simpleContent>
+   </xs:complexType>
+   <xs:complexType name="FileType" id="SystemObjects__x3A__File___d13e9009-1_FileType">
+      <xs:sequence id="SystemObjects__x3A__File___d13e9015-1">
+         <xs:element minOccurs="1" maxOccurs="1" nillable="true" name="id" type="xs:integer"
                 id="SystemObjects__x3A__File___d13e9017-1_id"/>
-            <xs:element minOccurs="0" maxOccurs="1" nillable="true" name="name" type="xs:string"
+         <xs:element minOccurs="0" maxOccurs="1" nillable="true" name="name" type="xs:string"
                 id="SystemObjects__x3A__File___d13e9019-1_name"/>
-            <xs:element minOccurs="0" maxOccurs="1" nillable="true" name="size" type="xs:integer"
+         <xs:element minOccurs="0" maxOccurs="1" nillable="true" name="size" type="xs:integer"
                 id="SystemObjects__x3A__File___d13e9021-1_size"/>
-            <xs:element minOccurs="0" maxOccurs="1" nillable="true" name="mimeType" type="xs:string"
+         <xs:element minOccurs="0" maxOccurs="1" nillable="true" name="mimeType" type="xs:string"
                 id="SystemObjects__x3A__File___d13e9023-1_mimeType"/>
-            <xs:element minOccurs="0" maxOccurs="1" nillable="true" name="version" type="xs:integer"
+         <xs:element minOccurs="0" maxOccurs="1" nillable="true" name="version" type="xs:integer"
                 id="SystemObjects__x3A__File___d13e9025-1_version"/>
-            <xs:element minOccurs="0" maxOccurs="1" nillable="true" name="content"
-                type="xs:base64Binary" id="SystemObjects__x3A__File___d13e9028-1_content"/>
-        </xs:sequence>
-    </xs:complexType>
-    <xs:element name="File" id="SystemObjects__x3A__File___d13e9034-1_File"
-        type="SystemObjects__x3A__File:FileType"/>
-    <xs:simpleType name="A_STATUSType" id="SystemObjects__x3A__File___d13e9036-1_A_STATUSTy">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="DELETED"/>
-            <xs:enumeration value="MONITOR"/>
-            <xs:enumeration value="NORMAL"/>
-            <xs:enumeration value="OFF_HARD"/>
-            <xs:enumeration value="OFF_SOTF"/>
-            <xs:enumeration value="WAITING"/>
-            <xs:enumeration value="WARNING"/>
-        </xs:restriction>
-    </xs:simpleType>
+         <xs:choice id="__x3A__File___d15e121323-1">
+            <xs:element minOccurs="0"
+                        maxOccurs="1"
+                        nillable="true"
+                        name="content"
+                        type="SystemObjects__x3A__File:FileContent"
+                        id="SystemObjects__x3A__File___d13e9028-1_content"/>
+            <xs:any namespace="##other" processContents="lax">
+               <xs:annotation>
+                  <xs:documentation>albo binary, albo jest tam zwracany xml</xs:documentation>
+               </xs:annotation>
+            </xs:any>
+         </xs:choice>
+      </xs:sequence>
+      <xs:attribute ref="SystemObjects__x3A__File:FilePath"
+                    use="optional"
+                    id="__x3A__File___d15e121329-1"/>
+   </xs:complexType>
+   <xs:element name="File"
+               id="SystemObjects__x3A__File___d13e9034-1_File"
+               type="SystemObjects__x3A__File:FileType"/>
+   <xs:complexType name="Directory" id="__x3A__File___d15e118185-1_Directory">
+      <xs:choice maxOccurs="unbounded" minOccurs="0" id="__x3A__File___d15e118186-1">
+         <xs:element ref="SystemObjects__x3A__File:File" id="__x3A__File___d15e118187-1"/>
+         <xs:element ref="SystemObjects__x3A__File:Directory"
+                     id="__x3A__File___d15e118188-1"/>
+      </xs:choice>
+   </xs:complexType>
+   <xs:element name="Directory"
+               type="SystemObjects__x3A__File:Directory"
+               id="__x3A__File___d15e118189-1_Directory"/>
 </xs:schema>

+ 25 - 0
SE/schema/WPS_Functions/ant/build.p5ant.INSTALL.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project basedir="../../." 
+    xmlns:bgwrx="http://biuro.biall-net.pl/WPS_Functions/get_wfs_recurse_xsl/get_wfs_recurse_xsl.xsd"
+    name="p5ant.INSTALL" default="INSTALL">
+    
+    <!--<include file="../build.WPS_Functions.PRODUCT.xml"/>-->
+    <!--<include file="../../default_db_xml_cache.public/build.system_cache__appinfo.PRODUCT.xml"/>-->
+    
+    <include file="build.p5ant.PRODUCT.xml" />
+    
+    
+    <property name="p5ant.commons-net-3.6.jar.toinstall" location="${p5ant.basedir}/commons-net-3.6.jar"/>
+    
+    <condition property="p5ant.INSTALL.p5ant.commons-net-3.6.jar.ifdef" taskname="bgwrx.INSTALL.xsl">
+        <not><available file="${p5ant.commons-net-3.6.jar}"/></not>
+    </condition>
+   
+    <target name="INSTALL" depends="INSTALL.p5ant.commons-net-3.6.jar"/>
+   
+    
+    <target name="INSTALL.p5ant.commons-net-3.6.jar" if="p5ant.INSTALL.p5ant.commons-net-3.6.jar.ifdef">
+        <copy file="${p5ant.basedir}/commons-net-3.6.jar" tofile="${p5ant.commons-net-3.6.jar}" />
+    </target>
+    
+</project>

+ 77 - 0
SE/schema/WPS_Functions/ant/build.p5ant.PRODUCT.xml

@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns:p5ant="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache.public/ant/ant.xsd"
+    xmlns:p5xsl="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/xsl_interface/xsl_interface.xsd"
+    basedir="../../." name="p5ant.PRODUCT" default="basedir">
+    
+    <!--<include file="../build.WPS_Functions.PRODUCT.xml"/>-->
+    
+    
+    <include file="../build.WPS_Functions.PRODUCT.xml" as="WPS_Functions"/>
+    
+    <!--<condition property="p5dg.PRODUCT.ifdef.parent" taskname="p5dg.parent.PRODUCT.ifdef">
+        <isset property="WPS_Functions.PRODUCT.name"/>
+    </condition>-->
+    
+    
+   
+    <property name="p5ant.PRODUCT.name" value="${p5dg.PRODUCT.name}.p5ant"/>
+    <property name="p5ant.PRODUCT.vendor-domain" value="${p5build_SE.PRODUCT.vendor-domain}.ant"/>
+    
+    <property name="p5ant.basedir"     value="${WPS_Functions.basedir}/ant"/>
+    <property name="p5ant.repository"  value="${p5ant.basedir}/repository"/>
+
+    <property name="p5ant.temp"         location="${p5ant.basedir}/temp"/>
+    
+    <property name="p5ant.include.structure.xml" location="${p5ant.repository}/p5ant.include.structure.xml"/>
+    <property name="p5ant.xsl" location="${p5ant.basedir}/p5ant.xsl"/>
+    <property name="p5ant.include.xsl.p5xsls.xml" location="${p5ant.temp}/p5ant.include.xsl.p5xsls.xml"/>
+    <property name="p5ant.include.xsl" location="${p5ant.basedir}/p5ant.include.xsl"/>
+    
+    <property name="p5ant.commons-net-3.6.jar"     location="/opt/local/share/java/apache-ant/lib/commons-net-3.6.jar"/>
+    
+    
+    
+    <target name="p5xsls.xml" depends="basedir">
+        <echoxml file="${p5ant.include.xsl.p5xsls.xml}">
+            <p5xsl:stylesheet_buildlist xmlns="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/xsl_interface/xsl_interface.xsd">
+                <p5xsl:namespaces.list>
+                    <p5xsl:namespaces.list.namespace prefix="p5dg" namespace="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd"/>
+                    <p5xsl:namespaces.list.namespace prefix="p5ant" namespace="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache.public/ant/ant.xsd"/>
+                </p5xsl:namespaces.list>
+                <p5xsl:include.list>
+                    <p5xsl:include.list.href href="${p5ant.xsl}"/>
+                </p5xsl:include.list>
+            </p5xsl:stylesheet_buildlist>
+        </echoxml>
+    </target>
+    
+    
+    <target name="basedir" description="to create local dirs">
+        <propertyset id="p5ant.local.properties">
+            <propertyref prefix="p5ant"/>
+            <mapper type="glob" from="p5ant.*" to="local.*"/>
+        </propertyset>
+        <antcall target="WPS_Functions.basedir.p5bws:dirs" inheritall="false">
+            <propertyset refid="p5ant.local.properties"/>
+        </antcall>
+    </target>
+    
+    <target name="clean"  description="To delete all temp and repository">
+        <antcall target="WPS_Functions.basedir.p5bws:dirs.clean" inheritall="false">
+            <propertyset refid="p5ant.local.properties"/>
+        </antcall>
+    </target>
+    
+    
+    <target name="clean.temp"  description="To delete all temp and repository">
+        <antcall target="WPS_Functions.basedir.p5bw.p5bws:dirs.temp.clean" inheritall="false">
+            <propertyset refid="p5ant.local.properties"/>
+        </antcall>
+    </target>
+    
+    <target name="parent.PRODUCT.ifdef" unless="WPS_Functions.PRODUCT.ifdef.parent">
+        <fail>There is not set correct parent PRODUCT from expected file="../build.WPS_Functions.PRODUCT.xml" </fail>
+    </target>
+    
+    
+</project>

+ 70 - 0
SE/schema/WPS_Functions/ant/build_ant.xml

@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project basedir="../../." name="ant" default="p5ant.documentation.ant"
+    xmlns:p5dg="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd"
+    xmlns:p5bws="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/WPS_Functions.xsd"
+    >
+    
+    
+    <description>To create documentation of ant builds, schemas, xslt and others</description>
+    
+    
+    
+    <include file="build.p5ant.PRODUCT.xml" as="PRODUCT" />
+    <include file="build.p5ant.INSTALL.xml" as="INSTALL"/>
+    
+    
+    <include file="../build.WPS_Functions.PRODUCT.xml" as="WPS_Functions"/>
+    
+    
+    <!--<include file="${WPS_Functions.basedir}/build_WPS_Function_basedir.xml" as="p5bws" />-->
+    
+    
+    
+  
+
+    <property name="p5ant.documentation.files.antstructure.dtd" location="${p5ant.repository}/p5dg.documentation.files.antstructure.dtd"/>
+  <!--  <property name="p5ant.documentation.files.antstructure-to-fix.xsd" location="${p5ant.repository}/p5dg.documentation.files.antstructure-to-fix.x_s_d"/>
+    <property name="p5ant.documentation.files.antstructure.xsd" location="${p5ant.repository}/p5dg.documentation.files.antstructure.xsd"/>
+    <property name="p5ant.documentation.files.antstructure-request.xsd" location="${p5ant.repository}/p5dg.documentation.files.antstructure-request.xsd"/>
+    <property name="p5ant.documentation.files.antstructure-resp.xsd" location="${p5ant.repository}/p5dg.documentation.files.antstructure-resp.xsd"/>-->
+                             
+                             
+                             
+        <!--<propertyset id="p5dg.properties">
+            <propertyref prefix="p5dg"/>
+            <mapper type="glob" from="p5dg.*" to="local.*"/>
+        </propertyset>-->
+    
+    
+    <target name="p5ant.documentation.ant" depends="PRODUCT.basedir" >
+        <echo> to  ${p5ant.documentation.files.antstructure.dtd}</echo>
+        <antstructure output="${p5ant.documentation.files.antstructure.dtd}" />
+    </target>
+    
+    
+    <!--<target name="documentation.ant.dtd2xsd.pl" depends="p5ant.documentation.ant">
+        <property environment="env"/>
+        <exec executable="${bin.perl}" searchpath="true"  output="${p5ant.documentation.files.antstructure-to-fix.xsd}" errorproperty="p5dg:documentation.ant.dtd2xsd.pl.error">
+            <!-\-<arg value="${dtd2xsd.pl}"/>-\->
+            <!-\-<arg value="-major"/>-\->
+            <!-\-<arg value=""/>-\->
+            <!-\-<arg value="${dtd2xsd.pl}"/>-\->
+            <arg line="${dtd2xsd.pl} -alias -prefix p5ant ${p5ant.documentation.files.antstructure.dtd} -ns http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache.public/ant/ant.xsd"/>
+            <!-\- \
+                -simpletype 'ContentType' string \
+                -attrgroup  '.*Events' \
+                -attrgroup  '.*Attrs' \
+                -attrgroup  '.*Attrs' \
+                -attrgroup  structured_text \
+                -modelgroup '(descTitle|descTitleDefs)' \
+                -attrgroup  '.*_attributes.*' \
+                -attrgroup '.*Attributes.*' -\->
+            <env key="PATH"  path="${env.PATH}:${PATH_ADD}" />
+        </exec>
+    </target>-->
+    
+    
+    
+    
+  
+</project>

+ 13 - 0
SE/schema/WPS_Functions/ant/p5ant.include.xsl

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet ns0:exclude-result-prefixes="xs" ns0:version="2.0" xmlns="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="">
+  <xsl:output ns0:indent="yes" />
+  <xsl:strip-space ns0:elements="*" />
+  <xsl:param ns0:name="p5build_SE.build" ns0:required="yes" />
+  <xsl:param ns0:name="p5dg.repository.dita" ns0:required="yes" />
+  <xsl:param ns0:name="p5dg.temp" ns0:required="yes" />
+  <xsl:param ns0:name="p5dg.repository" ns0:required="yes" />
+  <xsl:param ns0:name="p5dg.documentation.files.index.root_dir" ns0:required="yes" />
+  <xsl:param ns0:name="p5dg.documentation.files.index.excludes.regex" ns0:required="yes" />
+  <xsl:param ns0:name="p5ant.xsl" ns0:required="yes" />
+  <xsl:include ns0:href="p5dg" />
+</xsl:stylesheet>

+ 218 - 0
SE/schema/WPS_Functions/ant/p5ant.xsl

@@ -0,0 +1,218 @@
+<?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:p5ant="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache.public/ant/ant.xsd"
+    xmlns:p5dg="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd"
+    exclude-result-prefixes="xs"
+    version="2.0">
+    
+    <xsl:output indent="yes"/>
+    <xsl:strip-space elements="*"/>
+    
+    <xsl:template match="p5dg:p5dg.documentation.files.index_analyzed_structurized.xml" mode="p5dg:p5ant.include.structure">
+        <p5dg:p5ant.include.structure>
+            <xsl:apply-templates mode="#current"/>
+        </p5dg:p5ant.include.structure>
+    </xsl:template>
+    
+    
+    <xsl:template mode="p5dg:p5ant.include.structure" match="p5ant:filelist">
+        <p5ant:filelist>
+            <xsl:copy-of select="@*"/>
+            <xsl:attribute name="dir.parent" select="../@dir"/>
+            <xsl:apply-templates mode="#current">
+                <xsl:with-param name="dir" select="@dir"/>
+                <xsl:with-param name="dir.parent" select="../@dir"/>
+            </xsl:apply-templates>
+        </p5ant:filelist>
+    </xsl:template>
+    
+    <!--<xsl:function name="p5dg:p5ant.include.structure.test.buildfile">
+        <xsl:param name="p5ant:file.name"/>
+        <xsl:choose>
+            <xsl:when test=" mat"></xsl:when>
+        </xsl:choose>
+        
+    </xsl:function>-->
+    
+    <xsl:template mode="p5dg:p5ant.include.structure" match="p5ant:file">
+        <xsl:param name="dir" required="yes"/>
+        <xsl:param name="dir.parent" required="yes"/>
+        <p5ant:file>
+            <xsl:copy-of select="@*"/>
+            <xsl:attribute name="p5ant:uuid"  select="generate-id()"/>
+            <xsl:attribute name="p5ant:dir.parent" select="$dir.parent"/>
+            <xsl:attribute name="p5ant:dir" select="$dir"/>
+            <todo_contents/>
+        </p5ant:file>
+    </xsl:template>
+    
+    <xsl:template mode="p5dg:p5ant.include.structure" match="p5ant:file[ matches(@name,'(build.*.xml)')]">
+        <xsl:param name="dir" required="yes"/>
+        <xsl:param name="dir.parent" required="yes"/>
+        <xsl:comment>#45 will open file <xsl:value-of select="$dir"/>/<xsl:value-of select="@name"/>; </xsl:comment>
+        <p5ant:file>
+            <xsl:attribute name="p5ant:dir" select="$dir"/>
+            <xsl:attribute name="p5ant:uuid"  select="generate-id()"/>
+            <xsl:attribute name="p5ant:dir.parent" select="$dir.parent"/>
+            <xsl:attribute name="p5ant:file" select="@name"/>
+            <xsl:copy-of select="@*"/>
+            <xsl:apply-templates select="doc(concat($dir,'/',@name))" mode="p5dg:p5ant.include.structure.ant.build"/>
+        </p5ant:file>
+    </xsl:template>
+    
+    
+    <xsl:template match="*" mode="p5dg:p5ant.include.structure.ant.build" >
+        <p5dg:p5ant.include.structure.ant.build.unknown>
+            <xsl:attribute name="p5ant:uuid"  select="generate-id()"/>
+            <xsl:copy/>
+        </p5dg:p5ant.include.structure.ant.build.unknown>
+    </xsl:template>
+    
+    
+    <xsl:template match="project" mode="p5dg:p5ant.include.structure.ant.build" >
+        <p5dg:p5ant.include.structure.ant.build>
+            <xsl:copy-of select="@*"/>
+            <xsl:attribute name="ns" select="namespace-uri()"/>
+            <xsl:copy-of select="namespace::node()"/>
+            <xsl:attribute name="p5ant:uuid"  select="generate-id()"/>
+            <xsl:copy>
+                <xsl:copy-of select="@*"/>
+                <xsl:apply-templates mode="p5dg:p5ant.include.structure.ant.build.child">
+                    <xsl:with-param name="basedir" select="@basedir"/>
+                    <xsl:with-param name="name" select="@name"/>
+                    <xsl:with-param name="default" select="@default"/>
+                </xsl:apply-templates>
+            </xsl:copy>
+        </p5dg:p5ant.include.structure.ant.build>
+    </xsl:template>
+    
+    <xsl:template match="*" mode="p5dg:p5ant.include.structure.ant.build.child" >
+        <xsl:param name="basedir" required="yes"/>
+        <xsl:param name="name" required="yes"/>
+        <xsl:param name="default" required="yes"/>
+        <xsl:copy>
+            <xsl:copy-of select="@*"/>
+            <xsl:attribute name="p5ant:uuid"  select="generate-id()"/>
+            <xsl:attribute name="p5dg:basedir" select="$basedir"/>
+            <xsl:attribute name="p5dg:name" select="$name"/>
+            <xsl:apply-templates mode="#current">
+                <xsl:with-param name="basedir" select="$basedir"/>
+                <xsl:with-param name="name" select="$name"/>
+                <xsl:with-param name="default" select="$default"/>
+            </xsl:apply-templates>
+        </xsl:copy>
+    </xsl:template>
+    
+    
+    
+    <xsl:template match="*" mode="p5dg:p5ant.include.structure.ant.build.child.target" >
+        <xsl:param name="basedir" required="yes"/>
+        <xsl:param name="name" required="yes"/>
+        <xsl:param name="default" required="yes"/>
+        <xsl:copy>
+            <xsl:copy-of select="@*"/>
+            <xsl:attribute name="p5dg:basedir" select="$basedir"/>
+            <xsl:attribute name="p5dg:name" select="$name"/>
+            <xsl:apply-templates mode="#current">
+                <xsl:with-param name="basedir" select="$basedir"/>
+                <xsl:with-param name="name" select="$name"/>
+                <xsl:with-param name="default" select="$default"/>
+            </xsl:apply-templates>
+        </xsl:copy>
+    </xsl:template>
+    
+    
+    <xsl:template match="ant" mode="p5dg:p5ant.include.structure.ant.build.child.target" >
+        <xsl:param name="basedir" required="yes"/>
+        <xsl:param name="name" required="yes"/>
+        <xsl:param name="default" required="yes"/>
+        <p5dg:p5ant.include.structure.ant.build.child.target.ant>
+      
+        <xsl:copy-of select="@*"/>
+        <xsl:attribute name="p5dg:basedir" select="$basedir"/>
+        <xsl:attribute name="p5dg:name" select="$name"/>
+        <xsl:attribute name="p5ant:uuid"  select="generate-id()"/>
+        <xsl:copy>
+            <xsl:copy-of select="@*"/>
+            <xsl:attribute name="p5dg:basedir" select="$basedir"/>
+            <xsl:attribute name="p5dg:name" select="$name"/>
+            <xsl:apply-templates mode="#current">
+                <xsl:with-param name="basedir" select="$basedir"/>
+                <xsl:with-param name="name" select="$name"/>
+                <xsl:with-param name="default" select="$default"/>
+            </xsl:apply-templates>
+        </xsl:copy>
+        </p5dg:p5ant.include.structure.ant.build.child.target.ant>
+    </xsl:template>
+    
+    <xsl:template match="antcall" mode="p5dg:p5ant.include.structure.ant.build.child.target" >
+        <xsl:param name="basedir" required="yes"/>
+        <xsl:param name="name" required="yes"/>
+        <xsl:param name="default" required="yes"/>
+        <p5dg:p5ant.include.structure.ant.build.child.target.antcall>
+           
+            <xsl:copy-of select="@*"/>
+            <xsl:attribute name="p5dg:basedir" select="$basedir"/>
+            <xsl:attribute name="p5dg:name" select="$name"/>
+            <xsl:attribute name="p5ant:uuid"  select="generate-id()"/>
+            <xsl:copy>
+                <xsl:copy-of select="@*"/>
+                <xsl:attribute name="p5dg:basedir" select="$basedir"/>
+                <xsl:attribute name="p5dg:name" select="$name"/>
+                <xsl:apply-templates mode="#current">
+                    <xsl:with-param name="basedir" select="$basedir"/>
+                    <xsl:with-param name="name" select="$name"/>
+                    <xsl:with-param name="default" select="$default"/>
+                </xsl:apply-templates>
+            </xsl:copy>
+        </p5dg:p5ant.include.structure.ant.build.child.target.antcall>
+    </xsl:template>
+    
+    
+    <xsl:template match="target|extension-point" mode="p5dg:p5ant.include.structure.ant.build.child" >
+        <xsl:param name="basedir" required="yes"/>
+        <xsl:param name="name" required="yes"/>
+        <xsl:param name="default" required="yes"/>
+        <p5dg:p5ant.include.structure.ant.build.target>
+            <xsl:copy-of select="@*"/>
+            <xsl:attribute name="p5dg:basedir" select="$basedir"/>
+            <xsl:attribute name="p5dg:name" select="$name"/>
+            <xsl:attribute name="p5ant:uuid"  select="generate-id()"/>
+            <xsl:copy>
+                <xsl:copy-of select="@*"/>
+                <xsl:attribute name="p5dg:basedir" select="$basedir"/>
+                <xsl:attribute name="p5dg:name" select="$name"/>
+                <xsl:apply-templates mode="p5dg:p5ant.include.structure.ant.build.child.target">
+                    <xsl:with-param name="basedir" select="$basedir"/>
+                    <xsl:with-param name="name" select="$name"/>
+                    <xsl:with-param name="default" select="$default"/>
+                </xsl:apply-templates>
+            </xsl:copy>
+        </p5dg:p5ant.include.structure.ant.build.target>
+    </xsl:template>
+    
+    
+    
+    <xsl:template match="include" mode="p5dg:p5ant.include.structure.ant.build.child" >
+        <xsl:param name="basedir" required="yes"/>
+        <xsl:param name="name" required="yes"/>
+        <xsl:param name="default" required="yes"/>
+        <p5dg:p5ant.include.structure.ant.build.include>
+          
+            <xsl:copy>
+                <xsl:copy-of select="@*"/>
+                <xsl:attribute name="p5dg:basedir" select="$basedir"/>
+                <xsl:attribute name="p5dg:name" select="$name"/>
+                <xsl:attribute name="p5ant:uuid"  select="generate-id()"/>
+                <xsl:apply-templates mode="#current">
+                    <xsl:with-param name="basedir" select="$basedir"/>
+                    <xsl:with-param name="name" select="$name"/>
+                    <xsl:with-param name="default" select="$default"/>
+                </xsl:apply-templates>
+            </xsl:copy>
+        </p5dg:p5ant.include.structure.ant.build.include>
+    </xsl:template>
+    
+    
+</xsl:stylesheet>

+ 31 - 0
SE/schema/WPS_Functions/ant_interface/build.p5ant-interface.PRODUCT.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project basedir="../../." 
+    xmlns:p5ant-interface="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/ant_interface/ant_interface.xsd"
+    name="p5ant-interface.PRODUCT" > <!-- default="INSTALL.bgwrx.INSTALL" -->
+    
+    <include file="../build.WPS_Functions.PRODUCT.xml"/>
+    <!--<include file="../../default_db_xml_cache.public/build.system_cache__appinfo.public.PRODUCT.xml"/>-->
+    <!--<include file="build.bgwrx.INSTALL.xml" as="INSTALL"/>-->
+    
+    
+    
+   
+    <property name="p5ant-interface.PRODUCT.name" value="${WPS_Functions.PRODUCT.name}.ant_interface"/>
+    <property name="p5ant-interface.PRODUCT.vendor-domain" value="${p5build_SE.PRODUCT.vendor-domain}.ant_interface"/>
+    
+    <property name="p5ant-interface.basedir"     value="${WPS_Functions.basedir}/ant_interface"/>
+    <property name="p5ant-interface.build" location="${p5ant-interface}/build_ant_interface.xml"/>
+    <property name="p5ant-interface.repository"  value="${p5ant-interface}/repository"/>
+
+    <property name="p5ant-interface.temp" location="${p5ant-interface}/temp"/>
+    
+    <property name="p5ant-interface.childproperties" location="${WPS_Functions.childproperties}/build_ant_interface.properties"/>
+    
+    <property name="p5ant-interface.xsl" value="${p5ant-interface.basedir}/p5ant-interface.xsl"/>
+    
+    
+   
+    
+    
+    
+</project>

+ 7 - 0
SE/schema/WPS_Functions/ant_interface/build_filelist.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project basedir="../../." name=""
+    xmlns:p5ant-interface="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/ant_interface/ant_interface.xsd"
+    
+    >
+  
+</project>

+ 19 - 0
SE/schema/WPS_Functions/ant_interface/p5ant-interface.xsl

@@ -0,0 +1,19 @@
+<?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:p5ant-interface="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/ant_interface/ant_interface.xsd"
+    exclude-result-prefixes="xs"
+    version="2.0">
+    
+    
+    <xsl:output indent="yes"/>
+    
+    <xsl:strip-space elements="*"/>
+    
+    
+    
+    
+    
+    
+    
+</xsl:stylesheet>

+ 3 - 3
SE/schema/WPS_Functions/build.WPS_Functions.SYSTEM.xml

@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project basedir="../" name="WPS_Functions.SYSTEM">
   
-    <include file="${basedir}/WPS_Functions/build.WPS_Functions.PRODUCT.xml" optional="true"/>
-    <include file="${WPS_Functions.basedir}/build.WPS_Functions.PRODUCT.xml" optional="true"/>
-    <include file="${WPS_Functions.basedir}/build.WPS_Functions.SYSTEM.PROCES.xml" optional="true"/>
     
+    <include file="build.WPS_Functions.PRODUCT.xml" optional="true"/>
+    <include file="build.WPS_Functions.SYSTEM.PROCES.xml" optional="true"/>
+    <include file="../build.p5build.SYSTEM.xml"/>
    
     <property name="WPS_Functions.SYSTEM.StandardOutPath" location="${p5build_SE.SYSTEM.StandardOutPath}/${WPS_Functions.PRODUCT.name}.log"/>
     <property name="WPS_Functions.SYSTEM.StandardErrorPath" location="${p5build_SE.SYSTEM.StandardErrorPath}/${WPS_Functions.PRODUCT.name}.log"/>

+ 2 - 2
SE/schema/WPS_Functions/build_WPS_Functions.xml

@@ -187,8 +187,8 @@
         <property name="detect_resource_type_dir" value="${detect_resource_type.local}"/>
         <property name="build_complexType_dir" value="${build_complexType.local}"/>
         <echoproperties destfile="${WPS_Functions.properties}" />
-        <chmod file="${WPS_Functions.properties}" perm="777"/>
-        <chown file="${WPS_Functions.properties}" owner="${p5build_SE.SYSTEM.local-user}"/>
+        <chmod file="${WPS_Functions.properties}" perm="777" failonerror="false"/>
+        <chown file="${WPS_Functions.properties}" owner="${p5build_SE.SYSTEM.local-user}" failonerror="false"/>
     </target>
   
     <target name="clean" description="to clean modules dependent temporary files and its outputs">

+ 1 - 1
SE/schema/WPS_Functions/default_db/check_java_process_count/build_check_java_process_count.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project basedir="${basedir}" name="check_java_process_count" default="set_parallel_java_process_max">
+<project basedir="../../." name="check_java_process_count" default="set_parallel_java_process_max">
   <description>To check ammount of working process in java  - use as input/output value </description>
     
     <include file="../../build.WPS_Functions.PRODUCT.xml"/>

+ 34 - 0
SE/schema/WPS_Functions/documentation_generator/build.graph.PRODUCT.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project basedir="../../." name="graph.PRODUCT">
+    
+    <include file="build.p5dg.PRODUCT.xml" optional="true"/>
+    
+    
+    
+   
+    <property name="graph.PRODUCT.name" value="${p5dg.PRODUCT.name}.graph"/>
+    <property name="graph.PRODUCT.vendor-domain" value="${p5build_SE.PRODUCT.vendor-domain}.graph"/>
+    
+    <property name="graph.basedir"     value="${p5dg.basedir}"/>
+    <property name="graph.repository"  value="${p5dg.repository}"/>
+
+    <property name="graph.temp" location="${graph.basedir}/temp"/>
+    
+    <property name="graph.xsl" location="${graph.basedir}/graph.xsl"/>
+    <property name="graph.graph_tree_yed_from_wfs.xsl" location="${WPS_Functions.basedir}/graph_tree_TODO_PROJ6806/graph_tree_yed_from_wfs.xsl"/>
+    
+    <property name="graph.graph-to-analyze.xml" location="${graph.repository}/graph.graph-to-analyze.xml"/>
+    <property name="graph.graph-to-analyze-property.xml" location="${graph.repository}/graph.graph-to-analyze-property.xml"/>
+    <property name="graph.graph.graph-to-nodes.xml" location="${graph.repository}/graph.graph.graph-to-nodes.xml"/>
+    
+    <!--<property name="p5suis.pid" location="${p5suis.repository}/p5suis.speech.pid"/>-->
+    
+   <!-- 
+    <property name="p5dg.StandardOutPath" location="${p5build_SE.SYSTEM.StandardOutPath}/${p5dg.PRODUCT.name}.log"/>
+    <property name="p5dg.StandardErrorPath" location="${p5build_SE.SYSTEM.StandardErrorPath}/${p5dg.PRODUCT.name}.log"/>
+    -->
+    
+    
+   
+    
+</project>

+ 55 - 0
SE/schema/WPS_Functions/documentation_generator/build.p5dg.PRODUCT.xml

@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project basedir="../../." name="p5dg.PRODUCT">
+    
+    <include file="../build.WPS_Functions.PRODUCT.xml" as="WPS_Functions"/>
+    
+    <condition property="p5dg.PRODUCT.ifdef.parent" taskname="parent.PRODUCT.ifdef">
+        <isset property="WPS_Functions.PRODUCT.name"/>
+    </condition>
+    
+   
+    <property name="p5dg.PRODUCT.name" value="${WPS_Functions.PRODUCT.name}.documentation_generator"/>
+    <property name="p5dg.PRODUCT.vendor-domain" value="${p5build_SE.PRODUCT.vendor-domain}"/>
+    
+    <property name="p5dg.basedir"     value="${WPS_Functions.basedir}/documentation_generator"/>
+    <property name="p5dg.repository"  value="${p5dg.basedir}/repository"/>
+
+    <property name="p5dg.temp" location="${p5dg.basedir}/temp"/>
+    
+    <property name="p5dg.childproperties" location="${WPS_Functions.childproperties}/build_documentation_generator.properties"/>
+    
+    <!--<property name="p5suis.pid" location="${p5suis.repository}/p5suis.speech.pid"/>-->
+    
+   <!-- 
+    <property name="p5dg.StandardOutPath" location="${p5build_SE.SYSTEM.StandardOutPath}/${p5dg.PRODUCT.name}.log"/>
+    <property name="p5dg.StandardErrorPath" location="${p5build_SE.SYSTEM.StandardErrorPath}/${p5dg.PRODUCT.name}.log"/>
+    -->
+    
+    <target name="basedir" description="to create local dirs">
+        <propertyset id="p5dg.local.properties">
+            <propertyref prefix="p5dg"/>
+            <mapper type="glob" from="p5dg.*" to="local.*"/>
+        </propertyset>
+        <antcall target="WPS_Functions.basedir.p5bws:dirs" inheritall="false">
+            <propertyset refid="p5dg.local.properties"/>
+        </antcall>
+    </target>
+    
+    <target name="clean"  description="To delete all temp and repository">
+        <antcall target="WPS_Functions.basedir.p5bws:dirs.clean" inheritall="false">
+            <propertyset refid="p5dg.local.properties"/>
+        </antcall>
+    </target>
+    
+    
+    <target name="clean.temp"  description="To delete all temp and repository">
+        <antcall target="WPS_Functions.basedir.p5bw.p5bws:dirs.temp.clean" inheritall="false">
+            <propertyset refid="p5dg.local.properties"/>
+        </antcall>
+    </target>
+    
+    <target name="parent.PRODUCT.ifdef" unless="WPS_Functions.PRODUCT.ifdef.parent">
+        <fail>There is not set correct parent PRODUCT from expected file="../build.WPS_Functions.PRODUCT.xml" </fail>
+    </target>
+    
+</project>

+ 422 - 0
SE/schema/WPS_Functions/documentation_generator/build_documentation_generator.xml

@@ -0,0 +1,422 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project basedir="../../." name="p5dg:documentation_generator" default="p5dg:generate_documentation"
+    xmlns:p5dg="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd"
+    xmlns:p5bws="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/WPS_Functions.xsd"
+    >
+    
+    
+    <description>To create documentation of ant builds, schemas, xslt and others</description>
+    
+    
+    <include file="build.p5dg.PRODUCT.xml" as="PRODUCT" optional="true"/>
+    <include file="../build.WPS_Functions.PRODUCT.xml" as="WPS_Functions"/>
+    
+    
+    <include file="../system_ui_info_speech/build.system_ui_info_speech.PRODUCT.xml"/>
+    
+    
+    <!--<include file="build.p5ant.PRODUCT.xml" as="p5ant" optional="true"/>-->
+    <include file="../ant/build_ant.xml" as="p5ant"/>
+    
+    <property name="WPS_Functions" location="${basedir}/WPS_Functions"/>
+    <propertyset id="p5dg.local.properties">
+        <propertyref prefix="p5dg"/>
+        <mapper type="glob" from="p5dg.*" to="local.*"/>
+    </propertyset>
+    
+    <include file="${WPS_Functions.basedir}/build_WPS_Function_properties.xml" as="p5bws"  />
+    <!--<include file="${WPS_Functions.basedir}/build_WPS_Function_basedir.xml" as="p5bws" />-->
+    <!--<include file="build.p5ant.PRODUCT.xml" as="p5ant.PRODUCT"/>-->
+    <include file="build.graph.PRODUCT.xml" as="graph.PRODUCT"/>
+    
+    <target name="p5dg:properties">
+        <!--<include file="build.p5dg.PRODUCT.xml" as="PRODUCT" optional="true"/>-->
+   
+        <!--<property name="p5dg.basedir" location="${WPS_Functions}/documentation_generator"/>-->
+        
+        <property name="p5dg.timestamp.analyzed" location="${p5dg.repository}/timestamp.analyzed"/>
+        <property name="p5dg.timestamp.created" location="${p5dg.repository}/timestamp.created"/>
+        
+        <property name="p5dg.documentation_generator.xsl" location="${p5dg.basedir}/documentation_generator.xsl"/>
+        <property name="p5dg.repository.dita" location="${p5dg.repository}/dita"/>
+                <!--<property name="p5dg.documentation.root.build.xml" value="${build_SE.xml}"/>-->
+                <property name="p5dg.documentation.files.index.includes1" value="**/build*.xml"/>
+                <property name="p5dg.documentation.files.index.includes2" value="**/*.xsl"/>
+                <property name="p5dg.documentation.files.index.includes3" value="**/*.xsd"/>
+                <property name="p5dg.documentation.files.index.excludes1" value="**/temp/*"/>
+                <property name="p5dg.documentation.files.index.excludes2" value="**/out/*"/>
+                <property name="p5dg.documentation.files.index.excludes3" value="**/recurse_cache/*"/>
+                <property name="p5dg.dtd2xsd.pl" location="${p5dg.basedir}/dtd2xsd.pl"/>
+        <property name="p5dg.documentation.files.index.excludes.regex" value="(.*recurse_cache.*)|(.*/temp/.*)|(.*/out/.*)|(.*recurse_cache.*)"/>
+                <property name="p5dg.documentation.files.index.root_dir" location="${p5build.basedir}"/> <!-- + ${build_SE.xml} -->
+                    <property name="p5dg.documentation.files.index.xml" location="${p5dg.repository}/p5dg.documentation.files.index.xml"/> <!-- index list of all builds -->
+                    <property name="p5dg.documentation.files.index_fileset.xml" location="${p5dg.repository}/p5dg.documentation.files.index_fileset.xml"/>
+                    <property name="p5dg.documentation.files.index_analyzed.xml" location="${p5dg.repository}/p5dg.documentation.files.index_analyzed.xml"/>
+                    <property name="p5dg.documentation.files.index_analyzed_structurized.xml" location="${p5dg.repository}/p5dg.documentation.files.index_analyzed_structurized.xml"/>
+        
+                    
+                <property name="p5dg.documentation.files.antstructure.dtd" location="${p5ant.documentation.files.antstructure.dtd}"/>
+                
+                <property name="p5dg.documentation.files.antstructure-to-fix.xsd" location="${p5dg.repository}/p5dg.documentation.files.antstructure-to-fix.x_s_d"/>
+                    <property name="p5dg.documentation.files.antstructure.xsd" location="${p5dg.repository}/p5dg.documentation.files.antstructure.xsd"/>
+                      <property name="p5dg.documentation.files.antstructure-request.xsd" location="${p5dg.repository}/p5dg.documentation.files.antstructure-request.xsd"/>
+                      <property name="p5dg.documentation.files.antstructure-resp.xsd" location="${p5dg.repository}/p5dg.documentation.files.antstructure-resp.xsd"/>
+                             
+                             
+                             
+                             
+        <!--<propertyset id="p5dg.properties">
+            <propertyref prefix="p5dg"/>
+            <mapper type="glob" from="p5dg.*" to="local.*"/>
+        </propertyset>-->
+    </target>
+    
+    <!--<target name="p5dg:documentation.ant" depends="p5dg:properties">
+        <!-\-<taskdef   file="/Users/a.binder/Documents/xmlschema_procesy5/src-xmlschema/public_html/WPS_Functions/documentation_generator/commons-net-3.6/commons-net-3.6.jar"/>-\->
+        <!-\-<typedef name="ant" classname="org.apache.tools.ant.launch.Launcher" />-\->
+        
+            <antstructure output="${p5dg.documentation.files.antstructure.dtd}" />
+        <echo> to  ${p5dg.documentation.files.antstructure.dtd}</echo>
+        <!-\-<echoproperties destfile="${p5dg.documentation.files.antstructure.dtd}"/>-\->
+        <!-\- name="antstructure" -\->
+        <!-\- 
+        perl  /Users/a.binder/Documents/se/SE/stuff/ant/dtd2xsd.pl  -alias -prefix p5ant p5dg.documentation.files.antstructure.dtd  -ns http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache.public/ant/ant.xsd \
+        -simpletype 'ContentType' string \
+        -attrgroup  '.*Events' \
+		-attrgroup  '.*Attrs' \
+		-attrgroup  '.*Attrs' \
+		-attrgroup  structured_text \
+		-modelgroup '(descTitle|descTitleDefs)' \
+		 -attrgroup  '.*_attributes.*' \
+		-attrgroup '.*Attributes.*' \
+        > p5dg.documentation.files.antstructure.xsd
+        
+  perl  /Users/a.binder/Documents/se/SE/stuff/ant/dtd2xsd.pl  -alias -prefix p5ant p5dg.documentation.files.antstructure.dtd  -ns http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache.public/ant/ant.xsd > p5dg.documentation.files.antstructure.xsd
+        -\->
+        <!-\- classname="org.apache.tools.ant.taskdefs.optional.net.FTP" -\->
+    </target>-->
+    
+    <!-- p5dg:documentation.ant -->
+    <target name="p5dg:documentation.ant.dtd2xsd.pl" depends="p5dg:properties">
+        <property environment="env"/>
+        <exec executable="${bin.perl}" searchpath="true"  output="${p5dg.documentation.files.antstructure-to-fix.xsd}" errorproperty="p5dg:documentation.ant.dtd2xsd.pl.error" failifexecutionfails="true">
+            <!--<arg value="${dtd2xsd.pl}"/>-->
+            <!--<arg value="-major"/>-->
+            <!--<arg value=""/>-->
+            <!--<arg value="${dtd2xsd.pl}"/>-->
+            <arg line="${p5dg.dtd2xsd.pl} -alias -prefix p5ant ${p5ant.documentation.files.antstructure.dtd} -ns http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache.public/ant/ant.xsd"/>
+            <!-- \
+                -simpletype 'ContentType' string \
+                -attrgroup  '.*Events' \
+                -attrgroup  '.*Attrs' \
+                -attrgroup  '.*Attrs' \
+                -attrgroup  structured_text \
+                -modelgroup '(descTitle|descTitleDefs)' \
+                -attrgroup  '.*_attributes.*' \
+                -attrgroup '.*Attributes.*' -->
+            <env key="PATH"  path="${env.PATH}:${PATH_ADD}" />
+        </exec>
+    </target>
+    <!-- p5dg:documentation.ant.dtd2xsd.pl -->
+    <target name="p5dg:documentation.ant.dtd2xsd.pl.fix.xsd" depends="p5dg:documentation.ant.dtd2xsd.pl" description="To fix old schema style to be parseable">
+        <ant antfile="${p5suis.build}" target="p5suis:say_to_queue">
+            <property name="p5suis:say_text" value="generating ant xml structure from dtd" />
+        </ant>
+        <xslt basedir="${p5dg.temp}" style="${p5dg.documentation_generator.xsl}" in="${p5dg.documentation.files.antstructure-to-fix.xsd}"   out="${p5dg.documentation.files.antstructure.xsd}"  >
+            <factory name="net.sf.saxon.TransformerFactoryImpl">    
+                <attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>
+                <attribute name="http://saxon.sf.net/feature/initialMode" value="{http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd}documentation.ant.dtd2xsd.pl.fix.xsd"/>
+            </factory>
+            <classpath location="/opt/local/share/java/saxon9he.jar"/>
+            <param name="p5build_SE.build" expression="${p5build_SE.build}"/>
+            <param name="p5dg.repository.dita" expression="${p5dg.repository.dita}"/>
+            <param name="p5dg.temp" expression="${p5dg.temp}"/>
+            <param name="p5dg.repository" expression="${p5dg.repository}"/>
+            <param name="p5dg.documentation.files.index.root_dir" expression="${p5dg.documentation.files.index.root_dir}"/>
+            <param name="p5dg.documentation.files.index.excludes.regex" expression="${p5dg.documentation.files.index.excludes.regex}"/>
+            <param name="p5ant.xsl" expression="${p5ant.xsl}"/>
+        </xslt>
+        
+    </target>
+    <!--p5dg:documentation.ant.dtd2xsd.pl.fix.xsd -->
+    <target name="p5dg.documentation.files.antstructure-request.xsd" depends="p5dg:properties,p5dg:documentation.ant.dtd2xsd.pl.fix.xsd" description="to make wsdl proxy aviable">
+        
+        <xslt basedir="${p5dg.temp}" style="${p5dg.documentation_generator.xsl}" in="${p5dg.documentation.files.antstructure.xsd}"   out="${p5dg.documentation.files.antstructure-request.xsd}"  >
+            <factory name="net.sf.saxon.TransformerFactoryImpl">    
+                <attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>
+                <attribute name="http://saxon.sf.net/feature/initialMode" value="{http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd}documentation.files.antstructure-request.xsd"/>
+            </factory>
+            <classpath location="/opt/local/share/java/saxon9he.jar"/>
+            <param name="p5build_SE.build" expression="${p5build_SE.build}"/>
+            <param name="p5dg.repository.dita" expression="${p5dg.repository.dita}"/>
+            <param name="p5dg.temp" expression="${p5dg.temp}"/>
+            <param name="p5dg.repository" expression="${p5dg.repository}"/>
+            <param name="p5dg.documentation.files.index.root_dir" expression="${p5dg.documentation.files.index.root_dir}"/>
+            <param name="p5dg.documentation.files.index.excludes.regex" expression="${p5dg.documentation.files.index.excludes.regex}"/>
+            <param name="p5ant.xsl" expression="${p5ant.xsl}"/>
+        </xslt>
+        
+    </target>
+    
+    <target name="p5dg.documentation.files.antstructure-resp.xsd" depends="p5dg:properties,p5dg.documentation.files.antstructure-request.xsd" description="to make wsdl proxy aviable">
+        
+        <xslt basedir="${p5dg.temp}" style="${p5dg.documentation_generator.xsl}" in="${p5dg.documentation.files.antstructure.xsd}"   out="${p5dg.documentation.files.antstructure-resp.xsd}"  >
+            <factory name="net.sf.saxon.TransformerFactoryImpl">    
+                <attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>
+                <attribute name="http://saxon.sf.net/feature/initialMode" value="{http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd}documentation.files.antstructure-resp.xsd"/>
+            </factory>
+            <classpath location="/opt/local/share/java/saxon9he.jar"/>
+            <param name="p5build_SE.build" expression="${p5build_SE.build}"/>
+            <param name="p5dg.repository.dita" expression="${p5dg.repository.dita}"/>
+            <param name="p5dg.temp" expression="${p5dg.temp}"/>
+            <param name="p5dg.repository" expression="${p5dg.repository}"/>
+            <param name="p5dg.documentation.files.index.root_dir" expression="${p5dg.documentation.files.index.root_dir}"/>
+            <param name="p5dg.documentation.files.index.excludes.regex" expression="${p5dg.documentation.files.index.excludes.regex}"/>
+            <param name="p5ant.xsl" expression="${p5ant.xsl}"/>
+        </xslt>
+        
+    </target>
+    
+    
+    
+
+    <target name="p5dg:documentation.files.index" depends="p5dg:properties" description="to have the index of all files to generate docimentation">
+        <echo>#156 p5dg:documentation.files.index</echo>
+        <ant antfile="${p5suis.build}" target="p5suis:say_to_queue">
+            <property name="p5suis:say_text" value="generating documentation index list" />
+        </ant>
+        <!--<ant antfile="${system_ui_info_speech}" target="p5suis:say_from_queue"/>-->
+        
+        
+        <fileset id="p5dg.documentation.files.index.fileset" dir="${p5dg.documentation.files.index.root_dir}"  excludes="(.*recurse_cache.*)|(.*/temp/.*)"  >
+            <exclude name="${p5dg.documentation.files.index.excludes1}"/>
+            <exclude name="${p5dg.documentation.files.index.excludes2}"/>
+            <exclude name="${p5dg.documentation.files.index.excludes3}"/>
+            
+            <include name="${p5dg.documentation.files.index.includes1}"/>
+            <include name="${p5dg.documentation.files.index.includes2}"/>
+            <include name="${p5dg.documentation.files.index.includes3}"/>
+            
+            <exclude name="${p5dg.documentation.files.index.excludes1}"/>
+            <exclude name="${p5dg.documentation.files.index.excludes2}"/>
+            <exclude name="${p5dg.documentation.files.index.excludes3}"/>
+        </fileset>
+        
+        <property name="p5dg.documentation.files.index.fileset" refid="p5dg.documentation.files.index.fileset"/>
+        <!--<tempfile property="p5suis:say_queue.file" destdir="${system_ui_info_speech_basedir_temp}" prefix="say_queue.file_" suffix=".xml" deleteonexit="yes"/>-->
+        
+        <echoxml file="${p5dg.documentation.files.index.xml}" namespacepolicy="all">
+            <p5dg.documentation.files.index.xml xmlns="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd">
+                ${p5dg.documentation.files.index.fileset}
+            </p5dg.documentation.files.index.xml>
+        </echoxml>
+    </target>
+    
+    
+    <!-- p5dg:documentation.files.index -->
+    <target name="p5dg.documentation.files.index_fileset.xml" depends="p5dg:properties,p5dg:documentation.files.index"  description="To optimize and index files"> <!-- depends="p5dg:documentation.files.index" -->
+        <ant antfile="${p5suis.build}" target="p5suis:say_to_queue">
+            <property name="p5suis:say_text" value="file index optimize" />
+        </ant>
+        <xslt basedir="${p5dg.temp}" style="${p5dg.documentation_generator.xsl}" in="${p5dg.documentation.files.index.xml}"   out="${p5dg.documentation.files.index_fileset.xml}" force="true"  >
+            <factory name="net.sf.saxon.TransformerFactoryImpl">    
+                <attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>
+                <attribute name="http://saxon.sf.net/feature/initialMode" value="{http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd}p5dg.documentation.files.index_fileset.xml"/>
+            </factory>
+            <classpath location="/opt/local/share/java/saxon9he.jar"/>
+            <param name="p5build_SE.build" expression="${p5build_SE.build}"/>
+            <param name="p5dg.repository.dita" expression="${p5dg.repository.dita}"/>
+            <param name="p5dg.temp" expression="${p5dg.temp}"/>
+            <param name="p5dg.repository" expression="${p5dg.repository}"/>
+            <param name="p5dg.documentation.files.index.root_dir" expression="${p5dg.documentation.files.index.root_dir}"/>
+            <param name="p5dg.documentation.files.index.excludes.regex" expression="${p5dg.documentation.files.index.excludes.regex}"/>
+            
+        </xslt>
+    </target>
+    
+    <!-- p5dg.documentation.files.index_fileset.xml -->
+    <target name="p5dg.documentation.files.index_analyzed.xml" depends="p5dg:properties,p5dg.documentation.files.index_fileset.xml"  description="To optimize and index files"> <!-- depends="p5dg:documentation.files.index" -->
+        <ant antfile="${p5suis.build}" target="p5suis:say_to_queue">
+            <property name="p5suis:say_text" value="file index structurized directory " />
+        </ant>
+        <xslt basedir="${p5dg.temp}" style="${p5dg.documentation_generator.xsl}" in="${p5dg.documentation.files.index_fileset.xml}"   out="${p5dg.documentation.files.index_analyzed.xml}" force="true"  >
+            <factory name="net.sf.saxon.TransformerFactoryImpl">    
+                <attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>
+                <attribute name="http://saxon.sf.net/feature/initialMode" value="{http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd}p5dg.documentation.files.index_analyzed.xml"/>
+            </factory>
+            <classpath location="/opt/local/share/java/saxon9he.jar"/>
+            <param name="p5build_SE.build" expression="${p5build_SE.build}"/>
+            <param name="p5dg.repository.dita" expression="${p5dg.repository.dita}"/>
+            <param name="p5dg.temp" expression="${p5dg.temp}"/>
+            <param name="p5dg.repository" expression="${p5dg.repository}"/>
+            <param name="p5dg.documentation.files.index.root_dir" expression="${p5dg.documentation.files.index.root_dir}"/>
+            <param name="p5dg.documentation.files.index.excludes.regex" expression="${p5dg.documentation.files.index.excludes.regex}"/>
+        </xslt>
+    </target>
+    
+    <target name="p5dg.documentation.files.index_analyzed_structurized.xml" depends="p5dg:properties,p5dg.documentation.files.index_analyzed.xml"  > <!-- depends="p5dg.documentation.files.index_analyzed.xml" -->
+        <ant antfile="${p5suis.build}" target="p5suis:say_to_queue">
+            <property name="p5suis:say_text" value="Building structurized directory tree" />
+        </ant>
+        <xslt basedir="${p5dg.temp}" style="${p5dg.documentation_generator.xsl}" in="${p5dg.documentation.files.index_analyzed.xml}"   out="${p5dg.documentation.files.index_analyzed_structurized.xml}" force="true"  >
+            <factory name="net.sf.saxon.TransformerFactoryImpl">    
+                <attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>
+                <attribute name="http://saxon.sf.net/feature/initialMode" value="{http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd}p5dg.documentation.files.index_analyzed_structurized.xml"/>
+            </factory>
+            <classpath location="/opt/local/share/java/saxon9he.jar"/>
+            <param name="p5build_SE.build" expression="${p5build_SE.build}"/>
+            <param name="p5dg.repository.dita" expression="${p5dg.repository.dita}"/>
+            <param name="p5dg.temp" expression="${p5dg.temp}"/>
+            <param name="p5dg.repository" expression="${p5dg.repository}"/>
+            <param name="p5dg.documentation.files.index.root_dir" expression="${p5dg.documentation.files.index.root_dir}"/>
+            <param name="p5dg.documentation.files.index.excludes.regex" expression="${p5dg.documentation.files.index.excludes.regex}"/>
+        </xslt>
+    </target>
+    
+    <!-- p5dg.documentation.files.index_analyzed.xml  ,p5ant.PRODUCT.p5ant.PRODUCT-->
+    <target name="p5dg:p5ant.include.structure" depends="p5dg:properties,p5dg.documentation.files.index_analyzed_structurized.xml"  description="to build structure of ant files to allow creation dependencies maps and documentations"> <!-- depends="p5dg:documentation.files.index" -->
+        <ant antfile="${p5suis.build}" target="p5suis:say_to_queue">
+            <property name="p5suis:say_text" value="exploding ant structures" />
+        </ant>
+        <xslt basedir="${p5dg.temp}" style="${p5dg.documentation_generator.xsl}" in="${p5dg.documentation.files.index_analyzed_structurized.xml}"   out="${p5ant.include.structure.xml}"  force="true" >
+            <factory name="net.sf.saxon.TransformerFactoryImpl">    
+                <attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>
+                <attribute name="http://saxon.sf.net/feature/initialMode" value="{http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd}p5ant.include.structure"/>
+            </factory>
+            <classpath location="/opt/local/share/java/saxon9he.jar"/>
+            <param name="p5build_SE.build" expression="${p5build_SE.build}"/>
+            <param name="p5dg.repository.dita" expression="${p5dg.repository.dita}"/>
+            <param name="p5dg.temp" expression="${p5dg.temp}"/>
+            <param name="p5dg.repository" expression="${p5dg.repository}"/>
+            <param name="p5dg.documentation.files.index.root_dir" expression="${p5dg.documentation.files.index.root_dir}"/>
+            <param name="p5dg.documentation.files.index.excludes.regex" expression="${p5dg.documentation.files.index.excludes.regex}"/>
+            <param name="p5ant.xsl" expression="${p5ant.xsl}"/>
+        </xslt>
+    </target>
+    
+    <!-- p5dg:p5ant.include.structure -->
+    
+    
+    
+    <target name="graph:graph.graph-to-analyze-property.xml" depends="p5dg:properties,p5dg:p5ant.include.structure"  description="to build structure of ant files to allow creation dependencies maps and documentations"> <!-- depends="p5dg:documentation.files.index" -->
+        <ant antfile="${p5suis.build}" target="p5suis:say_to_queue">
+            <property name="p5suis:say_text" value="evaluating and variables and others" />
+        </ant>
+        <xslt basedir="${p5dg.temp}" style="${graph.xsl}" in="${p5ant.include.structure.xml}"   out="${graph.graph-to-analyze-property.xml}"  force="true" >
+            <factory name="net.sf.saxon.TransformerFactoryImpl">    
+                <attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>
+                <attribute name="http://saxon.sf.net/feature/initialMode" value="{http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/graph/graph.xsd}graph.graph-to-analyze-property.xml"/>
+            </factory>
+            <classpath location="/opt/local/share/java/saxon9he.jar"/>
+        </xslt>
+    </target>
+    
+    
+    
+    <!-- p5dg:p5ant.include.structure -->
+    <target name="graph:graph.graph-to-analyze.xml" depends="p5dg:properties,graph:graph.graph-to-analyze-property.xml,p5dg:p5ant.include.structure"  description="to build structure of ant files to allow creation dependencies maps and documentations"> <!-- depends="p5dg:p5ant.include.structure" -->
+        <ant antfile="${p5suis.build}" target="p5suis:say_to_queue">
+            <property name="p5suis:say_text" value="evaluating and variables and others" />
+        </ant>
+        <xslt basedir="${p5dg.temp}" style="${graph.xsl}" in="${p5ant.include.structure.xml}"   out="${graph.graph-to-analyze.xml}"  force="true" >
+            <factory name="net.sf.saxon.TransformerFactoryImpl">    
+                <attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>
+                <attribute name="http://saxon.sf.net/feature/initialMode" value="{http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/graph/graph.xsd}graph.graph-to-analyze.xml"/>
+            </factory>
+            <param name="graph.graph-to-analyze-property.xml" expression="${graph.graph-to-analyze-property.xml}"/>
+            <classpath location="/opt/local/share/java/saxon9he.jar"/>
+          
+        </xslt>
+    </target>
+    
+    <extension-point name="graph.graph-to-analyze.xml.ep" depends="p5dg:properties,graph:graph.graph-to-analyze.xml,graph:graph.graph-to-analyze-property.xml"/>
+    
+    
+    <target name="graph:graph.graph-to-nodes.xml" depends="p5dg:properties,graph.graph-to-analyze.xml.ep"> <!-- depends="graph.graph-to-analyze.xml.ep" -->
+        <ant antfile="${p5suis.build}" target="p5suis:say_to_queue">
+            <property name="p5suis:say_text" value="making ant graph nodes" />
+        </ant>
+        <xslt basedir="${p5dg.temp}" style="${graph.xsl}" in="${graph.graph-to-analyze.xml}"   out="${graph.graph.graph-to-nodes.xml}"  force="true" >
+            <factory name="net.sf.saxon.TransformerFactoryImpl">    
+                <attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>
+                <attribute name="http://saxon.sf.net/feature/initialMode" value="{http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/graph/graph.xsd}graph.graph-to-nodes.xml"/>
+            </factory>
+            <classpath location="/opt/local/share/java/saxon9he.jar"/>
+        </xslt>
+    </target>
+    
+    <!--<target name="p5dh:exampleWsdlResponseSoap">
+        <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+            <soap:Body>
+                <GetCitiesByCountryResponse xmlns="http://www.webserviceX.NET">
+                    <GetCitiesByCountryResult>&lt;NewDataSet&gt; &lt;Table&gt;
+                        &lt;Country&gt;Poland&lt;/Country&gt; &lt;City&gt;Gdansk-Rebiechowo&lt;/City&gt;
+                        &lt;/Table&gt; &lt;Table&gt; &lt;Country&gt;Poland&lt;/Country&gt;
+                        &lt;City&gt;Krakow&lt;/City&gt; &lt;/Table&gt; &lt;Table&gt;
+                        &lt;Country&gt;Poland&lt;/Country&gt; &lt;City&gt;Koszalin&lt;/City&gt;
+                        &lt;/Table&gt; &lt;Table&gt; &lt;Country&gt;Poland&lt;/Country&gt;
+                        &lt;City&gt;Katowice&lt;/City&gt; &lt;/Table&gt; &lt;Table&gt;
+                        &lt;Country&gt;Poland&lt;/Country&gt; &lt;City&gt;Poznan&lt;/City&gt; &lt;/Table&gt;
+                        &lt;Table&gt; &lt;Country&gt;Poland&lt;/Country&gt;
+                        &lt;City&gt;Rzeszow-Jasionka&lt;/City&gt; &lt;/Table&gt; &lt;Table&gt;
+                        &lt;Country&gt;Poland&lt;/Country&gt; &lt;City&gt;Szczecin&lt;/City&gt;
+                        &lt;/Table&gt; &lt;Table&gt; &lt;Country&gt;Poland&lt;/Country&gt;
+                        &lt;City&gt;Warszawa-Okecie&lt;/City&gt; &lt;/Table&gt; &lt;Table&gt;
+                        &lt;Country&gt;Poland&lt;/Country&gt; &lt;City&gt;Wroclaw Ii&lt;/City&gt;
+                        &lt;/Table&gt; &lt;Table&gt; &lt;Country&gt;Poland&lt;/Country&gt;
+                        &lt;City&gt;Zielona Gora&lt;/City&gt; &lt;/Table&gt;
+                        &lt;/NewDataSet&gt;</GetCitiesByCountryResult>
+                </GetCitiesByCountryResponse>
+            </soap:Body>
+        </soap:Envelope>
+        
+    </target>-->
+    
+    
+  
+    <target name="p5dg:generate_documentation" depends="p5dg:properties,PRODUCT.basedir,p5dg:documentation.files.index"  description="to generate documentation of ant builds and properties and others">
+        <echo>#12 test public_html = ${public_html}
+            p5dg.basedir ${p5dg.basedir}
+        </echo>
+        <echo> build_WPS_Functions.childproperties.builds.xml ${build_WPS_Functions.childproperties.builds.xml}</echo>
+        <parallel threadcount="2" >
+            <sequential>
+                <antcall target="p5dg.documentation.files.antstructure-resp.xsd"/>
+            </sequential>
+            <sequential>
+                <antcall target="graph:graph.graph-to-nodes.xml"/>
+            </sequential>
+        </parallel>
+        
+        
+    </target>
+  
+  
+    <target name="p5dg:write_childproperties" depends="p5dg:properties">
+        <echoproperties destfile="${p5dg.childproperties}"/>
+        <echo> DEBUG echoproperties to ${p5dg.childproperties} </echo>
+    </target>
+    
+    <!--<target name="p5dg:basedir" depends="p5dg:properties" description="to handle module repository files, tempfiles etc by included handler ">
+        <antcall target="p5bws.p5bws:dirs" inheritall="false">
+            <propertyset refid="p5dg.local.properties"/>
+        </antcall>
+    </target>-->
+    
+    <!--<target name="p5dg:clean" depends="p5dg:properties" description="To delete all temp and repository">
+        <antcall target="p5bws.p5bws:dirs.clean" inheritall="false">
+            <propertyset refid="p5dg.local.properties"/>
+        </antcall>
+    </target>-->
+    
+    <!--<target name="p5dg:clean.temp" depends="p5dg:properties" description="To delete all temp and repository">
+        <antcall target="p5bws.p5bws:dirs.temp.clean" inheritall="false">
+            <propertyset refid="p5dg.local.properties"/>
+        </antcall>
+    </target>-->
+    
+    
+  
+</project>

+ 375 - 0
SE/schema/WPS_Functions/documentation_generator/documentation_generator.xsl

@@ -0,0 +1,375 @@
+<?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:p5dg="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd"
+    xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
+    xmlns:SystemObjects__x3A__File="https://biuro.biall-net.pl/wfs/default_db/SystemObjects/File.xsd"
+    xmlns:p5ant-interface-resp="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/ant_interface/ant_interface-resp.xsd"
+    xmlns:p5ant="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache.public/ant/ant.xsd"
+    exclude-result-prefixes="xs"
+    version="2.0">
+    
+    
+    
+    <xsl:output indent="yes"/>
+    <xsl:strip-space elements="*"/>
+    <!--<xsl:import-schema  schema-location="repository/p5dg.documentation.files.antstructure-resp.xsd" namespace="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/ant_interface/ant_interface-resp.xsd"/>-->
+    
+
+    
+    <xsl:param name="p5build_SE.build" required="yes"/>
+    <xsl:param name="p5dg.repository.dita" required="yes"/>
+    <xsl:param name="p5dg.temp" required="yes"/>
+    <xsl:param name="p5dg.repository" required="yes"/>
+    <xsl:param name="p5dg.documentation.files.index.root_dir" required="yes"/>
+    <xsl:param name="p5dg.documentation.files.index.excludes.regex" required="yes"/>
+    <!--<xsl:param name="p5ant.xsl"  required="yes"/>-->
+    <xsl:include href="../ant/p5ant.xsl"/>
+    
+    
+    <xsl:function name="p5dg:filepath.dir">
+        <xsl:param name="p5dg:filepath"/>
+        <xsl:for-each select="tokenize($p5dg:filepath,'/')[ position() &lt; count(tokenize($p5dg:filepath,'/'))]">
+            <xsl:value-of select="."/><xsl:if test="not( position() = last())"><xsl:text>/</xsl:text></xsl:if>
+        </xsl:for-each>
+    </xsl:function>
+    
+    <xsl:function name="p5dg:filepath.dir">
+        <xsl:param name="p5dg:filepath"/>
+        <xsl:param name="p5dg.documentation.files.index.root_dir"/>
+        <xsl:value-of select="$p5dg.documentation.files.index.root_dir"/><xsl:text>/</xsl:text>
+        <xsl:for-each select="tokenize($p5dg:filepath,'/')[ position() &lt; count(tokenize($p5dg:filepath,'/'))]">
+            <xsl:value-of select="."/><xsl:if test="not( position() = last())"><xsl:text>/</xsl:text></xsl:if>
+        </xsl:for-each>
+    </xsl:function>
+    
+    
+    <xsl:function name="p5dg:filename">
+        <xsl:param name="p5dg:filepath"/>
+        <xsl:value-of select="tokenize($p5dg:filepath,'/')[ position() = count(tokenize($p5dg:filepath,'/'))]"/>
+    </xsl:function>
+    
+    
+    <!--<xsl:template match="p5dg:p5dg.documentation.files.index_analyzed.xml" mode="p5dg:p5ant.include.structure">
+        <xsl:apply-templates mode="#current"/>
+    </xsl:template>-->
+    
+    
+    <xsl:template mode="p5dg:p5dg.documentation.files.index_fileset.xml" match="p5dg:p5dg.documentation.files.index.xml" xpath-default-namespace="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd">
+        <p5dg:p5dg.documentation.files.index_fileset.xml>
+            <xsl:for-each select="tokenize(text(),';')">
+                <p5dg:p5dg.file>
+                    <p5dg:filepath.dir><xsl:value-of select="p5dg:filepath.dir(.,$p5dg.documentation.files.index.root_dir)"/></p5dg:filepath.dir>
+                    <p5dg:filename><xsl:value-of select="p5dg:filename(.)"/></p5dg:filename>
+                </p5dg:p5dg.file>
+            </xsl:for-each>
+        </p5dg:p5dg.documentation.files.index_fileset.xml>
+    </xsl:template>
+    
+    <xsl:template mode="p5dg:p5dg.documentation.files.index_analyzed.xml" match="p5dg:p5dg.documentation.files.index_fileset.xml" xpath-default-namespace="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd">
+        <p5dg:p5dg.documentation.files.index_analyzed.xml>
+            <xsl:for-each-group select="p5dg:p5dg.file" group-by="p5dg:filepath.dir">
+                <xsl:sort select="p5dg:filepath.dir"/>
+                <xsl:choose>
+                    <xsl:when test=" matches(p5dg:filepath.dir,$p5dg.documentation.files.index.excludes.regex)">
+                        <xsl:comment>#62 excluded p5dg:filepath.dir=<xsl:value-of select="p5dg:filepath.dir"/> by $p5dg.documentation.files.index.excludes.regex: </xsl:comment>
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <p5ant:filelist>
+                            <xsl:attribute name="dir" select="p5dg:filepath.dir"/>
+                            <xsl:variable name="dir.tokens" select="count(tokenize(p5dg:filepath.dir,'/'))"/>
+                            <xsl:choose>
+                                <xsl:when test="substring(p5dg:filepath.dir, string-length(p5dg:filepath.dir), 1) = '/'">
+                                    <xsl:attribute name="dir.tokens" select="$dir.tokens - 1"/>
+                                </xsl:when>
+                                <xsl:otherwise>
+                                    <xsl:attribute name="dir.tokens" select="$dir.tokens"/>
+                                </xsl:otherwise>
+                            </xsl:choose>
+                            
+                            <xsl:for-each select="current-group()">
+                                <xsl:sort select="p5dg:filename"/>
+                                <p5ant:file>
+                                    <xsl:attribute name="name" select="p5dg:filename"/>
+                                </p5ant:file>
+                            </xsl:for-each>
+                        </p5ant:filelist>
+                    </xsl:otherwise>
+                </xsl:choose>
+            </xsl:for-each-group>
+<!--                <XSDComponent: Name:filelist Type:filelist Namespace:http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/ant_interface/ant_interface-resp.xsd 
+                    Location:file:/Users/a.binder/Documents/xmlschema_procesy5/src-xmlschema/public_html/WPS_Functions/documentation_generator/repository/p5dg.documentation.files.antstructure-resp.xsd>
+                </XSDComponent>-->
+                <!--<SystemObjects__x3A__File:File>-->
+                    <!--<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
+                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+                        <soap:Body>
+                            <GetCitiesByCountryResponse xmlns="http://www.webserviceX.NET">
+                                <GetCitiesByCountryResult>&lt;NewDataSet&gt; &lt;Table&gt;
+                                    &lt;Country&gt;Poland&lt;/Country&gt; &lt;City&gt;Gdansk-Rebiechowo&lt;/City&gt;
+                                    &lt;/Table&gt; &lt;Table&gt; &lt;Country&gt;Poland&lt;/Country&gt;
+                                    &lt;City&gt;Krakow&lt;/City&gt; &lt;/Table&gt; &lt;Table&gt;
+                                    &lt;Country&gt;Poland&lt;/Country&gt; &lt;City&gt;Koszalin&lt;/City&gt;
+                                    &lt;/Table&gt; &lt;Table&gt; &lt;Country&gt;Poland&lt;/Country&gt;
+                                    &lt;City&gt;Katowice&lt;/City&gt; &lt;/Table&gt; &lt;Table&gt;
+                                    &lt;Country&gt;Poland&lt;/Country&gt; &lt;City&gt;Poznan&lt;/City&gt; &lt;/Table&gt;
+                                    &lt;Table&gt; &lt;Country&gt;Poland&lt;/Country&gt;
+                                    &lt;City&gt;Rzeszow-Jasionka&lt;/City&gt; &lt;/Table&gt; &lt;Table&gt;
+                                    &lt;Country&gt;Poland&lt;/Country&gt; &lt;City&gt;Szczecin&lt;/City&gt;
+                                    &lt;/Table&gt; &lt;Table&gt; &lt;Country&gt;Poland&lt;/Country&gt;
+                                    &lt;City&gt;Warszawa-Okecie&lt;/City&gt; &lt;/Table&gt; &lt;Table&gt;
+                                    &lt;Country&gt;Poland&lt;/Country&gt; &lt;City&gt;Wroclaw Ii&lt;/City&gt;
+                                    &lt;/Table&gt; &lt;Table&gt; &lt;Country&gt;Poland&lt;/Country&gt;
+                                    &lt;City&gt;Zielona Gora&lt;/City&gt; &lt;/Table&gt;
+                                    &lt;/NewDataSet&gt;</GetCitiesByCountryResult>
+                            </GetCitiesByCountryResponse>
+                        </soap:Body>
+                    </soap:Envelope>-->
+                <!--</SystemObjects__x3A__File:File>-->
+            
+        </p5dg:p5dg.documentation.files.index_analyzed.xml>
+    </xsl:template>
+    
+    <xsl:template mode="p5dg:p5dg.documentation.files.index_analyzed_structurized.xml" match="p5dg:p5dg.documentation.files.index_analyzed.xml" xpath-default-namespace="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd">
+        <p5dg:p5dg.documentation.files.index_analyzed_structurized.xml>
+            <xsl:variable name="context.node" select="p5ant:filelist"/>
+            <xsl:for-each-group select="p5ant:filelist[ position() = 1]" group-by="@dir.tokens">
+                <xsl:sort select="number(@dir.tokens)"/>
+                <xsl:apply-templates mode="#current" select="current-group()">
+                    <xsl:sort select="number(@dir.tokens)"/>
+                    <xsl:with-param name="context.node" select="$context.node"/>
+                </xsl:apply-templates>
+            </xsl:for-each-group>
+        </p5dg:p5dg.documentation.files.index_analyzed_structurized.xml>
+    </xsl:template>
+    
+    
+    
+    <xsl:template match="p5ant:filelist" mode="p5dg:p5dg.documentation.files.index_analyzed_structurized.xml">
+        <xsl:param name="context.node" required="yes"/>
+        <xsl:variable name="dir.tokens" select="@dir.tokens"/>
+        <xsl:variable name="dir" select="@dir"/>
+        <xsl:copy>
+            <xsl:copy-of select="@*"/>
+            <xsl:apply-templates mode="#current" select="$context.node[ contains(@dir,$dir) and number(@dir.tokens) = number($dir.tokens) + 1  ]">
+                    <xsl:sort select="number(@dir.tokens)"/>
+                    <xsl:with-param name="context.node" select="$context.node"/>
+             </xsl:apply-templates>
+            <xsl:choose>
+                <xsl:when test="$context.node[ contains(@dir,$dir) and number(@dir.tokens) = number($dir.tokens) + 1  ]"/>
+                <xsl:when test="$context.node[ contains(@dir,$dir) and number(@dir.tokens) &gt; number($dir.tokens)  ]">
+                    <xsl:for-each-group select="$context.node/p5ant:filelist[ position() = 1 and  contains(@dir,$dir) and number(@dir.tokens) &gt; number($dir.tokens) ]" group-by="@dir.tokens">
+                        <xsl:sort select="number(@dir.tokens)"/>
+                            <xsl:apply-templates mode="#current" select="current-group()">
+                                <xsl:sort select="number(@dir.tokens)"/>
+                                <xsl:with-param name="context.node" select="$context.node"/>
+                            </xsl:apply-templates>
+                    </xsl:for-each-group>
+                </xsl:when>    
+            </xsl:choose>
+            <xsl:apply-templates mode="p5dg:p5dg.documentation.files.index_analyzed_structurized.xml.file"/>
+        </xsl:copy>
+    </xsl:template>
+    
+    <xsl:template match="p5ant:file" mode="p5dg:p5dg.documentation.files.index_analyzed_structurized.xml.file">
+        <xsl:copy-of select="."/>
+    </xsl:template>
+    
+    <xsl:template match="*" mode="p5dg:p5dg.documentation.files.index_analyzed_structurized.xml.file"/>
+        
+    
+    
+    <!--<xsl:template match="*" mode="#all" >
+        <xsl:message terminate="yes">#108 uncorrect input matched name()=<xsl:value-of select="name()"/> ;</xsl:message>
+    </xsl:template>-->
+    
+    <xsl:template match="schema" mode="p5dg:documentation.files.antstructure-request.xsd" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+        <xsl:param name="p5dg:prefix" select="'p5ant-interface-request'"/>
+        <schema xmlns="http://www.w3.org/2001/XMLSchema">
+            <xsl:namespace  name="{$p5dg:prefix}" select="'http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/ant_interface/ant_interface-request.xsd'"/>
+            <!--<xsl:namespace  name="p5ant-interface-resp" select="'http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/ant_interface/ant_interface-resp.xsd'"/>-->
+            <xsl:copy-of select="@vc:minVersion"/>
+            <xsl:attribute name="targetNamespace" select="'http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/ant_interface/ant_interface-request.xsd'"/>
+            <xsl:apply-templates mode="#current" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+                <xsl:with-param name="p5dg:prefix" select="$p5dg:prefix"/>
+            </xsl:apply-templates>
+        </schema>
+    </xsl:template>
+    
+    <xsl:template match="schema" mode="p5dg:documentation.files.antstructure-resp.xsd" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+        <xsl:param name="p5dg:prefix" select="'p5ant-interface-resp'"/>
+        <schema xmlns="http://www.w3.org/2001/XMLSchema">
+            <!--<xsl:namespace  name="p5ant-interface-request" select="'http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/ant_interface/ant_interface-request.xsd'"/>-->
+            <xsl:namespace  name="{$p5dg:prefix}" select="'http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/ant_interface/ant_interface-resp.xsd'"/>
+            <xsl:copy-of select="@vc:minVersion"/>
+            <xsl:attribute name="targetNamespace" select="'http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/ant_interface/ant_interface-resp.xsd'"/>
+            <xsl:apply-templates mode="#current" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+                <xsl:with-param name="p5dg:prefix" select="$p5dg:prefix"/>
+            </xsl:apply-templates>
+        </schema>
+    </xsl:template>
+    
+    
+    <xsl:template match="*" mode="p5dg:documentation.files.antstructure-request.xsd p5dg:documentation.files.antstructure-resp.xsd" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+        <xsl:param name="p5dg:prefix" required="yes"/>
+        <xsl:element name="{name()}" namespace="http://www.w3.org/2001/XMLSchema">
+            <xsl:apply-templates mode="p5dg:documentation.files.antstructure-request.xsd.child" select="@*" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+                <xsl:with-param name="p5dg:prefix" select="$p5dg:prefix"/>
+            </xsl:apply-templates>
+            <xsl:choose>
+                <xsl:when test="attribute" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+                    <xsl:variable name="sequence" select="*[local-name()='sequence' or local-name()='choice' or local-name()='all' ]/name()" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
+                    <xsl:choose>
+                        <xsl:when test=" string-length($sequence)&gt;0">
+                            <xsl:element name="sequence" namespace="http://www.w3.org/2001/XMLSchema" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+                                <xsl:apply-templates mode="p5dg:documentation.files.antstructure-request.xsd.child"  xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+                                    <xsl:with-param name="p5dg:prefix" select="$p5dg:prefix"/>
+                                </xsl:apply-templates>
+                            </xsl:element>
+                        </xsl:when>
+                        <xsl:otherwise>
+                            <xsl:element name="sequence" namespace="http://www.w3.org/2001/XMLSchema" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+                                <xsl:apply-templates mode="p5dg:documentation.files.antstructure-request.xsd.child"  xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+                                    <xsl:with-param name="p5dg:prefix" select="$p5dg:prefix"/>
+                                </xsl:apply-templates> 
+                            </xsl:element>
+                        </xsl:otherwise>
+                    </xsl:choose>
+                    
+                </xsl:when>
+                <xsl:otherwise>
+                    <xsl:apply-templates mode="p5dg:documentation.files.antstructure-request.xsd.child" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+                        <xsl:with-param name="p5dg:prefix" select="$p5dg:prefix"/>
+                    </xsl:apply-templates>
+                </xsl:otherwise>
+            </xsl:choose>
+            
+            <xsl:comment>#70 here</xsl:comment>
+        </xsl:element>
+    </xsl:template>
+    
+    <xsl:template match="@use|@minOccurs|@maxOccurs" mode="p5dg:documentation.files.antstructure-request.xsd.child" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
+    
+    <xsl:template match="@*" mode="p5dg:documentation.files.antstructure-request.xsd.child" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+        <xsl:param name="p5dg:prefix" required="yes"/>
+        <xsl:choose>
+            <xsl:when test="substring-before(.,':')='p5ant'">
+                <xsl:attribute name="{name()}" select="concat($p5dg:prefix,':', substring-after(.,':'))" />
+            </xsl:when>
+            <xsl:otherwise><xsl:copy-of select="."/></xsl:otherwise>
+        </xsl:choose>
+    </xsl:template>
+    
+    
+    
+    
+    <xsl:template match="*" mode="p5dg:documentation.files.antstructure-request.xsd.child" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+        <xsl:param name="p5dg:prefix" required="yes"/>
+        <xsl:element name="{name()}" namespace="http://www.w3.org/2001/XMLSchema">
+            <!--<xsl:attribute name="p5dg:forced.86">tak</xsl:attribute>-->
+            <xsl:apply-templates mode="#current" select="@*" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+                <xsl:with-param name="p5dg:prefix" select="$p5dg:prefix"/>
+            </xsl:apply-templates>
+            
+                    <xsl:apply-templates mode="#current" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+                        <xsl:with-param name="p5dg:prefix" select="$p5dg:prefix"/>
+                    </xsl:apply-templates> 
+            
+        </xsl:element>
+    </xsl:template>
+    
+    <!--<xsl:template match="*" mode="p5dg:documentation.files.antstructure-request.xsd.child" >
+        <xsl:param name="p5dg:prefix" required="yes"/>
+        <xsl:element name="{name()}" namespace="http://www.w3.org/2001/XMLSchema">
+            <xsl:attribute name="p5dg:forced.109">tak</xsl:attribute>
+            <xsl:apply-templates mode="#current" select="@*" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+                <xsl:with-param name="p5dg:prefix" select="$p5dg:prefix"/>
+            </xsl:apply-templates>
+        </xsl:element>
+    </xsl:template>-->
+    
+    <xsl:template match="attribute" mode="p5dg:documentation.files.antstructure-request.xsd.child" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+        <xsl:param name="p5dg:prefix" required="yes"/>
+        <xsl:element name="element" namespace="http://www.w3.org/2001/XMLSchema">
+            <!--<xsl:attribute name="p5dg:forced.86">tak</xsl:attribute>-->
+            <xsl:apply-templates mode="#current" select="@*" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+                <xsl:with-param name="p5dg:prefix" select="$p5dg:prefix"/>
+            </xsl:apply-templates>
+        </xsl:element>
+    </xsl:template>
+    
+    
+    <xsl:template match="schema" mode="p5dg:documentation.ant.dtd2xsd.pl.fix.xsd" xpath-default-namespace="http://www.w3.org/2000/10/XMLSchema">
+        <schema vc:minVersion="1.1" xmlns="http://www.w3.org/2001/XMLSchema">
+            <xsl:namespace  name="p5ant" select="'http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache.public/ant/ant.xsd'"/>
+            <!--<xsl:namespace  name="xs" select="'http://www.w3.org/2001/XMLSchema'"/>-->
+            <xsl:copy-of select="@*"/>
+            <xsl:comment>#179 making public simpleTypes to controll deriviation</xsl:comment>
+            <xsl:for-each-group select="*//attribute" group-by="concat(@name,@type)" xpath-default-namespace="http://www.w3.org/2000/10/XMLSchema">
+                <xsl:element name="simpleType" namespace="http://www.w3.org/2001/XMLSchema" inherit-namespaces="yes">
+                    <xsl:attribute name="name" select="concat(@name,'_simpleType_',@type)"/>
+                    <xsl:if test="@type"><restriction base="{@type}" /></xsl:if> <!-- namespace="http://www.w3.org/2001/XMLSchema" -->
+                </xsl:element>
+            </xsl:for-each-group>
+            <!--<debug_attrs>
+                <xsl:copy-of select="*//attribute"/>
+            </debug_attrs>-->
+            <xsl:for-each-group select="*" group-by="concat(@name,local-name())" xpath-default-namespace="http://www.w3.org/2000/10/XMLSchema">
+                <xsl:apply-templates mode="p5dg:documentation.ant.dtd2xsd.pl.fix.xsd.rootElements" select="." xpath-default-namespace="http://www.w3.org/2000/10/XMLSchema"/>
+                <xsl:apply-templates mode="p5dg:documentation.ant.dtd2xsd.pl.fix.xsd.rootComplexTypes" select="." xpath-default-namespace="http://www.w3.org/2000/10/XMLSchema"/>
+            </xsl:for-each-group>
+        </schema>
+    </xsl:template>
+    
+    
+    <xsl:template match="*" mode="p5dg:documentation.ant.dtd2xsd.pl.fix.xsd.rootElements p5dg:documentation.ant.dtd2xsd.pl.fix.xsd.rootComplexTypes">
+        <missed.45>
+            <xsl:copy-of select="."/>
+            <xsl:message terminate="yes">#198 shouldnt be terminated!</xsl:message>
+        </missed.45>
+    </xsl:template>
+    
+    <xsl:template match="element[complexType]" mode="p5dg:documentation.ant.dtd2xsd.pl.fix.xsd.rootComplexTypes" xpath-default-namespace="http://www.w3.org/2000/10/XMLSchema">
+        <xsl:element name="element" namespace="http://www.w3.org/2001/XMLSchema">
+            <xsl:attribute name="type" select="concat('p5ant:',@name)"/>
+            <xsl:attribute name="name" select="@name"/>
+        </xsl:element>
+    </xsl:template>
+    
+    <xsl:template match="element[complexType]" mode="p5dg:documentation.ant.dtd2xsd.pl.fix.xsd.rootElements" xpath-default-namespace="http://www.w3.org/2000/10/XMLSchema">
+        <xsl:element name="complexType" namespace="http://www.w3.org/2001/XMLSchema" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+            <xsl:copy-of select="@*"/>
+            <xsl:apply-templates mode="p5dg:documentation.ant.dtd2xsd.pl.fix.xsd" select="complexType/*" xpath-default-namespace="http://www.w3.org/2000/10/XMLSchema"/>
+        </xsl:element>
+    </xsl:template>
+    
+    <xsl:template match="@*" mode="p5dg:documentation.ant.dtd2xsd.pl.fix.xsd.simpleType" xpath-default-namespace="http://www.w3.org/2000/10/XMLSchema">
+        <xsl:copy-of select="."/>
+    </xsl:template>
+    
+    <xsl:template match="@type" mode="p5dg:documentation.ant.dtd2xsd.pl.fix.xsd.simpleType" xpath-default-namespace="http://www.w3.org/2000/10/XMLSchema">
+        
+        <xsl:attribute name="{name()}" select="concat('p5ant:',current(),'_simpleType',../@name)"/>
+    </xsl:template>
+    
+    <xsl:template match="attribute" mode="p5dg:documentation.ant.dtd2xsd.pl.fix.xsd" xpath-default-namespace="http://www.w3.org/2000/10/XMLSchema">
+        <xsl:element name="{local-name()}" namespace="http://www.w3.org/2001/XMLSchema" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+            <!--<xsl:copy-of select="@*"/>-->
+            <xsl:apply-templates select="@*" mode="p5dg:documentation.ant.dtd2xsd.pl.fix.xsd.simpleType"/>
+            <xsl:apply-templates mode="p5dg:documentation.ant.dtd2xsd.pl.fix.xsd" />
+        </xsl:element>
+    </xsl:template>
+    
+    <xsl:template match="*" mode="p5dg:documentation.ant.dtd2xsd.pl.fix.xsd">
+        <xsl:element name="{local-name()}" namespace="http://www.w3.org/2001/XMLSchema" xpath-default-namespace="http://www.w3.org/2001/XMLSchema">
+            <xsl:copy-of select="@*"/>
+            <xsl:apply-templates mode="p5dg:documentation.ant.dtd2xsd.pl.fix.xsd" />
+        </xsl:element>
+    </xsl:template>
+    
+    <xsl:template match="SystemObjects__x3A__File:func" mode="SystemObjects__x3A__File:name">
+        
+    </xsl:template>
+    
+</xsl:stylesheet>

+ 521 - 0
SE/schema/WPS_Functions/documentation_generator/graph.xsl

@@ -0,0 +1,521 @@
+<?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:wfs="http://www.opengis.net/wfs"
+    xmlns:gml="http://www.opengis.net/gml"
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:p5dg="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd"
+    xmlns:get_wfs_recurse_xsl="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/get_wfs_recurse_xsl.xsd"
+    xmlns:y="http://www.yworks.com/xml/graphml"
+    xmlns:graph="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/graph/graph.xsd"
+    xmlns:p5ant="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache.public/ant/ant.xsd"
+    exclude-result-prefixes="xs"
+    version="2.0">
+    <xsl:output indent="yes"/>
+    <xsl:strip-space elements="*"/>
+    
+    <xsl:param name="nazwisko" select="'siurni'"/>
+    <xsl:param name="limit_rec" select="99999999"/>
+    <xsl:param name="graph_title" select="'Arkadiusz Binder/RIP Graficzna prezentacja wybranych par raportu dla podanych KRS 2017-08-09'"/>
+    <xsl:param name="graph_desc" select="'Uwaga - limit 10 umow'"/>
+    
+    <xsl:param name="bypass_nodes_string" select="'(.*XXXXBI_audit_MSIG_nameXXXX.*)|(.*BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row)'"/>
+    <xsl:param name="not_bypass_nodes_string" select="'xxxxxxxBI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object'"/>
+    
+    <xsl:param name="graph:debug" select="0"/>
+    
+    <xsl:param name="graph.graph-to-analyze-property.xml"/>
+    
+    <xsl:template name="graph:property.evaluated">
+        <xsl:param name="property.name" required="yes"/>
+        <xsl:param name="graph:property.eval" required="yes"/>
+        <xsl:param name="p5dg:p5ant.include.structure" required="yes"/>
+        <xsl:param name="graph:property.evaluated.recurse_level" select="1"/>
+        <xsl:param name="p5ant:dir" required="yes"/>
+        <xsl:param name="p5dg:basedir" required="yes"/>
+        <!--<xsl:variable name="graph:property.eval.esc" select="replace($graph:property.eval,'\$','\\\$')"/>-->
+        <xsl:choose>
+            <xsl:when test="$graph:property.evaluated.recurse_level &gt; 5">
+                <xsl:message>#38 ERROR RECURSE $graph:property.evaluated.recurse_level=<xsl:value-of select="$graph:property.evaluated.recurse_level"/></xsl:message>
+                <graph:property.evaluated.recurse_level>
+                    <xsl:attribute name="graph:property.evaluated.recurse_level" select="$graph:property.evaluated.recurse_level"/>
+                </graph:property.evaluated.recurse_level>
+            </xsl:when>
+            <xsl:when test=" contains($graph:property.eval,'\$') or 1=1">
+                <xsl:variable name="tokens">
+                    <tokens>
+                        <!--<xsl:attribute name="graph:property.eval.esc" select="$graph:property.eval.esc"/>-->
+                    <xsl:for-each select="tokenize($graph:property.eval,'\$\{')">
+                        <xsl:variable name="ifeval" select="contains(.,'}')"/>
+                        
+                        <lt>
+                            <xsl:attribute name="ifeval" select="$ifeval"/>
+                            <xsl:attribute name="pos" select="position()"/>
+                            <xsl:attribute name="val" select="."/>
+                            <xsl:for-each select="tokenize(.,'\}')">
+                                <rt>
+                                    <xsl:attribute name="pos" select="position()"/>
+                                    <xsl:value-of select="."/>
+                                </rt>
+                            </xsl:for-each>
+                        </lt>
+                </xsl:for-each>
+                    </tokens>
+                </xsl:variable>
+                <!--<xsl:variable name="property.value" select=" replace($graph:property.eval,'\$','\\\$')"/>-->
+                <!--<xsl:variable name="property.value.evaluated" select="$p5dg:p5ant.include.structure//property[]"/>-->
+                <xsl:if test=" number($graph:debug) &gt; 3"><xsl:copy-of select="$tokens"/></xsl:if>
+                <xsl:variable name="evaluating">
+                    <evaluating>
+                        <xsl:for-each select="$tokens/tokens/lt">
+                                    <xsl:variable name="ifeval" select="@ifeval"/>
+                                    <xsl:for-each select="rt">
+                                            <xsl:choose>
+                                                <xsl:when test="@pos='1'">
+                                                    <xsl:choose>
+                                                        <xsl:when test=" text()='basedir' and not( contains($p5dg:basedir,'${'))">
+                                                            <!--<xsl:value-of select="'BASEDIR_CALCULATE_BY_p5ant:file'"/>-->
+                                                           <!-- <xsl:text>
+                                                                $p5ant:dir=</xsl:text><xsl:value-of select="$p5ant:dir"/>
+                                                            <xsl:text>
+                                                                p5ant:basedir.calculate=</xsl:text>-->
+                                                            <!--<xsl:choose>
+                                                                <xsl:when test=" contains($p5dg:basedir,'${')">
+                                                                    <xsl:variable name="evaluated" select="($p5dg:p5ant.include.structure//property[@name=current() and not(@value=concat('${', current(),'}'))])[1]/concat(@value,@location)"/>
+                                                                </xsl:when>
+                                                            </xsl:choose>-->
+                                                            <xsl:value-of select="p5ant:basedir.calculate($p5ant:dir,$p5dg:basedir)"/>
+                                                        </xsl:when>
+                                                        <xsl:otherwise>
+                                                            <xsl:variable name="evaluated" select="($p5dg:p5ant.include.structure//property[@name=current() and not(@value=concat('${', current(),'}'))])[1]/concat(@value,@location)"/>
+                                                            <xsl:choose>
+                                                                <xsl:when test="$evaluated">
+                                                                    <xsl:value-of select="$evaluated"/>
+                                                                </xsl:when>
+                                                                <xsl:otherwise>
+                                                                    <xsl:text>{</xsl:text><xsl:value-of select="current()"/><xsl:text>}</xsl:text>
+                                                                </xsl:otherwise>
+                                                            </xsl:choose>
+                                                        </xsl:otherwise>
+                                                    </xsl:choose>
+                                                </xsl:when>
+                                                <xsl:otherwise>
+                                                    <!--<xsl:text>F:</xsl:text>--><xsl:value-of select="."/>
+                                                </xsl:otherwise>
+                                            </xsl:choose>
+                                    </xsl:for-each>
+                        </xsl:for-each>
+                    </evaluating>
+                </xsl:variable>
+                <xsl:choose>
+                    <xsl:when test=" contains($evaluating/evaluating/text(),'${')">
+                        <xsl:message>#104 recurrent eval <xsl:value-of select="$evaluating//text()"/></xsl:message>
+                        <recurse_evaluating>
+                            <xsl:attribute name="evaluating" select="$evaluating/evaluating/text()"/>
+                            <xsl:call-template name="graph:property.evaluated">
+                                <xsl:with-param name="property.name" select="$property.name"/>
+                                <xsl:with-param name="graph:property.eval"  select="$evaluating/evaluating/text()"/>
+                                <xsl:with-param name="p5dg:p5ant.include.structure"  select="$p5dg:p5ant.include.structure"/>
+                                <xsl:with-param name="graph:property.evaluated.recurse_level" select="$graph:property.evaluated.recurse_level + 1"/>
+                                <xsl:with-param name="p5ant:dir"  select="$p5ant:dir"/>
+                                <xsl:with-param name="p5dg:basedir"  select="$p5dg:basedir"/>
+                            </xsl:call-template>
+                        </recurse_evaluating>
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <graph:property.evaluated>
+                            <xsl:value-of select="$evaluating"/>
+                        </graph:property.evaluated>
+                    </xsl:otherwise>
+                </xsl:choose>
+            </xsl:when>
+        </xsl:choose>
+    </xsl:template>
+    
+    <xsl:function name="p5ant:basedir.calculate">
+        <xsl:param name="p5ant:dir"/>
+        <xsl:param name="p5dg:basedir"/>
+        <xsl:variable name="basedir_roots" select="count(tokenize($p5dg:basedir,'../'))"/>
+        
+        <xsl:variable name="result">
+            <xsl:for-each select="tokenize($p5ant:dir,'/')[ position() &lt;= ( count(tokenize($p5ant:dir,'/')) - $basedir_roots + 1 ) ]">
+                <xsl:value-of select="'/'"/><xsl:value-of select="."/>
+            </xsl:for-each>
+            <xsl:choose>
+            <xsl:when test="$basedir_roots &gt; 0">
+                <xsl:text>/</xsl:text>
+                <xsl:choose>
+                    <xsl:when test=" tokenize($p5dg:basedir,'/')[ position()=$basedir_roots]='.'"/>
+                    <xsl:otherwise>
+                        <xsl:value-of select=" tokenize($p5dg:basedir,'/')[ position()=$basedir_roots]"/>
+                    </xsl:otherwise>
+                </xsl:choose>
+            </xsl:when>
+                <xsl:otherwise>
+                    <xsl:text>/</xsl:text>
+                    <xsl:choose>
+                        <xsl:when test="$p5dg:basedir='.'"></xsl:when>
+                        <xsl:otherwise><xsl:value-of select="$p5dg:basedir"/></xsl:otherwise>
+                    </xsl:choose>
+                </xsl:otherwise>
+            </xsl:choose>
+        </xsl:variable>
+        <xsl:value-of select="replace($result,'//','/')"/>
+    </xsl:function>
+    
+    <xsl:template mode="graph:graph.graph-to-analyze-property.xml" match="p5dg:p5ant.include.structure">
+        <graph:graph.graph-to-analyze-property.xml>
+            <!--<xsl:apply-templates mode="#current"/>-->
+                <xsl:variable name="p5dg:p5ant.include.structure" select="."/>
+                <xsl:for-each-group select=".//property[ position() &lt; 100 or contains(@name,'php_session') ]" group-by="@value">
+                    <xsl:copy copy-namespaces="no" exclude-result-prefixes="#all">
+                        <xsl:copy-of select="@*"/>
+                        <xsl:attribute name="p5ant:dir" select=" ancestor::node()[name()='p5ant:file']/@p5ant:dir"/>
+                        <xsl:variable name="property.name" select="@name"/>
+                        <xsl:variable name="property.value" select=" replace(@value,'\$','\\\$')"/>
+                        <!--<xsl:variable name="match"><xsl:text><![CDATA[\\$\{]]></xsl:text><xsl:value-of select="$property.name"/><xsl:text><![CDATA[}]]></xsl:text></xsl:variable>-->
+                        <!--<xsl:variable name="match"><xsl:value-of select="$property.name"/></xsl:variable>-->
+                        <xsl:variable name="match"><xsl:text>\$\{</xsl:text><xsl:value-of select="$property.name"/><xsl:text>\}</xsl:text></xsl:variable>
+                        <xsl:message>#35 match is <xsl:value-of select="$match"/></xsl:message>
+                        <!--<graph:property.evals>
+                            <xsl:for-each select="root()/xxxxxxx/property[ matches(@value,concat('(.*',$match,'.*)'))]"> <!-\- \\$\{ -\->
+                                <xsl:copy exclude-result-prefixes="#all" copy-namespaces="no">
+                                    <xsl:copy-of select="@*"/>
+                                    <xsl:variable name="to.replace.value" select="replace(@value,'\$','\\\$')"/>
+                                    <xsl:attribute name="graph:property.eval" select='replace(@value, $match , $property.value)'/>
+                                    <xsl:attribute name="graph:property.eval.from" select="$property.name"/>
+                                    
+                                </xsl:copy>
+                            </xsl:for-each>
+                        </graph:property.evals>-->
+                        <xsl:choose>
+                            <xsl:when test=" contains($property.value,'${')"> <!-- contains(replace(@value, $match , $property.value),'\$') -->
+                                <xsl:variable name="graph:property.evaluated">
+                                    <xsl:call-template name="graph:property.evaluated">
+                                        <xsl:with-param name="graph:property.eval" select="@value"/>
+                                        <xsl:with-param name="p5dg:p5ant.include.structure" select="$p5dg:p5ant.include.structure"/>
+                                        <xsl:with-param name="property.name" select="$property.name"/>
+                                        <xsl:with-param name="p5ant:dir" select=" ancestor::node()[name()='p5ant:file']/@p5ant:dir"/>
+                                        <xsl:with-param name="p5dg:basedir" select="@p5dg:basedir"/>
+                                    </xsl:call-template>
+                                </xsl:variable>
+                                <xsl:attribute name="graph:property.evaluated" select="$graph:property.evaluated//graph:property.evaluated/text()"/>
+                                <xsl:if test="number($graph:debug) &gt;3"><xsl:copy-of select="$graph:property.evaluated"/></xsl:if>
+                            </xsl:when>
+                            <xsl:otherwise>
+                                <xsl:attribute name="graph:property.evaluated.not_needed" select="true()"/>
+                            </xsl:otherwise>
+                        </xsl:choose>
+                    </xsl:copy>
+                </xsl:for-each-group>
+        </graph:graph.graph-to-analyze-property.xml>
+    </xsl:template>
+    
+    
+    <xsl:template mode="graph:graph.graph-to-analyze.xml" match="p5dg:p5ant.include.structure">
+        <graph:graph.graph-to-analyze.xml>
+            <!--<xsl:apply-templates mode="#current"/>-->
+            <xsl:variable name="graph:graph.graph-to-analyze-property.xml" select="doc($graph.graph-to-analyze-property.xml)"/>
+            <xsl:for-each select=".//(p5dg:p5ant.include.structure.ant.build|p5dg:p5ant.include.structure.ant.build.target|p5dg:p5ant.include.structure.ant.build.child.target.antcall|p5dg:p5ant.include.structure.ant.build.child.target.ant)">
+                <!--<xsl:message>#135OKOK  trasa <xsl:value-of select="position()"/> <xsl:value-of select="@fid"/></xsl:message>-->
+                <xsl:element name="{name()}" exclude-result-prefixes="#all" >
+                    <!--<xsl:namespace name="{ substring-before(name(),':')}" select="substring-before(name(),':')"/>-->
+                    <xsl:copy-of select="@*"/>
+                    <xsl:copy-of select="../@p5ant:dir.parent"/>
+                    <xsl:copy-of select="../@p5ant:dir"/>
+                    <xsl:copy-of select="../@p5ant:uuid"/>
+                    <xsl:attribute name="p5ant:file" select="../@p5ant:file"/>
+                    <xsl:attribute name="pos" select="position()"/>
+                    <xsl:if test="../@fid"><xsl:attribute name="parent" select="../@fid"/></xsl:if>
+                    <xsl:choose>
+                        <xsl:when test="project">
+                            <xsl:attribute name="fid" select="concat( name(*),'_','.', ../@p5ant:uuid)"/>
+                        </xsl:when>
+                        <xsl:when test="target|extension-point">
+                            <xsl:attribute name="fid" select="concat( name(*),'_','.', @p5ant:uuid)"/>
+                            <xsl:attribute name="fid.parent" select=" ancestor::project[ position() = 1]/concat( name(),'_',@name,'.', ../@p5ant:uuid)"/>
+                        </xsl:when>
+                        <xsl:when test="ant">
+                            <xsl:attribute name="fid" select="concat( name(*),'_','.', @p5ant:uuid)"/>
+                            <xsl:attribute name="fid.parent" select=" ancestor::project[ position() = 1]/concat( name(),'_',@name,'.', ../@p5ant:uuid)"/>
+                        </xsl:when>
+                        <xsl:when test="antcall">
+                            <xsl:attribute name="fid" select="concat( @p5dg:name,'_','.', ../@p5ant:uuid)"/>
+                            <xsl:attribute name="fid.parent" select=" ancestor::target[position() = 1]/concat( @p5dg:name,'_',@name,'.', ../@p5ant:uuid)"/>
+                        </xsl:when>
+                        <xsl:otherwise>
+                            <xsl:attribute name="fid" select="concat( name(*),'_','.', ../@p5ant:uuid)"/> <!-- @name -->
+                            <xsl:attribute name="fid.parent" select=" ancestor::project[position() = 1]/concat( name(*),'_',@name,'.', ../@p5ant:uuid)"/>
+                        </xsl:otherwise>
+                    </xsl:choose>
+                    <xsl:apply-templates mode="graph:graph.graph-to-analyze.xml.child">
+                        <xsl:with-param name="graph:graph.graph-to-analyze-property.xml" select="$graph:graph.graph-to-analyze-property.xml"/>
+                    </xsl:apply-templates>
+                </xsl:element>
+            </xsl:for-each>
+        </graph:graph.graph-to-analyze.xml>
+    </xsl:template>
+    
+    
+    
+    
+    <xsl:template match="p5dg:p5ant.include.structure.ant.build|p5dg:p5ant.include.structure.ant.build.child.target.antcall|p5dg:p5ant.include.structure.ant.build.child.target.ant" mode="graph:graph.graph-to-analyze.xml.child">
+        <xsl:param name="graph:graph.graph-to-analyze-property.xml" required="yes"/>
+        <xsl:copy>
+            <xsl:copy-of select="@*"/>
+        </xsl:copy>
+    </xsl:template>
+    
+    <xsl:template match="*" mode="graph:graph.graph-to-analyze.xml.child">
+        <xsl:param name="graph:graph.graph-to-analyze-property.xml" required="yes"/>
+        <xsl:copy>
+            <xsl:copy-of select="@*"/>
+            <xsl:apply-templates mode="graph:graph.graph-to-analyze.xml.child" select="@*">
+                <xsl:with-param name="graph:graph.graph-to-analyze-property.xml" select="$graph:graph.graph-to-analyze-property.xml"/>
+            </xsl:apply-templates>
+            <xsl:apply-templates mode="#current">
+                <xsl:with-param name="graph:graph.graph-to-analyze-property.xml" select="$graph:graph.graph-to-analyze-property.xml"/>
+            </xsl:apply-templates>
+        </xsl:copy>
+    </xsl:template>
+    
+    
+    <xsl:template match="@value[../property]" mode="graph:graph.graph-to-analyze.xml.child">
+        <xsl:param name="graph:graph.graph-to-analyze-property.xml" required="yes"/>
+        <xsl:choose>
+            <xsl:when test="../@graph:property.evaluated"><xsl:attribute name="value" select="../@graph:property.evaluated"/></xsl:when>
+            <xsl:otherwise><xsl:copy-of select="."/></xsl:otherwise>
+        </xsl:choose>
+    </xsl:template>
+    
+    <xsl:template match="@*" mode="graph:graph.graph-to-analyze.xml.child">
+        <xsl:copy-of select="."/>
+    </xsl:template>
+    
+    
+    <xsl:template mode="graph:graph.graph-to-nodes.xml" match="graph:graph.graph-to-analyze.xml">
+        <graph.graph-to-nodes.xml>
+            <xsl:for-each-group select="*" group-by="@fid">
+                <xsl:comment>#142 create-nodes-BI-wfs for @fid=<xsl:value-of select="@fid"/>;</xsl:comment>
+                <xsl:apply-templates mode="graph:create-nodes" select="."  />
+            </xsl:for-each-group>
+            <xsl:for-each-group select="*" group-by="@fid">
+                <xsl:comment>#142 create-nodes-BI-wfs for @fid=<xsl:value-of select="@fid"/>;</xsl:comment>
+                <xsl:apply-templates mode="graph:create-edges" select="."  />
+            </xsl:for-each-group>
+        </graph.graph-to-nodes.xml>
+    </xsl:template>
+    
+    
+    
+    
+    <xsl:template match="*" mode="graph:create-nodes" >
+        <xsl:element name="node" namespace="http://graphml.graphdrawing.org/xmlns">
+            <xsl:attribute name="id">
+                <!--<xsl:value-of select="concat(name(),'_',@pos)"/>-->
+                <xsl:value-of select="replace(@fid,'\.','_')"/>
+            </xsl:attribute>
+            <!--<xsl:attribute name="deb.fid" select="@fid"/>-->
+            <!--<xsl:attribute name="deb.fid2" select=" text()"/>-->
+            <data key="d0" xmlns="http://graphml.graphdrawing.org/xmlns">
+                <y:ShapeNode>
+                    <!--<y:Geometry height="{ ((count(*[not( local-name()='ID') and not( matches(local-name(),'(S_*)|(A_)|(TERYT.*)'))]) * 18) + 70)}" width="600"/>--><!-- { count(*) * 10} -->
+                    <!--<y:Fill color="#CCCCCC"/>-->
+                    <y:Geometry height="100" width="600"/>
+                    <y:Fill transparent="false">
+                        <xsl:attribute name="color">
+                            <!--<xsl:value-of select="$colors/colors/object_hex[ @name = current()/local-name() or @name='*'][1]/text()" xpath-default-namespace=""/>-->
+                            <xsl:value-of select="'#666666'" xpath-default-namespace=""/>
+                        </xsl:attribute>
+                    </y:Fill><!--<xsl:value-of select="local-name()"/>-->
+                    <!--<y:NodeLabel width="400" height="{ ((count(*[not( local-name()='ID') and not( matches(local-name(),'(S_*)|(A_)|(TERYT.*)'))]) * 18) + 70)}">&lt;html&gt;&lt;div
+                        style="font-size:120%;color:black;"&gt;
+                        <xsl:value-of select="ID"/>&lt;br&gt;
+                        <xsl:value-of select=" substring(name(),10)"/>&lt;br&gt;
+                        <xsl:for-each select="*[not( local-name()='ID') and not( matches(local-name(),'(S_*)|(A_)|(TERYT.*)'))]" xpath-default-namespace="http://graphml.graphdrawing.org/xmlns">
+                            <xsl:value-of select=" substring(local-name(),0,10)"/><xsl:text> : </xsl:text><xsl:value-of select=" substring(.,0,20)"/> <!-\-<xsl:for-each select="text()"><xsl:value-of select="substring(text(),20)"/></xsl:for-each>-\->&lt;br&gt;
+                        </xsl:for-each>
+                        &lt;/div&gt;
+                    </y:NodeLabel>-->
+                    <y:NodeLabel width="400" height="100">&lt;html&gt;&lt;div
+                        style="font-size:120%;color:black;"&gt;
+                        <xsl:value-of select="ID"/>&lt;br&gt;
+                        <xsl:value-of select=" substring(name(),10)"/>&lt;br&gt;
+                        <xsl:for-each select="*[not( local-name()='ID') and not( matches(local-name(),'(S_*)|(A_)|(TERYT.*)'))]" xpath-default-namespace="http://graphml.graphdrawing.org/xmlns">
+                            <xsl:value-of select=" substring(local-name(),0,10)"/><xsl:text> : </xsl:text><xsl:value-of select=" substring(.,0,20)"/> <!--<xsl:for-each select="text()"><xsl:value-of select="substring(text(),20)"/></xsl:for-each>-->&lt;br&gt;
+                        </xsl:for-each>
+                        &lt;/div&gt;
+                    </y:NodeLabel>
+                </y:ShapeNode>
+            </data>
+        </xsl:element>
+    </xsl:template>
+    
+    
+    
+    <xsl:template match="*[@fid]" mode="graph:create-edges" priority="5" >
+        <!--<default_db__x3A__BI_audit_KRS_person:BI_audit_KRS_person
+            xlink:href="https://biuro.biall-net.pl/wfs/default_db/BI_audit_KRS_person#BI_audit_KRS_person.150746"/>-->
+        
+       <!-- <xsl:param name="pos" required="yes"/>
+        <xsl:param name="next" required="yes"/>-->
+        <xsl:comment>#273parent <xsl:value-of select="@parent"/></xsl:comment>
+        <xsl:choose>
+            <xsl:when test="@fid">
+                <xsl:element name="edge" namespace="http://graphml.graphdrawing.org/xmlns">
+                    <!--<xsl:attribute name="debug.279" select="1"/>-->
+                    <xsl:attribute name="id">
+                        <xsl:value-of select="generate-id()"/>
+                    </xsl:attribute>
+                    <xsl:attribute name="source">
+                        <!--<xsl:value-of select="concat(name(),'_',@pos)"/>-->
+                        <xsl:value-of select="replace(@fid,'\.','_')"/>
+                    </xsl:attribute>
+                    <xsl:attribute name="target">
+                        <!--<xsl:value-of select="$next[1]/concat(name(), '_',@pos)"/>-->
+                        <xsl:value-of select="replace(@fid.parent,'\.','_')"/>
+                    </xsl:attribute>
+                    <!--<xsl:attribute name="deb.ref" select="../*[@fid = current()/substring-after(@xlink:href,'#')]"/>-->
+                    <y:GenericEdge configuration="com.yworks.edge.framed">
+                        <xsl:comment>mod:<xsl:value-of select="$pos mod 10"/>/<xsl:value-of select=" position() mod 10"/> /<xsl:value-of select=" position() mod 2"/> </xsl:comment>
+                        <y:LineStyle  width="{(position() mod 3) + 1}.0">
+                            <!--<xsl:attribute name="color" select="$colors/colors/object_hex[  @name =  substring-before(@fid,'.') or @name='*' ][1]/text()" xpath-default-namespace=""/>-->
+                            <xsl:attribute name="color" select="'#669900'" />
+                            <!--<xsl:attribute name="type" select="$colors/colors/dashed/dash[ @pos = ( $pos  mod 2 )  ]/text()" xpath-default-namespace=""/>-->
+                        </y:LineStyle>
+                        <y:Arrows source="none" target="standard"/>
+                        <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false"  horizontalTextPosition="center" iconTextGap="4" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true"><xsl:value-of select="../relation_from/text()"/><y:LabelModel>
+                            <y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
+                        </y:LabelModel>
+                            <y:ModelParameter>
+                                <y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="right" ratio="0.5" segment="0"/>
+                            </y:ModelParameter>
+                            <y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/>
+                        </y:EdgeLabel>
+                        <y:StyleProperties>
+                            <!--<y:Property class="java.awt.Color" name="FramedEdgePainter.fillColor" value="{$colors/colors/color[ @pos =    $pos mod 10  ]/text()}"/>-->
+                            <y:Property class="java.awt.Color" name="FramedEdgePainter.fillColor" value="red"/>
+                        </y:StyleProperties>
+                    </y:GenericEdge>
+                    
+                    <!--<group>
+                <xsl:value-of select="concat(name(),'_',ID,$next/concat(name(), '_',ID))"/>
+            </group>-->
+                </xsl:element>
+            </xsl:when>
+            <xsl:otherwise>
+                <xsl:message>#284 not found node in xml <xsl:value-of select="@xlink:href"/></xsl:message>
+            </xsl:otherwise>
+        </xsl:choose>
+        
+    </xsl:template>
+    
+    
+    
+    
+    
+    
+    <xsl:template match="wfs:FeatureCollection" xpath-default-namespace="http://graphml.graphdrawing.org/xmlns">
+        <graphml
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xmlns="http://graphml.graphdrawing.org/xmlns"
+            xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
+            <key id="d0" for="node" yfiles.type="nodegraphics"/>
+            <key id="d1" for="edge" yfiles.type="edgegraphics"/>
+            <graph id="G" edgedefault="directed">
+                
+                
+                <!-- TITLE -->
+                <xsl:element name="node">
+                    <xsl:attribute name="id">
+                        <xsl:value-of select="'title'"/>
+                    </xsl:attribute>
+                    <data key="d0">
+                        <y:ShapeNode>
+                            <y:Geometry height="50.0" width="600"/>
+                            <y:Fill color="#FFFFAA"/>
+                            <y:BorderStyle color="#000000" type="line" width="1.0"/>
+                            <y:NodeLabel width="600" height="50">&lt;html&gt;&lt;div
+                                style="font-size:100%;color:blue;"&gt;
+                                <xsl:value-of select="$graph_title"/>&lt;br&gt;
+                                <xsl:value-of select="$graph_desc"/><!--&lt;br&gt;-->
+                                &lt;/div&gt;
+                            </y:NodeLabel>
+                        </y:ShapeNode>
+                    </data>
+                </xsl:element>
+                
+                
+                <xsl:variable name="gml:featureMember">
+                    <!--<gml:featureMember>-->
+                    <xsl:for-each select="gml:featureMember//*[ substring-before(substring-after(name(),'__x3A__'),':') = local-name() and * ]">
+                        <!--<xsl:message>#135OKOK  trasa <xsl:value-of select="position()"/> <xsl:value-of select="@fid"/></xsl:message>-->
+                        <xsl:element name="{local-name()}" >
+                            <!--<xsl:namespace name="{ substring-before(name(),':')}" select="substring-before(name(),':')"/>-->
+                            <xsl:copy-of select="@*"/>
+                            <xsl:attribute name="pos" select="position()"/>
+                            <xsl:if test="../@fid"><xsl:attribute name="parent" select="../@fid"/></xsl:if>
+                            
+                            <xsl:for-each select="*[ not( substring-before(substring-after(name(),'__x3A__'),':') = local-name() ) ]">
+                                <xsl:copy-of select="." copy-namespaces="no"/>
+                            </xsl:for-each>
+                        </xsl:element>
+                    </xsl:for-each>
+                    <!--</gml:featureMember>-->
+                </xsl:variable>
+                
+                <!--<debug.128>
+                    <xsl:copy-of select="$gml:featureMember"/>
+                </debug.128>-->
+                
+                
+                <!--<debug_129_grouped>
+                    <xsl:for-each-group select="$gml:featureMember/*" group-by="@fid">
+                        <xsl:copy-of select="."/>
+                    </xsl:for-each-group>
+                </debug_129_grouped>-->
+                <xsl:comment>#95 create-nodes-BI dla DEALS</xsl:comment>
+                
+                
+                
+                
+                
+                <xsl:comment>#139 nizej group by</xsl:comment>
+                
+                <xsl:for-each-group select="$gml:featureMember/*" group-by="@fid">
+                    <xsl:comment>#142 create-nodes-BI-wfs for @fid=<xsl:value-of select="@fid"/>;</xsl:comment>
+                    <xsl:apply-templates mode="create-nodes-BI-wfs" select="." />
+                </xsl:for-each-group>
+                
+                <xsl:variable name="edges">
+                    <edges>
+                        <xsl:for-each select="$gml:featureMember/*">
+                            <xsl:comment>#149 parent <xsl:value-of select="@parent"/> fid <xsl:value-of select="@fid"/> name=<xsl:value-of select="name()"/></xsl:comment>
+                            <!--<xsl:message>#149 parent <xsl:value-of select="@parent"/> fid <xsl:value-of select="@fid"/> name=<xsl:value-of select="name()"/></xsl:message>-->
+                            <xsl:apply-templates mode="create-edges-BI-wfs" select="." >
+                                <xsl:with-param name="pos" select="@pos"/>
+                                <xsl:with-param name="next" select="@parent"/>
+                            </xsl:apply-templates>
+                        </xsl:for-each>
+                        
+                       
+                        
+                    </edges>
+                </xsl:variable>
+                
+                <xsl:for-each-group select="$edges/edges/edge" group-by="concat(@target,@source)"> <!-- group-by="@target" -->
+                    
+                    <edge xmlns="http://graphml.graphdrawing.org/xmlns">
+                        <xsl:copy-of select="@*"/>
+                        <!--<xsl:copy-of select="../comment()"/>-->
+                        <!--<xsl:comment>#173</xsl:comment>-->
+                        <!--<xsl:copy-of select="../../comment()"/>-->
+                        <xsl:copy-of select="*"/>
+                    </edge>
+                </xsl:for-each-group>
+                
+            </graph>
+        </graphml>
+    </xsl:template>
+    
+</xsl:stylesheet>

+ 5 - 2
SE/schema/WPS_Functions/get_wfs/build_get_wfs.xml

@@ -22,6 +22,9 @@
     <include file="build.get_wfs.PRODUCT.xml" as="PRODUCT"/>
     <include file="build.get_wfs.SYSTEM.xml" as="SYSTEM"/>
     <include file="build.get_wfs.OBSOLETE-FIXME.xml" as="OBSOLETE-FIXME"/>
+    
+    
+    <include file="../username_and_pass_from_passwordBase64Basic/build.build_username_and_pass_from_passwordBase64Basic.PRODUCT.xml"/>
     <!-- modules WPS_Functions - to be copied to any module needed -->
     
    <!-- <property name="WPS_Functions" location="${basedir}/WPS_Functions"/>
@@ -62,7 +65,7 @@
 
     <target name="read_build_properties" >
         <ant antfile="${WPS_Functions.build}" target="save_build_properties"/>
-        <loadproperties srcfile="${build_WPS_Functions.xml.properties}"/>
+        <loadproperties srcfile="${WPS_Functions.properties}"/>
         <echo level="debug">$api_url to ${api_url}  $namespace_prefix ${namespace_prefix} 
             passwordBase64Basic=${passwordBase64Basic}
         </echo>
@@ -287,7 +290,7 @@
     </target>
     <target name="php_session_id_fail" if="${php_session_id_fail}"   description="retrieve php_session_id from API to use it after for fasten api requests" depends="read_build_properties,create_tempdir">
         <tempfile  destdir="${get_wfs.temp}" prefix="usernameandpass" deleteonexit="yes" property="username_and_pass_from_passwordBase64Basic.properties" />
-        <ant antfile="${build_username_and_pass_from_passwordBase64Basic.xml}" target="username_and_pass_from_passwordBase64Basic.properties"/>
+        <ant antfile="${username_and_pass_from_passwordBase64Basic.build}" target="username_and_pass_from_passwordBase64Basic.properties"/>
             
         <loadproperties srcfile="${username_and_pass_from_passwordBase64Basic.properties}"/>
             

+ 2 - 0
SE/schema/WPS_Functions/get_wfs_recurse_xsl/build.bgwrx.PRODUCT.xml

@@ -20,10 +20,12 @@
     <!--<property name="bgwrx.repository"  value="${p5dg.basedir}/repository"/>-->
 
     <property name="bgwrx.temp" location="${bgwrx.basedir}/temp"/>
+    <property name="bgwrx.repository" location="${bgwrx.basedir}/repository"/>
     
     <property name="bgwrx.childproperties" location="${WPS_Functions.childproperties}/build_get_wfs_recurse_xsl.properties"/>
     
     <property name="bgwrx.xsl" value="${system_cache__appinfo.public.basedir}/get_wfs_recurse_xsl.xsl"/>
+    <property name="bgwrx.xpath_filter.xsl" value="${bgwrx.basedir}/bgwrx.xpath_filter.xsl"/>
     
     <property name="bgwrx.RelatedFeatureRoot.xsl" value="${bgwrx.basedir}/bgwrx.RelatedFeatureRoot.xsl"/>
     

+ 2 - 1
SE/schema/WPS_Functions/get_wfs_recurse_xsl/build.bgwrx.SYSTEM.xml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project basedir="../../" name="bgwrx.SYSTEM" > <!-- default="bgwrx.SYSTEM.INIT" -->
+<project basedir="../../" name="bgwrx.SYSTEM"
+    xmlns:bgwrx="http://biuro.biall-net.pl/WPS_Functions/get_wfs_recurse_xsl/get_wfs_recurse_xsl.xsd"> <!-- default="bgwrx.SYSTEM.INIT" -->
   
    
     <include file="../build.WPS_Functions.SYSTEM.xml" optional="true"/>

+ 289 - 22
SE/schema/WPS_Functions/get_wfs_recurse_xsl/build_get_wfs_recurse_xsl.xml

@@ -16,7 +16,10 @@
     <include file="build.bgwrx.OBSOLETE-FIXME.xml" as="OBSOLETE-FIXME"/>
     <include file="build.bgwrx.INSTALL.xml" as="INSTALL"/>
     
-    <property name="build_WPS_Functions.xml.properties" location="${WPS_Functions.properties}"/>
+    <include file="../graph_tree_TODO_PROJ6806/build_graph_tree.xml" as="grapht"/>
+    <include file="../system_ui_info_speech/build_system_ui_info_speech.xml" as="p5suis"/>
+    
+    <!--<property name="build_WPS_Functions.xml.properties" location="${WPS_Functions.properties}"/>-->
     <!--<property name="build_get_wfs_recurse_xsl.xsl" location="${default_db_xml_cache.public}/get_wfs_recurse_xsl.xsl"/>-->
     
     <!--<property name="CRM_LISTA_ZASOBOW.get_wfs_recurse_xsl.xml" value="${transformed.local}/CRM_LISTA_ZASOBOW.get_wfs_recurse_xsl.xml"/>-->
@@ -123,9 +126,12 @@
             <arg line="-v alex"/>
             <arg line="Copying to recurse ant temp and executing ditamap creation by build_CRM_PROCES_tree target PROCES INIT TREE DITA "/>
         </exec>-->
-        <ant antfile="${system_ui_info_speech}" target="p5suis:say_to_queue">
+        <!--<ant antfile="${system_ui_info_speech}" target="p5suis:say_to_queue">
             <property name="p5suis:say_text" value="Copying to recurse ant temp and executing ditamap creation by build_CRM_PROCES_tree target PROCES INIT TREE DITA " />
-        </ant>
+        </ant>-->
+        <antcall target="p5suis.p5suis:say_to_queue">
+            <param name="p5suis:say_text" value="Copying to recurse ant temp and executing ditamap creation by build_CRM_PROCES_tree target PROCES INIT TREE DITA "/>
+        </antcall>
         <!--<ant antfile="${system_ui_info_speech}" target="p5suis:say_from_queue"/>-->
         
         
@@ -145,6 +151,73 @@
     </target>
     
     
+    <target name="xml_recursed_from_tr_map.api_recurse.xpath_filter" depends="read_build_properties,build_get_wfs_recurse_xsl.create_tempdir">
+        <input addproperty="xpath.filter.local" defaultvalue="${xpath.filter}"/>
+        <input addproperty="uuid.local" defaultvalue="${uuid}" />
+        <input addproperty="typeName.local" defaultvalue="${typeName}"/>
+        <input addproperty="typeName.object.local" defaultvalue="${typeName.object}"/>
+        <input addproperty="xpath.local" defaultvalue="${xpath}"/>
+        <input addproperty="xpath_value.local" defaultvalue="${xpath_value}"/>
+        <input addproperty="resolveDepth.local" defaultvalue="${resolveDepth}"/>
+        <input addproperty="build_get_wfs_recurse_xsl.out.xml.local" defaultvalue="${build_get_wfs_recurse_xsl.out.xml}"/>
+        <input addproperty="p5.links.recurse_level.limit.local" defaultvalue="${p5.links.recurse_level.limit}"/>
+        <input addproperty="p5.links.next.recurse_level.limit.local" defaultvalue="${p5.links.next.recurse_level.limit}"/>
+        <input addproperty="debug.local" defaultvalue="${debug.local}"/>
+        
+        <property name="get_wfs_recurse_xsl.xsl.xpath.filter.xsl" location="${bgwrx.temp}/get_wfs_recurse_xsl.xsl.xpath.filter.xsl"/>
+        
+        <antcall target="p5suis.p5suis:say_to_queue">
+            <param name="p5suis:say_text" value="Generating transformator with applied xpath filter p5:object ${xpath.filter.local}"/>
+        </antcall>
+        <!--<ant antfile="${system_ui_info_speech}" target="p5suis:say_from_queue"/>-->
+        
+        <ant antfile="${get_wfs}" target="php_session_id_check.properties" inheritall="yes">
+            <!--<property name="php_session_id_ok.string" value="${php_session_id_ok.string}"/>
+            <property name="username.pass" value="${username.pass}"/>
+            <property name="username" value="${username}"/>-->
+        </ant>
+        
+        <loadproperties srcfile="${php_session_id_check.properties}"/>
+        
+        <record name="${bgwrx.SYSTEM.StandardOutPath}" append="true" action="start" />
+        <record name="${bgwrx.SYSTEM.StandardErrorPath}" append="true" loglevel="error" action="start"/>
+        <echo >#182  xpath.filter.local
+            $xpath.filter = ${xpath.filter.local}
+        </echo>
+        <xslt basedir="${default_db:recurse_ant_basedir}" style="${bgwrx.xpath_filter.xsl}" in="${get_wfs_recurse_xsl.xsl}"  destdir="${bgwrx.temp}" out="${get_wfs_recurse_xsl.xsl.xpath.filter.xsl}" force="yes" > <!-- out_task.dita.final -->
+            <factory name="net.sf.saxon.TransformerFactoryImpl">    
+                <!--<attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>-->
+                <!--<attribute name="http://saxon.sf.net/feature/initialMode" value="apply_xpath_filter"/>-->
+            </factory>
+            <classpath location="/opt/local/share/java/saxon9he.jar"/>
+            <!--<param name="webRootUrl" expression="${webRootUrl}" />--> 
+            <!--<param name="main_build_recurse_ant.dita" expression="${main_build_recurse_ant.dita}"/>-->
+            <param name="xpath.filter" expression="${xpath.filter.local}"/>
+            <param name="system_cache__appinfo.escape_functions.xsl" expression="${system_cache__appinfo.escape_functions.xsl}"/>
+        </xslt>
+        
+        <record name="${bgwrx.SYSTEM.StandardOutPath}"  action="stop"/>
+        <record name="${bgwrx.SYSTEM.StandardErrorPath}" action="stop"/>
+        
+        <antcall target="xml_recursed_from_tr_map.api_recurse">
+            <param name="typeName.local" value="${typeName}"/>
+            <param name="typeName.object.local" value="${typeName}"/>
+            <param name="uuid.local" value="${uuid}"/>
+            <param name="xpath.local" value="ID"/>
+            <param name="xpath_value.local" value="${xpath_value}"/>
+            <param name="resolveDepth.local" value="${resolveDepth}"/>
+            <param name="build_get_wfs_recurse_xsl.out.xml.local" value="${build_get_wfs_recurse_xsl.out.xml.local}"/>
+            <param name="p5.links.recurse_level.limit.local" value="${p5.links.recurse_level.limit}"/>
+            <param name="p5.links.next.recurse_level.limit.local" value="${p5.links.next.recurse_level.limit}"/>
+            <param name="debug.local"  value="${debug.local}"/>
+            <param name="MAXFEATURES.local" value="${MAXFEATURES}"/>
+            <!--<param name="build_get_wfs_recurse_xsl.out.xml.local" value="${CRM_LISTA_ZASOBOW.get_wfs_recurse_xsl.xml}.api_recurse.xml"/>-->
+        </antcall>
+        
+    </target>
+    
+    
+    
     <target name="xml_recursed_from_tr_map.api_recurse" depends="read_build_properties,build_get_wfs_recurse_xsl.create_tempdir">
         <input addproperty="uuid.local" defaultvalue="${uuid}" />
         <input addproperty="typeName.local" defaultvalue="${typeName}"/>
@@ -153,19 +226,33 @@
         <input addproperty="xpath_value.local" defaultvalue="${xpath_value}"/>
         <input addproperty="resolveDepth.local" defaultvalue="${resolveDepth}"/>
         <input addproperty="build_get_wfs_recurse_xsl.out.xml.local" defaultvalue="${build_get_wfs_recurse_xsl.out.xml}"/>
-        <input addproperty="p5:links.recurse_level.limit.local" defaultvalue="${p5:links.recurse_level.limit}"/>
-        <input addproperty="p5:links.next.recurse_level.limit.local" defaultvalue="${p5:links.next.recurse_level.limit.local}"/>
+        <input addproperty="p5.links.recurse_level.limit.local" defaultvalue="${p5.links.recurse_level.limit}"/>
+        <input addproperty="p5.links.next.recurse_level.limit.local" defaultvalue="${p5.links.next.recurse_level.limit}"/>
+        <input addproperty="debug.local" defaultvalue="${debug.local}"/>
+        
         <!--<ant antfile="${build_usnername_and_pass_from_passwordBase64Basic.xml}" target="usnername_and_pass_from_passwordBase64Basic"/>-->
         <tempfile property="php_session_id_check.properties" destdir="${bgwrx.temp}" prefix="php_session_id_check.properties"/>
         
+        
+            <condition property="get_wfs_recurse_xsl.xsl.local" value="${get_wfs_recurse_xsl.xsl.xpath.filter.xsl}">
+                <isset property="get_wfs_recurse_xsl.xsl.xpath.filter.xsl" />
+            </condition>
+            
+            <condition property="get_wfs_recurse_xsl.xsl.local" value="${get_wfs_recurse_xsl.xsl}">
+                <not><isset property="get_wfs_recurse_xsl.xsl.xpath.filter.xsl"/></not>
+            </condition>
+            
         <!--<exec executable="say"  spawn="true" failifexecutionfails="false">
             <arg line="-v alex"/>
             <arg line="Retrieving structurized object from API for searched: p5:object ${typeName.local} xpath ${xpath.local} value ${xpath_value.local} "/>
         </exec>-->
         
-        <ant antfile="${system_ui_info_speech}" target="p5suis:say_to_queue">
+        <!--<ant antfile="${system_ui_info_speech}" target="p5suis:say_to_queue">
             <property name="p5suis:say_text" value="Retrieving structurized object from API for searched: p5:object ${typeName.local} xpath ${xpath.local} value ${xpath_value.local} " />
-        </ant>
+        </ant>-->
+        <antcall target="p5suis.p5suis:say_to_queue">
+            <param name="p5suis:say_text" value="Retrieving structurized object from API for searched: p5:object ${typeName.local} xpath ${xpath.local} value ${xpath_value.local} "/>
+        </antcall>
         <!--<ant antfile="${system_ui_info_speech}" target="p5suis:say_from_queue"/>-->
         
         <ant antfile="${get_wfs}" target="php_session_id_check.properties" inheritall="yes">
@@ -176,20 +263,24 @@
         
         <loadproperties srcfile="${php_session_id_check.properties}"/>
         
-        <echo>#91 xml_recursed_from_tr_map
+        <record name="${bgwrx.SYSTEM.StandardOutPath}" append="true" action="start" />
+        <record name="${bgwrx.SYSTEM.StandardErrorPath}" append="true" loglevel="error" action="start"/>
+        <echo >#91 xml_recursed_from_tr_map
             $uuid=${uuid.local};
             $typeName=${typeName.local};
             $typeName.object=${typeName.object.local};
-            
+            $MAXFEATURES = ${MAXFEATURES} / $MAXFEATURES.local = ${MAXFEATURES.local}
             $xpath_value=${xpath_value.local}
             $xpath=${xpath.local}
             $username = ${username}
             $username.pass = *******
             php_session_id_ok.string = ${php_session_id_ok.string} 
-            $p5:links.recurse_level.limit.local = ${p5:links.recurse_level.limit.local}
-            
+            $p5.links.recurse_level.limit = ${p5.links.recurse_level.limit.local}
+            $p5.links.next.recurse_level.limit = ${p5.links.next.recurse_level.limit}
+            $debug.local = ${debug.local}
+            get_wfs_recurse_xsl.xsl.local = ${get_wfs_recurse_xsl.xsl.local}
         </echo>
-        <xslt basedir="${default_db:recurse_ant_basedir}" style="${get_wfs_recurse_xsl.xsl}" in="${empty.xml}"  destdir="${bgwrx.temp}" out="${build_get_wfs_recurse_xsl.out.xml.local}" force="yes" > <!-- out_task.dita.final -->
+        <xslt basedir="${default_db:recurse_ant_basedir}" style="${get_wfs_recurse_xsl.xsl.local}" in="${empty.xml}"  destdir="${bgwrx.temp}" out="${build_get_wfs_recurse_xsl.out.xml.local}" force="yes" > <!-- out_task.dita.final -->
             <factory name="net.sf.saxon.TransformerFactoryImpl">    
                 <!--<attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>-->
                 <attribute name="http://saxon.sf.net/feature/initialTemplate" value="main"/>
@@ -210,15 +301,18 @@
             <param name="simpleSchema_dir" expression="/Users/a.binder/Documents/xmlschema_procesy5/src-xmlschema/public_html/default_db.instance.xml/simpleSchema/"/>
             <param name="api_recurse" expression="true"/>
             <param name="resolveDepth" expression="${resolveDepth.local}"/>
-            <param name="{https://biuro.biall-net.pl/wfs}links.recurse_level.limit" expression="${p5:links.recurse_level.limit.local}"/>
-            <param name="{https://biuro.biall-net.pl/wfs}links.recurse_level.limit" expression="${p5:links.recurse_level.limit.local}"/>
+            <param name="{https://biuro.biall-net.pl/wfs}links.recurse_level.limit" expression="${p5.links.recurse_level.limit.local}"/>
+            <param name="{https://biuro.biall-net.pl/wfs}links.next.recurse_level.limit" expression="${p5.links.next.recurse_level.limit.local}"/>
+            <param name="MAXFEATURES" expression="${MAXFEATURES.local}"/>
+            <param name="debug" expression="${debug.local}"/>
         </xslt>
         
         <exec executable="say"  spawn="true" failifexecutionfails="false">
             <arg line="-v alex"/>
             <arg line="Completed Retrieving structurized  "/>
         </exec>
-        
+        <record name="${bgwrx.SYSTEM.StandardOutPath}"  action="stop"/>
+        <record name="${bgwrx.SYSTEM.StandardErrorPath}" action="stop"/>
     </target>
     
     <!--not working !<target name="build_get_wfs_recurse_xsl.out.xml.local" description="to set variable build_get_wfs_recurse_xsl.out.xml.local to format ${bgwrx.temp}/${uuid}.out_task.dita.final_with_RelatedFeatureLoop.xml">
@@ -226,14 +320,19 @@
         <property name="build_get_wfs_recurse_xsl.out.xml.local" value="${bgwrx.temp}/${uuid.local}.get_wfs_recurse_xsl.out.xml"/>
     </target>-->
     
-    <target name="BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA.6.get_wfs_recurse_xsl.xml.api_recurse" depends="read_build_properties,build_get_wfs_recurse_xsl.create_tempdir">
+    
+    
+    
+    
+    <target name="BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA.79.get_wfs_recurse_xsl.xml.api_recurse" depends="read_build_properties,build_get_wfs_recurse_xsl.create_tempdir">
         <property name="typeName" value="default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA"/>
-        <property name="uuid" value="BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA.6.api_recurse.looptest"/>
+        <property name="uuid" value="BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA.79.api_recurse.looptest"/>
         <property name="xpath" value="ID"/>
-        <property name="xpath_value" value="6"/>
-        <property name="resolveDepth" value="1"/>
-        <property name="p5:links.recurse_level.limit" value="8"/>
-        <property name="p5:links.next.recurse_level.limit" value="20"/>
+        <property name="xpath_value" value="79"/>
+        <property name="resolveDepth" value="2"/>
+        <property name="p5:links.recurse_level.limit" value="9"/>
+        <property name="p5:links.next.recurse_level.limit" value="60"/>
+        <property name="build_get_wfs_recurse_xsl.out.xml.local" value="${bgwrx.temp}/${uuid}.get_wfs_recurse_xsl.out.xml"/>
         
         <!--<antcall target="build_get_wfs_recurse_xsl.out.xml.local" inheritall="true">
             <param name="uuid.local" value="${uuid}"/>
@@ -246,14 +345,181 @@
             <param name="xpath.local" value="ID"/>
             <param name="xpath_value.local" value="${xpath_value}"/>
             <param name="resolveDepth.local" value="${resolveDepth}"/>
-            <param name="build_get_wfs_recurse_xsl.out.xml.local" value="${bgwrx.temp}/${uuid}.get_wfs_recurse_xsl.out.xml"/>
+            <param name="build_get_wfs_recurse_xsl.out.xml.local" value="${build_get_wfs_recurse_xsl.out.xml.local}"/>
             <param name="p5:links.recurse_level.limit.local" value="${p5:links.recurse_level.limit}"/>
             <param name="p5:links.next.recurse_level.limit.local" value="${p5:links.next.recurse_level.limit}"/>
             <!--<param name="build_get_wfs_recurse_xsl.out.xml.local" value="${CRM_LISTA_ZASOBOW.get_wfs_recurse_xsl.xml}.api_recurse.xml"/>-->
         </antcall> 
+        
+        <xslt basedir="${default_db:recurse_ant_basedir}" style="${get_wfs_recurse_xsl.xsl}" in="${build_get_wfs_recurse_xsl.out.xml.local}"  destdir="${bgwrx.temp}" out="${build_get_wfs_recurse_xsl.out.xml.local}.anonimize_for_devel.xml" force="yes" > <!-- out_task.dita.final -->
+            <factory name="net.sf.saxon.TransformerFactoryImpl">    
+                <!--<attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>-->
+                <attribute name="http://saxon.sf.net/feature/initialMode" value="anonimize_for_devel"/>
+            </factory>
+            <classpath location="/opt/local/share/java/saxon9he.jar"/>
+            <!--<param name="webRootUrl" expression="${webRootUrl}" />--> 
+            <!--<param name="main_build_recurse_ant.dita" expression="${main_build_recurse_ant.dita}"/>-->
+            <param name="uuid" expression="${uuid.local}"/>
+            <param name="username.pass" expression="${username.pass}"/>
+            <param name="username" expression="${username}"/>
+            <param name="typeName" expression="${typeName.local}"/>
+            <param name="typeName.object" expression="${typeName.object.local}"/>
+            <param name="xpath_value" expression="${xpath_value.local}"/>
+            <param name="xpath" expression="${xpath.local}"/>
+            <param name="php_session_id_ok.string" expression="${php_session_id_ok.string}"/>
+            <!--<param name="basedir" expression="${basedir}"/>-->
+            <param name="temp" expression="${bgwrx.temp}"/>
+            <param name="simpleSchema_dir" expression="/Users/a.binder/Documents/xmlschema_procesy5/src-xmlschema/public_html/default_db.instance.xml/simpleSchema/"/>
+            <param name="api_recurse" expression="true"/>
+            <param name="resolveDepth" expression="${resolveDepth.local}"/>
+            <param name="{https://biuro.biall-net.pl/wfs}links.recurse_level.limit" expression="${p5:links.recurse_level.limit.local}"/>
+            <param name="{https://biuro.biall-net.pl/wfs}links.recurse_level.limit" expression="${p5:links.recurse_level.limit.local}"/>
+        </xslt>
+        
+    </target>
+    
+    
+    <target name="BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA.82.get_wfs_recurse_xsl.xml.api_recurse" depends="read_build_properties,build_get_wfs_recurse_xsl.create_tempdir">
+        <property name="typeName" value="default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA"/>
+        <property name="uuid" value="BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA.82.api_recurse.looptest"/>
+        <property name="xpath" value="ID"/>
+        <property name="xpath_value" value="82"/>
+        <property name="resolveDepth" value="3"/>
+        <property name="MAXFEATURES" value="250"/>
+        <property name="p5.links.recurse_level.limit" value="5"/>
+        <property name="p5.links.next.recurse_level.limit" value="30"/>
+        <property name="build_get_wfs_recurse_xsl.out.xml.local" value="${bgwrx.temp}/${uuid}.get_wfs_recurse_xsl.out.xml"/>
+        <property name="debug.local" value="0"/>
+        
+        <!--<antcall target="build_get_wfs_recurse_xsl.out.xml.local" inheritall="true">
+            <param name="uuid.local" value="${uuid}"/>
+        </antcall>-->
+        <!--<property name="build_get_wfs_recurse_xsl.out.xml.local" value="${CRM_LISTA_ZASOBOW.get_wfs_recurse_xsl.xml}.api_recurse.xml"/>-->
+        <antcall target="xml_recursed_from_tr_map.api_recurse">
+            <param name="typeName.local" value="${typeName}"/>
+            <param name="typeName.object.local" value="${typeName}"/>
+            <param name="uuid.local" value="${uuid}"/>
+            <param name="xpath.local" value="ID"/>
+            <param name="xpath_value.local" value="${xpath_value}"/>
+            <param name="resolveDepth.local" value="${resolveDepth}"/>
+            <param name="build_get_wfs_recurse_xsl.out.xml.local" value="${build_get_wfs_recurse_xsl.out.xml.local}"/>
+            <param name="p5.links.recurse_level.limit.local" value="${p5.links.recurse_level.limit}"/>
+            <param name="p5.links.next.recurse_level.limit.local" value="${p5.links.next.recurse_level.limit}"/>
+            <param name="debug.local"  value="${debug.local}"/>
+            <param name="MAXFEATURES.local" value="${MAXFEATURES}"/>
+            <!--<param name="build_get_wfs_recurse_xsl.out.xml.local" value="${CRM_LISTA_ZASOBOW.get_wfs_recurse_xsl.xml}.api_recurse.xml"/>-->
+        </antcall> 
+        
+        <antcall target="anonimize_for_devel">
+            <param name="build_get_wfs_recurse_xsl.out.xml.local" value="${build_get_wfs_recurse_xsl.out.xml.local}"/>
+        </antcall>
+        
+    </target>
+    
+    
+    
+    
+    
+    
+    
+    <target name="default_db__x3A__BI_audit_ENERGA_PRACOWNICY.9.get_wfs_recurse_xsl.xml.api_recurse" depends="read_build_properties,build_get_wfs_recurse_xsl.create_tempdir">
+        <property name="typeName" value="default_db__x3A__BI_audit_ENERGA_PRACOWNICY:BI_audit_ENERGA_PRACOWNICY"/>
+        <property name="uuid" value="default_db__x3A__BI_audit_ENERGA_PRACOWNICY.9.api_recurse.looptest"/>
+        <property name="xpath" value="ID"/>
+        <property name="xpath_value" value="9"/>
+        <property name="resolveDepth" value="3"/>
+        <property name="MAXFEATURES" value="250"/>
+        <property name="p5.links.recurse_level.limit" value="6"/>
+        <property name="p5.links.next.recurse_level.limit" value="2"/>
+        <property name="build_get_wfs_recurse_xsl.out.xml.local" value="${bgwrx.temp}/${uuid}.get_wfs_recurse_xsl.out.xml"/>
+        <property name="debug.local" value="0"/>
+        <property name="xpath.filter.local" value="(   not(matches(local-name(),'(.*KRS.*)')) or not( matches(parent::*/local-name(),'(.*KRS.*)'))   ) or 1=1 "/>
+        <!--<antcall target="build_get_wfs_recurse_xsl.out.xml.local" inheritall="true">
+            <param name="uuid.local" value="${uuid}"/>
+        </antcall>-->
+        <!--<property name="build_get_wfs_recurse_xsl.out.xml.local" value="${CRM_LISTA_ZASOBOW.get_wfs_recurse_xsl.xml}.api_recurse.xml"/>-->
+        <property name="bypass_nodes_string.local" value="(.*XXXXBI_audit_MSIG_nameXXXX.*)|(.*BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object)|(.*BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row)|(.*taxpayer.*)"/>
+        <property name="not_bypass_nodes_string.local" value="BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row"/>
+            
+        
+        <antcall target="xml_recursed_from_tr_map.api_recurse.xpath_filter">
+            <param name="typeName.local" value="${typeName}"/>
+            <param name="typeName.object.local" value="${typeName}"/>
+            <param name="uuid.local" value="${uuid}"/>
+            <param name="xpath.local" value="ID"/>
+            <param name="xpath_value.local" value="${xpath_value}"/>
+            <param name="resolveDepth.local" value="${resolveDepth}"/>
+            <param name="build_get_wfs_recurse_xsl.out.xml.local" value="${build_get_wfs_recurse_xsl.out.xml.local}"/>
+            <param name="p5.links.recurse_level.limit.local" value="${p5.links.recurse_level.limit}"/>
+            <param name="p5.links.next.recurse_level.limit.local" value="${p5.links.next.recurse_level.limit}"/>
+            <param name="debug.local"  value="${debug.local}"/>
+            <param name="MAXFEATURES.local" value="${MAXFEATURES}"/>
+            <!--<param name="build_get_wfs_recurse_xsl.out.xml.local" value="${CRM_LISTA_ZASOBOW.get_wfs_recurse_xsl.xml}.api_recurse.xml"/>-->
+        </antcall>
+        
+        <!--<antcall target="xml_recursed_from_tr_map.api_recurse">
+            <param name="typeName.local" value="${typeName}"/>
+            <param name="typeName.object.local" value="${typeName}"/>
+            <param name="uuid.local" value="${uuid}"/>
+            <param name="xpath.local" value="ID"/>
+            <param name="xpath_value.local" value="${xpath_value}"/>
+            <param name="resolveDepth.local" value="${resolveDepth}"/>
+            <param name="build_get_wfs_recurse_xsl.out.xml.local" value="${build_get_wfs_recurse_xsl.out.xml.local}"/>
+            <param name="p5.links.recurse_level.limit.local" value="${p5.links.recurse_level.limit}"/>
+            <param name="p5.links.next.recurse_level.limit.local" value="${p5.links.next.recurse_level.limit}"/>
+            <param name="debug.local"  value="${debug.local}"/>
+            <param name="MAXFEATURES.local" value="${MAXFEATURES}"/>
+            <!-\-<param name="build_get_wfs_recurse_xsl.out.xml.local" value="${CRM_LISTA_ZASOBOW.get_wfs_recurse_xsl.xml}.api_recurse.xml"/>-\->
+        </antcall>--> 
+        
+        <antcall target="anonimize_for_devel">
+            <param name="build_get_wfs_recurse_xsl.out.xml.local" value="${build_get_wfs_recurse_xsl.out.xml.local}"/>
+        </antcall>
+        
+        
     </target>
     
     
+    
+    <target name="anonimize_for_devel">
+        <input addproperty="build_get_wfs_recurse_xsl.out.xml.local"/>
+        <property name="anonimize_for_devel.xml" location="${build_get_wfs_recurse_xsl.out.xml.local}.anonimize_for_devel.xml"/>
+        <xslt basedir="${default_db:recurse_ant_basedir}" style="${get_wfs_recurse_xsl.xsl}" in="${build_get_wfs_recurse_xsl.out.xml.local}"  destdir="${bgwrx.temp}" out="${anonimize_for_devel.xml}" force="yes" > <!-- out_task.dita.final -->
+            <factory name="net.sf.saxon.TransformerFactoryImpl">    
+                <!--<attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>-->
+                <attribute name="http://saxon.sf.net/feature/initialMode" value="anonimize_for_devel"/>
+            </factory>
+            <classpath location="/opt/local/share/java/saxon9he.jar"/>
+            <!--<param name="webRootUrl" expression="${webRootUrl}" />--> 
+            <!--<param name="main_build_recurse_ant.dita" expression="${main_build_recurse_ant.dita}"/>-->
+            <param name="uuid" expression="${uuid.local}"/>
+            <param name="username.pass" expression="${username.pass}"/>
+            <param name="username" expression="${username}"/>
+            <param name="typeName" expression="${typeName.local}"/>
+            <param name="typeName.object" expression="${typeName.object.local}"/>
+            <param name="xpath_value" expression="${xpath_value.local}"/>
+            <param name="xpath" expression="${xpath.local}"/>
+            <param name="php_session_id_ok.string" expression="${php_session_id_ok.string}"/>
+            <!--<param name="basedir" expression="${basedir}"/>-->
+            <param name="temp" expression="${bgwrx.temp}"/>
+            <param name="simpleSchema_dir" expression="/Users/a.binder/Documents/xmlschema_procesy5/src-xmlschema/public_html/default_db.instance.xml/simpleSchema/"/>
+            <param name="api_recurse" expression="true"/>
+            <param name="resolveDepth" expression="${resolveDepth.local}"/>
+            <param name="{https://biuro.biall-net.pl/wfs}links.recurse_level.limit" expression="${p5.links.recurse_level.limit}"/>
+            <param name="{https://biuro.biall-net.pl/wfs}links.recurse_level.limit" expression="${p5.links.next.recurse_level.limit}"/>
+        </xslt>
+        
+        <antcall target="grapht.graph_tree">
+            <param name="grapht.input_file" location="${build_get_wfs_recurse_xsl.out.xml.local}"/>
+            <param name="grapht.output_name" value="${uuid}"/>
+        </antcall>
+        <antcall target="grapht.graph_tree">
+            <param name="grapht.input_file" location="${anonimize_for_devel.xml}"/>
+            <param name="grapht.output_name" value="${uuid}.anonimized"/>
+            <param name="bypass_nodes_string.local" value="(.*XXXXBI_audit_MSIG_nameXXXX.*)|(.*BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object)|(.*BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row)|(.*taxpayer.*)"/>
+        </antcall>
+    </target>
+    
     <target name="CRM_LISTA_ZASOBOW.get_wfs_recurse_xsl.xml.api_recurse" depends="read_build_properties,build_get_wfs_recurse_xsl.create_tempdir">
         <antcall target="xml_recursed_from_tr_map.api_recurse">
             <param name="typeName.local" value="'CRM_LISTA_ZASOBOW'"/>
@@ -261,6 +527,7 @@
             <param name="xpath.local" value="PARENT_ID"/>
             <param name="xpath_value.local" value="0"/>
             <param name="build_get_wfs_recurse_xsl.out.xml.local" value="${CRM_LISTA_ZASOBOW.get_wfs_recurse_xsl.xml}.api_recurse.xml"/>
+            <param name="debug.local" value="0"/>
         </antcall> 
     </target>
     

+ 65 - 0
SE/schema/WPS_Functions/graph_tree_TODO_PROJ6806/build.grapht.PRODUCT.xml

@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project 
+    xmlns:grapht="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/graph_tree/graph_tree.xsd"
+    basedir="../../." name="grapht.PRODUCT" default="basedir">
+    
+    <!--<include file="../build.WPS_Functions.PRODUCT.xml"/>-->
+    
+    
+    <include file="../build.WPS_Functions.PRODUCT.xml" as="WPS_Functions"/>
+    
+    <!--<condition property="p5dg.PRODUCT.ifdef.parent" taskname="p5dg.parent.PRODUCT.ifdef">
+        <isset property="WPS_Functions.PRODUCT.name"/>
+    </condition>-->
+    
+    
+   
+    <property name="grapht.PRODUCT.name" value="${p5dg.PRODUCT.name}.graph_tree"/>
+    <property name="grapht.PRODUCT.vendor-domain" value="${p5build_SE.PRODUCT.vendor-domain}.graph_tree"/>
+    
+    <property name="grapht.basedir"     value="${WPS_Functions.basedir}/graph_tree_TODO_PROJ6806"/>
+    <property name="grapht.repository"  value="${grapht.basedir}/repository"/>
+
+    <property name="grapht.temp"         location="${grapht.basedir}/temp"/>
+    
+    
+    <property name="grapht.xsl" location="${grapht.basedir}/graph_tree_yed_from_wfs.xsl"/>
+    <!--<property name="grapht.include.xsl.p5xsls.xml" location="${grapht.temp}/grapht.include.xsl.p5xsls.xml"/>
+    <property name="grapht.include.xsl" location="${grapht.basedir}/grapht.include.xsl"/>
+    <property name="grapht.include.structure.xml" location="${grapht.repository}/grapht.include.structure.xml"/>-->
+    
+    
+    
+    
+    
+    
+    
+    <target name="basedir" description="to create local dirs">
+        <propertyset id="grapht.local.properties">
+            <propertyref prefix="grapht"/>
+            <mapper type="glob" from="grapht.*" to="local.*"/>
+        </propertyset>
+        <antcall target="WPS_Functions.basedir.p5bws:dirs" inheritall="false">
+            <propertyset refid="grapht.local.properties"/>
+        </antcall>
+    </target>
+    
+    <target name="clean"  description="To delete all temp and repository">
+        <antcall target="WPS_Functions.basedir.p5bws:dirs.clean" inheritall="false">
+            <propertyset refid="grapht.local.properties"/>
+        </antcall>
+    </target>
+    
+    
+    <target name="clean.temp"  description="To delete all temp and repository">
+        <antcall target="WPS_Functions.basedir.p5bw.p5bws:dirs.temp.clean" inheritall="false">
+            <propertyset refid="grapht.local.properties"/>
+        </antcall>
+    </target>
+    
+    <target name="parent.PRODUCT.ifdef" unless="WPS_Functions.PRODUCT.ifdef.parent">
+        <fail>There is not set correct parent PRODUCT from expected file="../build.WPS_Functions.PRODUCT.xml" </fail>
+    </target>
+    
+    
+</project>

+ 95 - 0
SE/schema/WPS_Functions/graph_tree_TODO_PROJ6806/build_graph_tree.xml

@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project basedir="../../" name="graph_tree" default="graph_tree"
+    xmlns:grapht="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/graph_tree/graph_tree.xsd"
+    xmlns:graph="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/graph/graph.xsd"
+    xmlns:bgwrx="http://biuro.biall-net.pl/WPS_Functions/get_wfs_recurse_xsl/get_wfs_recurse_xsl.xsd"
+    >
+    
+    <include file="build.grapht.PRODUCT.xml" as="PRODUCT"/>
+    <include file="../system_ui_info_speech/build_system_ui_info_speech.xml" as="p5suis"/>
+    
+    
+    
+    
+    
+    
+    <target name="graph_tree">
+        <!--<local name="grapht.input_file"/>
+        <local name="grapht.output_name"/>-->
+        <input addproperty="grapht.input_file"/>
+        <input addproperty="grapht.output_name"/>
+        
+        <condition property="bypass_nodes_string.local" else="(.*XXXXBI_audit_MSIG_nameXXXX.*)|(.*XXXXXBI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_rowXXXXX)|(.*taxpayer.*)">
+            <isset property="bypass_nodes_string.local"/>
+        </condition>
+        
+        <condition property="not_bypass_nodes_string.local" else="BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object_XXXX">
+            <isset property="not_bypass_nodes_string.local"/>
+        </condition>
+        
+        <property name="grapht.output_name.path" location="${grapht.repository}/${grapht.output_name}.graphml"/>
+        
+            <echo>#32 params
+                $bypass_nodes_string.local = ${bypass_nodes_string.local}
+                $not_bypass_nodes_string.local = ${not_bypass_nodes_string.local}
+            </echo>
+        
+            <xslt basedir="${basedir}" style="${grapht.xsl}" in="${grapht.input_file}"   out="${grapht.output_name.path}"  force="true" >
+                <factory name="net.sf.saxon.TransformerFactoryImpl">    
+                    <attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>
+                    <!--<attribute name="http://saxon.sf.net/feature/initialMode" value="{http://biuro.biall-net.pl/WPS_Functions/get_wfs_recurse_xsl/get_wfs_recurse_xsl.xsd}compareFeatures.xml"/>-->
+                </factory>
+                <classpath location="/opt/local/share/java/saxon9he.jar"/>
+                <param name="bypass_nodes_string" expression="${bypass_nodes_string.local}"/>
+                <param name="not_bypass_nodes_string" expression="${not_bypass_nodes_string.local}"/>
+            </xslt>
+        
+        <antcall target="p5suis.p5suis:say_to_queue">
+            <param name="p5suis:say_text" value="Generated graph ML p5:object ${grapht.output_name}. Openning file in system UI"/>
+        </antcall>
+        <exec executable="open">
+            <arg file="${grapht.output_name.path}"/>
+        </exec>
+    </target>
+    
+    
+    
+    
+    <target name="BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA.82.api_recurse.looptest.get_wfs_recurse_xsl.out.xml.anonimize_for_devel.xml">
+        <!--<local name="grapht.input_file"/>-->
+        <!--<local name="grapht.output_name"/>-->
+        <!--<property name="grapht.input_file" location="/Users/a.binder/Documents/xmlschema_procesy5/src-xmlschema/public_html/WPS_Functions/get_wfs_recurse_xsl/temp/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA.82.api_recurse.looptest.get_wfs_recurse_xsl.out.xml.anonimize_for_devel.xml"/>-->
+        <antcall target="graph_tree">
+            <param name="grapht.input_file" location="/Users/a.binder/Documents/xmlschema_procesy5/src-xmlschema/public_html/WPS_Functions/get_wfs_recurse_xsl/temp/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA.82.api_recurse.looptest.get_wfs_recurse_xsl.out.xml.anonimize_for_devel.xml"/>
+            <param name="grapht.output_name" value="BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA.82.api_recurse.looptest.get_wfs_recurse_xsl.out.xml.anonimize_for_devel.xml"/>
+        </antcall>
+        
+    </target>
+    
+    <target name="BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA.82.api_recurse.looptest.get_wfs_recurse_xsl.out.xml">
+        <!--<local name="grapht.input_file"/>-->
+        <!--<local name="grapht.output_name"/>-->
+        <property name="grapht.input_file" location="/Users/a.binder/Documents/xmlschema_procesy5/src-xmlschema/public_html/WPS_Functions/get_wfs_recurse_xsl/temp/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA.82.api_recurse.looptest.get_wfs_recurse_xsl.out.xml"/>
+        <antcall target="graph_tree">
+            <param name="grapht.input_file" location="/Users/a.binder/Documents/xmlschema_procesy5/src-xmlschema/public_html/WPS_Functions/get_wfs_recurse_xsl/temp/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA.82.api_recurse.looptest.get_wfs_recurse_xsl.out.xml"/>
+            <param name="grapht.output_name" value="BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA.82.api_recurse"/>
+        </antcall>
+        
+    </target>
+   
+    
+
+
+  
+    <!--<target name="graph_tree" depends="properties">
+        
+        
+        <antcall target="p5suis.p5suis.say_to_queue.copy_file" >
+            <param name="p5suis.say_to_queue.copy_file" value="${compareFeatures.xml}"/>
+        </antcall>
+    </target>-->
+  
+  
+  
+  
+</project>

+ 334 - 60
SE/schema/WPS_Functions/graph_tree_TODO_PROJ6806/graph_tree_yed_from_wfs.xsl

@@ -5,6 +5,9 @@
     xmlns:wfs="http://www.opengis.net/wfs"
     xmlns:gml="http://www.opengis.net/gml"
     xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:get_wfs_recurse_xsl="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/get_wfs_recurse_xsl.xsd"
+    xmlns:p5="https://biuro.biall-net.pl/wfs"
+    xmlns:grapht="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/graph_tree/graph_tree.xsd"
     xmlns:y="http://www.yworks.com/xml/graphml">
     <xsl:output method="xml" indent="yes"/>
     
@@ -16,8 +19,10 @@
     <xsl:param name="graph_title" select="'Arkadiusz Binder/RIP Graficzna prezentacja wybranych par raportu dla podanych KRS 2017-08-09'"/>
     <xsl:param name="graph_desc" select="'Uwaga - limit 10 umow'"/>
     
-    <xsl:param name="bypass_nodes_string" select="'(.*BI_audit_MSIG_name.*)|(.*BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA.*)'"/>
-    <xsl:param name="not_bypass_nodes_string" select="'xxxxxxxBI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object'"/>
+    <xsl:param name="bypass_nodes_string" select="'(.*XXXXBI_audit_MSIG_nameXXXX.*)|(BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row)|(.*taxpayer.*)'"/>
+    <xsl:param name="not_bypass_nodes_string" select="'BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object'"/>
+    <xsl:param name="debug" select="0"/>
+    
     
     <xsl:variable name="colors">
         <colors>
@@ -52,16 +57,20 @@
             
             <object_hex pos="9">#FFAAAA</object_hex>
             
-            
+            <dashed>
+                <dash pos="0">dashed</dash>
+                <dash pos="1">line</dash>
+            </dashed>
             
         </colors>
-        <dashed>
-            <dash pos="0">dashed</dash>
-            <dash pos="1">line</dash>
-        </dashed>
+        
     </xsl:variable>
     
     
+    <xsl:template match="get_wfs_recurse_xsl:context.PRIMARYKEY|get_wfs_recurse_xsl:nodes" mode="#all"/>
+        
+    
+    
     
     <xsl:template match="RelatedFeatureRoot" xpath-default-namespace="">
         <xsl:message>#63 matched RelatedFeatureRoot</xsl:message>
@@ -78,12 +87,98 @@
     
     
     <xsl:template match="wfs:FeatureCollection" xpath-default-namespace="http://graphml.graphdrawing.org/xmlns">
+        <xsl:variable name="gml:featureMember">
+            <!--<gml:featureMember>-->
+            <xsl:for-each select="gml:featureMember//*[ substring-before(substring-after(name(),'__x3A__'),':') = local-name() and (* or @xlink:href) ]"> <!--  -->
+                <!--<xsl:message>#135OKOK  trasa <xsl:value-of select="position()"/> <xsl:value-of select="@fid"/></xsl:message>-->
+                <xsl:element name="{local-name()}" >
+                    <!--<xsl:namespace name="{ substring-before(name(),':')}" select="substring-before(name(),':')"/>-->
+                    <xsl:copy-of select="@*"/>
+                    <xsl:attribute name="pos" select="position()"/>
+                    <xsl:if test="../@fid"><xsl:attribute name="parent" select="../@fid"/></xsl:if>
+                    <xsl:variable name="fid">
+                        <xsl:choose>
+                            <xsl:when test="@fid"><xsl:value-of select="@fid"/></xsl:when>
+                            <xsl:when test="@xlink:href and @p5:primaryKey">
+                                <xsl:value-of select="concat(local-name(),'.',@p5:primaryKey)"/>
+                            </xsl:when>
+                            <xsl:otherwise><xsl:message terminate="yes">#131 missing @fid for element <xsl:value-of select="name()"/>;</xsl:message></xsl:otherwise>
+                        </xsl:choose>
+                    </xsl:variable>
+                    <xsl:attribute name="fid" select="$fid"/>
+                    <xsl:choose>
+                        <xsl:when test="( matches($fid,$bypass_nodes_string) or matches($fid,$bypass_nodes_string)  )   and ( not(matches($fid,$not_bypass_nodes_string)) and not(matches($fid,$not_bypass_nodes_string)))">
+                            <xsl:attribute name="bypass" select="true()"/>
+                            <xsl:choose>
+                                <xsl:when test="count(*[@fid]) &gt;1">
+                                    <xsl:attribute name="bypass.group.count" select="count(*[@fid])"/>
+                                    <xsl:attribute name="bypass.group.id" select="replace(@fid,'\.','_')"/>
+                                    <grapht:group_childs>
+                                        <xsl:for-each select="*[@fid]">
+                                            <xsl:copy copy-namespaces="no">
+                                                <xsl:copy-of select="@*"/>
+                                                <xsl:for-each select="*[not(@fid) and not(@xlink:href) and not(*)]">
+                                                    <xsl:copy copy-namespaces="no">
+                                                        <xsl:copy-of select="@*"/>
+                                                        <xsl:copy-of select="text()"/>
+                                                    </xsl:copy>
+                                                </xsl:for-each>
+                                            </xsl:copy>
+                                        </xsl:for-each>
+                                    </grapht:group_childs>
+                                </xsl:when>
+                                <xsl:when test="../@fid and *[@fid]">
+                                    <xsl:attribute name="bypass.parent" select="../@fid"/>
+                                    <xsl:attribute name="bypass.child" select="*[@fid]/@fid"/>
+                                </xsl:when>
+                                <xsl:otherwise>
+                                    <xsl:attribute name="bypass.not-aviable" select=" true()"/>
+                                    <xsl:message>#164 bypass not aviable - not parent ../@fid found for @fid=<xsl:value-of select="@fid"/>; or @xlink:href=<xsl:value-of select="@xlink:href"/>;</xsl:message>
+                                    <xsl:comment>#164 bypass not aviable - not parent ../@fid found for @fid=<xsl:value-of select="@fid"/>; or @xlink:href=<xsl:value-of select="@xlink:href"/>;</xsl:comment>
+                                </xsl:otherwise>
+                            </xsl:choose>
+                        </xsl:when>
+                        <xsl:when test="( matches(../@fid,$bypass_nodes_string) or matches(../@fid,$bypass_nodes_string)  )   and ( not(matches(../@fid,$not_bypass_nodes_string)) and not(matches(../@fid,$not_bypass_nodes_string)))"><!-- detect child if its connects to grouped or bypassed parent  -->
+                            <xsl:attribute name="bypass.parent" select="'group'"/>
+                            <xsl:choose>
+                                <xsl:when test="count(../*[@fid]) &gt;1">
+                                    <xsl:attribute name="bypass.parent.group.id" select="replace(../@fid,'\.','_')"/>
+                                    <xsl:attribute name="bypass.parent.current.id" select="concat( replace(../@fid,'\.','_'),'::', replace(@fid,'\.','_'))"/>
+                                </xsl:when>
+                                <xsl:when test="../../@fid and ../@fid">
+                                    <xsl:attribute name="bypass.parent.parent" select="../../@fid"/>
+                                </xsl:when>
+                                <xsl:otherwise>
+                                    <xsl:message>#179 bypass parent not aviable - not parent ../../@fid found for @fid=<xsl:value-of select="@fid"/>; or @xlink:href=<xsl:value-of select="@xlink:href"/>;</xsl:message>
+                                    <xsl:comment>#179 bypass parent not aviable - not parent ../../@fid found for @fid=<xsl:value-of select="@fid"/>; or @xlink:href=<xsl:value-of select="@xlink:href"/>;</xsl:comment>
+                                </xsl:otherwise>
+                            </xsl:choose>
+                        </xsl:when>
+                    </xsl:choose>
+                    <xsl:for-each select="*[ not( substring-before(substring-after(name(),'__x3A__'),':') = local-name() ) ]">
+                        <xsl:copy-of select="." copy-namespaces="no"/>
+                    </xsl:for-each>
+                </xsl:element>
+            </xsl:for-each>
+            <!--</gml:featureMember>-->
+        </xsl:variable>
+        
+        
         <graphml
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns="http://graphml.graphdrawing.org/xmlns"
             xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
             <key id="d0" for="node" yfiles.type="nodegraphics"/>
             <key id="d1" for="edge" yfiles.type="edgegraphics"/>
+            
+          
+            
+            <xsl:for-each select="$gml:featureMember//*[grapht:group_childs]">
+                <key attr.name="url" attr.type="string" for="node" id="{replace(@fid,'\.','_')}_4"/>
+                <key attr.name="description" attr.type="string" for="node" id="{replace(@fid,'\.','_')}_5"/>
+                <key for="node" id="{replace(@fid,'\.','_')}_6" yfiles.type="nodegraphics"/>
+            </xsl:for-each>
+            
             <graph id="G" edgedefault="directed">
                 
                 
@@ -108,40 +203,43 @@
                 </xsl:element>
         
                 
-                <xsl:variable name="gml:featureMember">
-                    <!--<gml:featureMember>-->
-                    <xsl:for-each select="gml:featureMember//*[ substring-before(substring-after(name(),'__x3A__'),':') = local-name() ]">
-                        <!--<xsl:message>#135OKOK  trasa <xsl:value-of select="position()"/> <xsl:value-of select="@fid"/></xsl:message>-->
-                        <xsl:element name="{local-name()}" >
-                            <!--<xsl:namespace name="{ substring-before(name(),':')}" select="substring-before(name(),':')"/>-->
-                            <xsl:copy-of select="@*"/>
-                            <xsl:attribute name="pos" select="position()"/>
-                            <xsl:if test="../@fid"><xsl:attribute name="parent" select="../@fid"/></xsl:if>
-                            
-                            <xsl:for-each select="*[ not( substring-before(substring-after(name(),'__x3A__'),':') = local-name() ) ]">
-                                <xsl:copy-of select="." copy-namespaces="no"/>
-                            </xsl:for-each>
-                        </xsl:element>
-                    </xsl:for-each>
-                    <!--</gml:featureMember>-->
-                </xsl:variable>
                 
-                <!--<xsl:copy-of select="$gml:featureMember"/>-->
                 
+                <xsl:if test="number($debug)&gt;3">
+                    <debug.128>
+                        <xsl:copy-of select="$gml:featureMember"/>
+                    </debug.128>
+                </xsl:if>
+                
+                
+                <!--<debug.129>
+                    <xsl:copy-of select="gml:featureMember//*[  @xlink:href]"/>
+                </debug.129>-->
+                <!--<debug_129_grouped>
+                    <xsl:for-each-group select="$gml:featureMember/*" group-by="@fid">
+                        <xsl:copy-of select="."/>
+                    </xsl:for-each-group>
+                </debug_129_grouped>-->
                 <xsl:comment>#95 create-nodes-BI dla DEALS</xsl:comment>
                 
                 
-                <xsl:for-each select="$gml:featureMember">
+                <!--<xsl:for-each select="$gml:featureMember">
                     <xsl:apply-templates mode="create-nodes-BI-wfs"/>
-                </xsl:for-each>
+                </xsl:for-each>-->
                 
 
+                <xsl:comment>#139 nizej group by</xsl:comment>
                 
-                
-                <xsl:for-each-group select="$gml:featureMember" group-by="@fid">
-                    <xsl:apply-templates mode="create-nodes-BI-wfs" />
+                <xsl:for-each-group select="$gml:featureMember/*" group-by="@fid">
+                    <xsl:comment>#142 create-nodes-BI-wfs for @fid=<xsl:value-of select="@fid"/>;</xsl:comment>
+                    <xsl:apply-templates mode="create-nodes-BI-wfs" select="." />
                 </xsl:for-each-group>
-      
+               <!-- <xsl:comment>#159 create-nodes-BI-wfs for @xlink:href ;</xsl:comment>
+                <xsl:for-each-group select="$gml:featureMember/*" group-by="@xlink:href">
+                    <xsl:comment>#160 create-nodes-BI-wfs for @xlink:href=<xsl:value-of select="@xlink:href"/>;</xsl:comment>
+                    <xsl:apply-templates mode="create-nodes-BI-wfs" select="." />
+                </xsl:for-each-group>-->
+                
                 <xsl:variable name="edges">
                     <edges>
                         <xsl:for-each select="$gml:featureMember/*">
@@ -152,22 +250,25 @@
                                 <xsl:with-param name="next" select="@parent"/>
                             </xsl:apply-templates>
                         </xsl:for-each>
-                        
-                            
                             <!--<xsl:apply-templates mode="create-edges-BI-wfs" select="$gml:featureMember" >
                                 <xsl:with-param name="pos" select="@pos"/>
                                 <xsl:with-param name="next" select="@parent"/>
                             </xsl:apply-templates>-->
-                        
                     </edges>
                 </xsl:variable>
-                <!--<debug.edges>
-                    <xsl:copy-of select="$edges"></xsl:copy-of>
-                    
-                </debug.edges>-->
+                <xsl:if test="number($debug) &gt; 3">
+                    <debug.edges>
+                        <xsl:copy-of select="$edges"></xsl:copy-of>
+                    </debug.edges>
+                </xsl:if>
                 <xsl:for-each-group select="$edges/edges/edge" group-by="concat(@target,@source)"> <!-- group-by="@target" -->
+                    
                     <edge xmlns="http://graphml.graphdrawing.org/xmlns">
                         <xsl:copy-of select="@*"/>
+                        <xsl:copy-of select="comment()"/>
+                        <!--<xsl:copy-of select="../comment()"/>-->
+                        <!--<xsl:comment>#173</xsl:comment>-->
+                        <!--<xsl:copy-of select="../../comment()"/>-->
                         <xsl:copy-of select="*"/>
                     </edge>
                 </xsl:for-each-group>
@@ -184,6 +285,7 @@
     <xsl:template match="BI_audit_ENERGA_RUM_UMOWY" mode="create-edges-BI-rev">
         <xsl:param name="pos" required="yes"/>
         <xsl:param name="next" required="yes"/>
+        <xsl:comment>#187 match BI_audit_ENERGA_RUM_UMOWY</xsl:comment>
         <xsl:element name="edge">
             <xsl:attribute name="id">
                 <xsl:value-of select="generate-id()"/>
@@ -233,6 +335,7 @@
             <xsl:attribute name="target">
                 <xsl:value-of select="$next[1]/concat(name(), '_',@pos)"/>
             </xsl:attribute>
+            <xsl:attribute name="debug.237" select="1"/>
             <y:GenericEdge configuration="com.yworks.edge.framed">
                 <xsl:comment>mod:<xsl:value-of select="$pos mod 10"/>/<xsl:value-of select=" position() mod 10"/> /<xsl:value-of select=" position() mod 2"/> </xsl:comment>
                 <y:LineStyle color="{$colors/colors/color[ @pos =   $pos mod 10  ]/text()}" type="{$colors/dashed/dash[ @pos =    $pos mod 2  ]/text()}" width="{(position() mod 3) + 1}.0"/>
@@ -262,19 +365,28 @@
         <xsl:comment>#256 bypassed edge to clarify powiazania for node/name() <xsl:value-of select="local-name()"/> to <xsl:value-of select="../local-name()"/></xsl:comment>
     </xsl:template>
     
+    <xsl:template match="*[@xlink:href and not(@parent) ]" mode="create-edges-BI-wfs" priority="5" xpath-default-namespace="http://graphml.graphdrawing.org/xmlns">
+        <xsl:message>#272 bypassed edges due to not @parent @xlink:href=<xsl:value-of select="@xlink:href"/>; @fid=<xsl:value-of select="@fid"/>;</xsl:message>
+        <xsl:comment>#272 bypassed edges due to not @parent @xlink:href=<xsl:value-of select="@xlink:href"/>; @fid=<xsl:value-of select="@fid"/>;</xsl:comment>
+    </xsl:template>
 
-
-    <xsl:template match="*[@xlink:href]" mode="create-edges-BI-wfs" priority="5" xpath-default-namespace="http://graphml.graphdrawing.org/xmlns">
+    <xsl:template match="*[@xlink:href and @parent ]" mode="create-edges-BI-wfs" priority="5" xpath-default-namespace="http://graphml.graphdrawing.org/xmlns">
         <!--<default_db__x3A__BI_audit_KRS_person:BI_audit_KRS_person
             xlink:href="https://biuro.biall-net.pl/wfs/default_db/BI_audit_KRS_person#BI_audit_KRS_person.150746"/>-->
         
         <xsl:param name="pos" required="yes"/>
         <xsl:param name="next" required="yes"/>
-        <!--<xsl:comment>parent <xsl:value-of select="@parent"/></xsl:comment>-->
+        <xsl:comment>#273 edges *[@xlink:href and @parent] create-edges-BI-wfs
+            parent <xsl:value-of select="@parent"/></xsl:comment>
+        <xsl:message>#273 edges *[@xlink:href and @parent] create-edges-BI-wfs
+            parent <xsl:value-of select="@parent"/></xsl:message>
         <xsl:choose>
+            <xsl:when test="@bypass.not-aviable">
+                <xsl:message>#373 skipped edge because of because of <xsl:value-of select="@bypass.not-aviable"/> for @fid=<xsl:value-of select="@fid"/>;/@xlink:href=<xsl:value-of select="@xlink:href"/>; </xsl:message>
+            </xsl:when>
             <xsl:when test="../*[@fid = current()/substring-after(@xlink:href,'#')]">
                 <xsl:element name="edge" namespace="http://graphml.graphdrawing.org/xmlns">
-                    
+                    <!--<xsl:attribute name="debug.279" select="1"/>-->
                     <xsl:attribute name="id">
                         <xsl:value-of select="generate-id()"/>
                     </xsl:attribute>
@@ -283,13 +395,26 @@
                         <xsl:value-of select=" substring-after(replace(@xlink:href,'\.','_'),'#')"/>
                     </xsl:attribute>
                     <xsl:attribute name="target">
+                        <xsl:choose>
+                            <xsl:when test="@bypass.parent.group.id">
+                                <xsl:value-of select="@bypass.parent.group.id"/>
+                            </xsl:when>
+                            <xsl:otherwise><xsl:value-of select="replace(@parent,'\.','_')"/></xsl:otherwise>
+                        </xsl:choose>
                         <!--<xsl:value-of select="$next[1]/concat(name(), '_',@pos)"/>-->
-                        <xsl:value-of select="replace(@parent,'\.','_')"/>
+                        
                     </xsl:attribute>
+                    <xsl:if test="number($debug) &gt; 4">
+                        <xsl:copy-of select="@*"/>
+                        <xsl:attribute name="debug.390" select="true()"/>    
+                    </xsl:if>
                     <!--<xsl:attribute name="deb.ref" select="../*[@fid = current()/substring-after(@xlink:href,'#')]"/>-->
                     <y:GenericEdge configuration="com.yworks.edge.framed">
                         <xsl:comment>mod:<xsl:value-of select="$pos mod 10"/>/<xsl:value-of select=" position() mod 10"/> /<xsl:value-of select=" position() mod 2"/> </xsl:comment>
-                        <y:LineStyle color="{$colors/colors/color[  @pos =   number(substring-after( current()/@fid,'.')) mod 10  ]/text()}" type="{$colors/dashed/dash[ @pos = number(substring-after( current()/@fid,'.'))  mod 2  ]/text()}" width="{(position() mod 3) + 1}.0"/>
+                        <y:LineStyle  width="{(position() mod 3) + 1}.0">
+                            <xsl:attribute name="color" select="$colors/colors/object_hex[  @name =  substring-before(@fid,'.') or @name='*' ][1]/text()" xpath-default-namespace=""/>
+                            <xsl:attribute name="type" select="$colors/colors/dashed/dash[ @pos = ( $pos  mod 2 )  ]/text()" xpath-default-namespace=""/>
+                        </y:LineStyle>
                         <y:Arrows source="none" target="standard"/>
                         <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false"  horizontalTextPosition="center" iconTextGap="4" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true"><xsl:value-of select="../relation_from/text()"/><y:LabelModel>
                             <y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
@@ -321,30 +446,63 @@
     <!--<xsl:template match="*[ contains(@parent,'BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA')]" mode="create-edges-BI-wfs" priority="9"/>-->
     <xsl:template match="*[@parent and not(@xlink:href) and ( matches(@parent,$bypass_nodes_string) or matches(@fid,$bypass_nodes_string)  )   and ( not(matches(@parent,$not_bypass_nodes_string)) and not(matches(@parent,$not_bypass_nodes_string))  ) ]" mode="create-edges-BI-wfs" xpath-default-namespace="http://graphml.graphdrawing.org/xmlns" priority="9">
         <xsl:message>#322 bypassed from <xsl:value-of select="name()"/> to <xsl:value-of select="@parent"/></xsl:message>
-        <xsl:comment>#322 bypassed from <xsl:value-of select="name()"/> to <xsl:value-of select="@parent"/></xsl:comment>
+        <xsl:comment>#322 bypassed from <xsl:value-of select="name()"/> to <xsl:value-of select="@parent"/>
+            calculating grouping type
+                    <xsl:copy-of select="grapht:group_childs"/>
+        </xsl:comment>
     </xsl:template>
 
+    <xsl:template match="*[@bypass.group.id]" priority="5" mode="create-edges-BI-wfs" xpath-default-namespace="http://graphml.graphdrawing.org/xmlns">
+        <xsl:comment>#435 bypassed edge by @bypass.group.id=<xsl:value-of select="@bypass.group.id"/> </xsl:comment>
+        <xsl:message>#435 bypassed edge by @bypass.group.id=<xsl:value-of select="@bypass.group.id"/> </xsl:message>
+    </xsl:template>
 
     <xsl:template match="*[@parent and not(@xlink:href)]" priority="5" mode="create-edges-BI-wfs" xpath-default-namespace="http://graphml.graphdrawing.org/xmlns">
         <xsl:param name="pos" required="yes"/>
         <xsl:param name="next" required="yes"/>
-        <!--<xsl:comment>parent <xsl:value-of select="@parent"/></xsl:comment>-->
+        <xsl:comment>#331 edges *[@parent and not(@xlink:href)]
+            parent <xsl:value-of select="@parent"/></xsl:comment>
+        <xsl:message>#331 edges *[@parent and not(@xlink:href)]
+            parent <xsl:value-of select="@parent"/></xsl:message>
         <xsl:element name="edge" namespace="http://graphml.graphdrawing.org/xmlns">
+            <!--<xsl:attribute name="debug.334" select="1"/>-->
             <xsl:attribute name="id">
                 <xsl:value-of select="generate-id()"/>
             </xsl:attribute>
+            <xsl:if test="number($debug) &gt; 4">
+                <xsl:copy-of select="@*"/>
+                <xsl:attribute name="debug.454" select="true()"/>    
+            </xsl:if>
             <xsl:attribute name="source">
+                <xsl:choose>
+                    <xsl:when test="@bypass.parent.current.id">
+                        <xsl:value-of select="@bypass.parent.current.id"/>
+                    </xsl:when>
+                    <xsl:when test="@bypass.group.id">
+                        <xsl:value-of select="@bypass.group.id"/>
+                    </xsl:when>
+                    <xsl:otherwise><xsl:value-of select="replace(@fid,'\.','_')"/></xsl:otherwise>
+                </xsl:choose>
                 <!--<xsl:value-of select="concat(name(),'_',@pos)"/>-->
-                <xsl:value-of select="replace(@fid,'\.','_')"/>
             </xsl:attribute>
             <xsl:attribute name="target">
+                <xsl:choose>
+                    <xsl:when test="@bypass.parent.group.id">
+                        <xsl:value-of select="@bypass.parent.group.id"/>
+                    </xsl:when>
+                    <xsl:otherwise><xsl:value-of select="replace(@parent,'\.','_')"/></xsl:otherwise>
+                </xsl:choose>
                 <!--<xsl:value-of select="$next[1]/concat(name(), '_',@pos)"/>-->
-                <xsl:value-of select="replace(@parent,'\.','_')"/>
+                
             </xsl:attribute>
             <!--<xsl:attribute name="deb.pos" select="number(substring-after(@fid,'.'))"/>-->
             <y:GenericEdge configuration="com.yworks.edge.framed">
-                <xsl:comment>mod:<xsl:value-of select="$pos mod 10"/>/<xsl:value-of select=" position() mod 10"/> /<xsl:value-of select=" position() mod 2"/> </xsl:comment>
-                <y:LineStyle color="{$colors/colors/color[  @pos =   number(substring-after( current()/@fid,'.')) mod 10  ]/text()}" type="{$colors/dashed/dash[ @pos = number(substring-after( current()/@fid,'.'))  mod 2  ]/text()}" width="{(position() mod 3) + 1}.0"/>
+                <xsl:variable name="modulo" select="$pos mod 10"/>
+                <xsl:comment>modulo = <xsl:value-of select="$modulo"/>; <xsl:value-of select="$pos mod 10"/>/<xsl:value-of select=" position() mod 10"/> /<xsl:value-of select=" position() mod 2"/> </xsl:comment>
+                <y:LineStyle   width="{(position() mod 3) + 1}.0">
+                    <xsl:attribute name="color" select="$colors/colors/object_hex[  @name =  substring-before(@fid,'.') or @name='*' ][1]/text()" xpath-default-namespace=""/>
+                    <xsl:attribute name="type" select="$colors/colors/dashed/dash[ @pos = ( $pos  mod 2 )  ]/text()" xpath-default-namespace=""/>
+                </y:LineStyle> <!-- number(substring-after( current()/@fid,'.')) -->
                 <y:Arrows source="none" target="standard"/>
                 <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false"  horizontalTextPosition="center" iconTextGap="4" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true"><xsl:value-of select="../relation_from/text()"/><y:LabelModel>
                     <y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
@@ -417,7 +575,7 @@
                 <y:ShapeNode>
                     <y:Fill color="#FF88AA"/>
                     <y:Geometry height="120.0" width="500"/>
-                    <y:NodeLabel width="500" height="120">&lt;html&gt;&lt;div
+                    <y:NodeLabel width="500" height="121">&lt;html&gt;&lt;div
                         style="font-size:100%;color:blue;"&gt;
                         <xsl:value-of select="Spolka_glowna/text()"/>&lt;br&gt;
                         <!--<xsl:value-of select="Przedmiot_umowy/text()"/>&lt;br&gt;-->
@@ -548,7 +706,7 @@
                     <y:Fill color="#CC00CC"/>
                     <y:Geometry height="50.0" width="400"/>
                     <y:NodeLabel width="400" height="30">&lt;html&gt;&lt;div
-                        style="font-size:120%;color:blue;"&gt;
+                        style="font-size:122%;color:blue;"&gt;
                         <xsl:value-of select="'KW Seller '"/>&lt;br&gt;
                         <xsl:value-of select="Seller_person"/>
                         &lt;/div&gt;
@@ -629,15 +787,93 @@
     
     
     <xsl:template priority="9" match="*[ not(@xlink:href) and matches(local-name(),$bypass_nodes_string) and ( not(matches(local-name(),$not_bypass_nodes_string))   )  ]" mode="create-nodes-BI-wfs" xpath-default-namespace="http://graphml.graphdrawing.org/xmlns">
-        <xsl:comment>#631 bypassed <xsl:value-of select="name()"/></xsl:comment>
-        <xsl:message>#631 bypassed <xsl:value-of select="name()"/></xsl:message>
+        <xsl:comment>#631 bypassed <xsl:value-of select="name()"/>; and fid=<xsl:value-of select="@fid"/>;</xsl:comment>
+        <xsl:message>#631 bypassed <xsl:value-of select="name()"/>; and fid=<xsl:value-of select="@fid"/>;</xsl:message>
+    </xsl:template>
+    
+    
+    <xsl:template  match="*[grapht:group_childs]" mode="create-nodes-BI-wfs" xpath-default-namespace="http://graphml.graphdrawing.org/xmlns" priority="9">
+        <xsl:comment>#728 match="*[grapht:group_childs]" </xsl:comment>
+        <xsl:variable name="id" select="replace(@fid,'\.','_')"/>
+        
+        <!--<data key="d0" xmlns="http://graphml.graphdrawing.org/xmlns"/>-->
+        
+        
+        
+        
+        <xsl:element name="node" namespace="http://graphml.graphdrawing.org/xmlns">
+            <xsl:attribute name="id" select="$id"/>
+            <xsl:attribute name="yfiles.foldertype" select="'group'"/>
+            <data key="{$id}_4" xmlns="http://graphml.graphdrawing.org/xmlns"/>
+            <data key="{$id}_6" xmlns="http://graphml.graphdrawing.org/xmlns">
+                <y:ProxyAutoBoundsNode>
+                    <y:Realizers active="0">
+                        <y:GroupNode>
+                            <y:Geometry height="239.0" width="152.0" x="477.0" y="413.0"/>
+                            <y:Fill color="#CAECFF84" transparent="false"/>
+                            <y:BorderStyle color="#666699" type="dotted" width="1.0"/>
+                            <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#99CCFF" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.666015625" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="152.0" x="0.0" y="0.0"><xsl:value-of select="@fid"/></y:NodeLabel>
+                            <y:Shape type="roundrectangle"/>
+                            <y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
+                            <y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
+                            <y:BorderInsets bottom="30" bottomF="29.5" left="16" leftF="16.0" right="70" rightF="70.0" top="68" topF="67.833984375"/>
+                        </y:GroupNode>
+                        <y:GroupNode>
+                            <y:Geometry height="50.0" width="150.0" x="477.0" y="413.0"/>
+                            <y:Fill color="#CAECFF84" transparent="false"/>
+                            <y:BorderStyle color="#666699" type="dotted" width="1.0"/>
+                            <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#99CCFF" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.666015625" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="50.0" x="0.0" y="0.0"><xsl:value-of select="@fid"/></y:NodeLabel>
+                            <y:Shape type="roundrectangle"/>
+                            <y:State closed="true" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
+                            <y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
+                            <y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
+                        </y:GroupNode>
+                    </y:Realizers>
+                </y:ProxyAutoBoundsNode>
+            </data>
+            
+            <xsl:element name="graph" namespace="http://graphml.graphdrawing.org/xmlns">
+                <xsl:attribute name="edgedefault" select="'directed'"/>
+                <xsl:attribute name="id" select="concat($id,':')"/>
+                <!--<node id="{$id}::{$id}" yfiles.foldertype="group" xmlns="http://graphml.graphdrawing.org/xmlns">
+                    <data key="{$id}_4"/>
+                    <data key="{$id}_5"/>
+                    <data key="{$id}_6">
+                        <y:ShapeNode>
+                            <y:Geometry height="30.0" width="300.0" x="514.0" y="517.5"/>
+                            <y:Fill color="#FFCC00" transparent="false"/>
+                            <y:BorderStyle color="#000000"  type="line" width="1.0"/> <!-\- raised="false" -\->
+                            <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="11.587890625" x="9.2060546875" y="5.93359375"><xsl:value-of select="@fid"/><y:LabelModel>
+                                <y:SmartNodeLabelModel distance="4.0"/>
+                            </y:LabelModel>
+                                <y:ModelParameter>
+                                    <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                                </y:ModelParameter>
+                            </y:NodeLabel>
+                            <y:Shape type="rectangle3d"/>
+                        </y:ShapeNode>
+                    </data>
+                    
+                </node>-->
+                <xsl:apply-templates mode="create-nodes-BI-wfs" select="grapht:group_childs/*" xpath-default-namespace="http://graphml.graphdrawing.org/xmlns">
+                    <xsl:with-param name="grapht:group.id" select="$id"/>
+                </xsl:apply-templates>
+            </xsl:element>
+            
+        </xsl:element>        
+        
     </xsl:template>
     
     <xsl:template match="*[ not(@xlink:href)]" mode="create-nodes-BI-wfs" xpath-default-namespace="http://graphml.graphdrawing.org/xmlns">
+        <xsl:param name="grapht:group.id"/>
+        <xsl:comment>#689 match *[ not(@xlink:href)]</xsl:comment>
         <xsl:element name="node" namespace="http://graphml.graphdrawing.org/xmlns">
             <xsl:attribute name="id">
                 <!--<xsl:value-of select="concat(name(),'_',@pos)"/>-->
-                <xsl:value-of select="replace(@fid,'\.','_')"/>
+                <xsl:choose>
+                    <xsl:when test="$grapht:group.id"><xsl:value-of select="concat( $grapht:group.id,'::',replace(@fid,'\.','_'))"/></xsl:when>
+                    <xsl:otherwise><xsl:value-of select="replace(@fid,'\.','_')"/></xsl:otherwise>
+                </xsl:choose>
             </xsl:attribute>
             <!--<xsl:attribute name="deb.fid" select="@fid"/>-->
             <!--<xsl:attribute name="deb.fid2" select=" text()"/>-->
@@ -651,9 +887,47 @@
                         </xsl:attribute>
                     </y:Fill><!--<xsl:value-of select="local-name()"/>-->
                     <y:NodeLabel width="400" height="{ ((count(*[not( local-name()='ID') and not( matches(local-name(),'(S_*)|(A_)|(TERYT.*)'))]) * 18) + 70)}">&lt;html&gt;&lt;div
-                        style="font-size:120%;color:black;"&gt;
+                        style="font-size:123%;color:black;"&gt;
                         <xsl:value-of select="ID"/>&lt;br&gt;
-                        <xsl:value-of select=" substring(name(),10)"/>&lt;br&gt;
+                        <xsl:value-of select=" substring(name(),10)"/>.<xsl:value-of select="substring-after(@fid,'.')"/>&lt;br&gt;
+                        <xsl:for-each select="*[not( local-name()='ID') and not( matches(local-name(),'(S_*)|(A_)|(TERYT.*)'))]" xpath-default-namespace="http://graphml.graphdrawing.org/xmlns">
+                            <xsl:value-of select=" substring(local-name(),0,10)"/><xsl:text> : </xsl:text><xsl:value-of select=" substring(.,0,20)"/> <!--<xsl:for-each select="text()"><xsl:value-of select="substring(text(),20)"/></xsl:for-each>-->&lt;br&gt;
+                        </xsl:for-each>
+                        &lt;/div&gt;
+                    </y:NodeLabel>
+                </y:ShapeNode>
+            </data>
+        </xsl:element>
+    </xsl:template>
+    
+    
+    
+    <xsl:template match="*[ @xlink:href ]" mode="create-nodes-BI-wfs" xpath-default-namespace="http://graphml.graphdrawing.org/xmlns">
+        <xsl:param name="grapht:group.id"/>
+        <xsl:message>#701 extra node from xlink <xsl:value-of select="@xlink:href"/></xsl:message>
+        <xsl:comment>#701 extra node from xlink <xsl:value-of select="@xlink:href"/></xsl:comment>
+        <xsl:element name="node" namespace="http://graphml.graphdrawing.org/xmlns">
+            <xsl:attribute name="id">
+                <xsl:choose>
+                    <xsl:when test="$grapht:group.id"><xsl:value-of select="concat( $grapht:group.id,'::',replace(@fid,'\.','_'))"/></xsl:when>
+                    <xsl:otherwise><xsl:value-of select="replace(@fid,'\.','_')"/></xsl:otherwise>
+                </xsl:choose>
+            </xsl:attribute>
+            <!--<xsl:attribute name="deb.fid" select="@fid"/>-->
+            <!--<xsl:attribute name="deb.fid2" select=" text()"/>-->
+            <data key="d0" xmlns="http://graphml.graphdrawing.org/xmlns">
+                <y:ShapeNode>
+                    <y:Geometry height="{ ((count(*[not( local-name()='ID') and not( matches(local-name(),'(S_*)|(A_)|(TERYT.*)'))]) * 18) + 70)}" width="600"/><!-- { count(*) * 10} -->
+                    <!--<y:Fill color="#CCCCCC"/>-->
+                    <y:Fill transparent="false">
+                        <xsl:attribute name="color">
+                            <xsl:value-of select="$colors/colors/object_hex[ @name = current()/local-name() or @name='*'][1]/text()" xpath-default-namespace=""/>
+                        </xsl:attribute>
+                    </y:Fill><!--<xsl:value-of select="local-name()"/>-->
+                    <y:NodeLabel width="405" height="{ ((count(*[not( local-name()='ID') and not( matches(local-name(),'(S_*)|(A_)|(TERYT.*)'))]) * 18) + 70)}">&lt;html&gt;&lt;div
+                        style="font-size:123%;color:black;"&gt;
+                        
+                        <xsl:value-of select=" substring(local-name(),10)"/>.<xsl:value-of select=" substring-after(substring-after(@xlink:href,'#'),'.')"/>&lt;br&gt;
                         <xsl:for-each select="*[not( local-name()='ID') and not( matches(local-name(),'(S_*)|(A_)|(TERYT.*)'))]" xpath-default-namespace="http://graphml.graphdrawing.org/xmlns">
                             <xsl:value-of select=" substring(local-name(),0,10)"/><xsl:text> : </xsl:text><xsl:value-of select=" substring(.,0,20)"/> <!--<xsl:for-each select="text()"><xsl:value-of select="substring(text(),20)"/></xsl:for-each>-->&lt;br&gt;
                         </xsl:for-each>
@@ -664,6 +938,7 @@
         </xsl:element>
     </xsl:template>
     
+    
     <xsl:template match="//*" mode="create-nodes-wfs">
         <xsl:element name="node">
             <xsl:attribute name="id">
@@ -674,8 +949,7 @@
                     <y:Fill color="#CCCCCC"/>
                     <y:NodeLabel>&lt;html&gt;&lt;div
                         style="font-size:120%;color:blue;"&gt;
-                        <xsl:value-of
-                            select="name()"/>
+                        <xsl:value-of select="name()"/><xsl:text> </xsl:text><xsl:value-of select="substring-after(@fid,'\.')"/> (<xsl:value-of select="ID"/>)
                         &lt;/div&gt;
                         <xsl:for-each select="@*">
                             <xsl:value-of select="name()"/>
@@ -698,7 +972,7 @@
                 <y:ShapeNode>
                     <y:Fill color="#CCCCCC"/>
                     <y:NodeLabel>&lt;html&gt;&lt;div
-                        style="font-size:120%;color:blue;"&gt;
+                        style="font-size:124%;color:blue;"&gt;
                         <xsl:value-of
                             select="name()"/>
                         &lt;/div&gt;

+ 1 - 1
SE/schema/WPS_Functions/object_install_se_ant_object/build_object_install_se_ant_object.xml

@@ -223,7 +223,7 @@
         <ant antfile="${system_ui_info_speech}" target="p5suis:say_to_queue">
             <property name="p5suis:say_text" value="transforming external - to - import schemas" />
         </ant>
-        <ant antfile="${system_ui_info_speech}" target="p5suis:say_from_queue"/>
+        <!--<ant antfile="${system_ui_info_speech}" target="p5suis:say_from_queue"/>-->
         
         
         <xslt basedir="./" style="${build_object_install_se_ant_object.xsl}"  in="${procesy5_system_schema.xml}"  destdir="${build_object_install_se_ant_object_basedir.temp}" out="${build_object_install_se_ant_object.generate_tables_from_external.xml}"  force="yes">

+ 8 - 1
SE/schema/WPS_Functions/system_ui_info_speech/build_system_ui_info_speech.xml

@@ -22,7 +22,7 @@
     <!-- eof modules WPS_Functions  -->
     
     <property name="system_ui_info_speech" value="${basedir}/WPS_Functions/system_ui_info_speech/build_system_ui_info_speech.xml"/>
-    <property name="system_ui_info_speech_basedir" value="${basedir}/WPS_Functions/${ant.project.name}"  />                         
+    <property name="system_ui_info_speech_basedir" value="${basedir}/WPS_Functions/system_ui_info_speech"  />                         
     <property name="p5suis:repository" value="${basedir}/WPS_Functions/${ant.project.name}/system_ui_info_speech_repository"  />
         <property name="system_ui_info_speech_basedir_repository" value="${p5suis:repository}"  />
     
@@ -246,6 +246,13 @@
         </echoxml>
     </target>
     
+    <target name="p5suis.say_to_queue.copy_file" depends="system_ui_info_speech_create_dirs" description="To put some file to say queue">
+        <input addproperty="p5suis.say_to_queue.copy_file"/> <!-- root namespace API -->
+        <tempfile property="p5suis.say_text.file" deleteonexit="no" prefix="${p5suis:current.timestamp}_say_to_queue_" suffix=".xml" destdir="${p5suis.say_queue_dir}"/>
+        <echo>#252 will copy from ${p5suis.say_to_queue.copy_file} to ${p5suis.say_text.file}; p5suis.say_queue_dir = ${p5suis.say_queue_dir}</echo>
+        <copy file="${p5suis.say_to_queue.copy_file}" tofile="${p5suis.say_text.file}" force="true"/>
+    </target>
+    
     <!-- ,build_WPS_Functions.xml.properties.cond -->
     <target name="p5suis:say_to_queue.PL" depends="system_ui_info_speech_create_dirs" description="To put some text to say queue">
         <input addproperty="p5suis:say_text"/> <!-- root namespace API -->

+ 56 - 3
SE/schema/WPS_Functions/system_ui_info_speech/system_ui_info_speech.xsl

@@ -23,14 +23,11 @@
             <description>
                 To say from queue <xsl:value-of select=" current()"/>
             </description>
-            
-            
             <target name="p5suis:say_from_queue.build_ant" description="To say the queue once">
                 <xsl:for-each  select="tokenize( text(),';')">
                     <xsl:call-template name="p5suis:say_from_queue.build_ant.say_and_delete">
                         <xsl:with-param name="p5suis:file" select="concat($p5suis:say_queue_dir,'/',current())"/>
                     </xsl:call-template>
-                    
                 </xsl:for-each>
             </target>
         </project>
@@ -107,5 +104,61 @@
     </xsl:template>
     
     
+    <xsl:template mode="p5suis:say_from_queue.build_ant.say_and_delete" match="*">
+        <xsl:param name="p5suis:file" required="yes"/>
+        <xsl:apply-templates mode="p5suis:say_from_queue.build_ant.say_and_delete.search" select="."/>
+        <delete file="{$p5suis:file}" failonerror="false"/>
+    </xsl:template>
+    
+    <xsl:template mode="p5suis:say_from_queue.build_ant.say_and_delete p5suis:say_from_queue.build_ant.say_and_delete.search" match="text()|comment()"/>
+    
+    <xsl:template mode="p5suis:say_from_queue.build_ant.say_and_delete.search" match="*">
+        <xsl:apply-templates mode="p5suis:say_from_queue.build_ant.say_and_delete.search" select="@*"/>
+        <xsl:apply-templates mode="p5suis:say_from_queue.build_ant.say_and_delete.search" />
+    </xsl:template>
+    
+    <xsl:template mode="p5suis:say_from_queue.build_ant.say_and_delete.search" match="@p5suis:group.by">
+        <xsl:variable name="p5suis:group.name" select="../@p5suis:group.name"/>
+        <xsl:variable name="p5suis:group-desc" select="../@p5suis:group-desc"/>
+        <xsl:variable name="p5suis:text_to_say_optimize">
+            <xsl:text>Group p5:object </xsl:text><xsl:value-of select="$p5suis:group.name"/>
+        </xsl:variable>
+        <exec executable="say"  failifexecutionfails="false">
+            <arg line="-v alex"/>
+            <arg line="{p5suis:text_to_say_optimize($p5suis:text_to_say_optimize)}"/>
+        </exec>
+        
+        <xsl:for-each-group select="../*" group-by="local-name()">
+            <xsl:choose>
+                <xsl:when test="$p5suis:group-desc='child::local-name()'">
+                    <xsl:variable name="p5suis:text_to_say_optimize">
+                        <xsl:text>Info elements p5:object </xsl:text><xsl:value-of select="local-name()"/> count() <xsl:value-of select="count(current-group())"/>
+                    </xsl:variable>
+                    <xsl:variable name="p5suis:text_to_say_optimize" select="p5suis:text_to_say_optimize( $p5suis:text_to_say_optimize)"/>
+                    <exec executable="say"  failifexecutionfails="false">
+                        <arg line="-v alex"/>
+                        <arg line="{$p5suis:text_to_say_optimize}"/>
+                    </exec>
+                    <xsl:comment><xsl:value-of select="local-name()"/></xsl:comment>
+                    <touch file="{$p5suis:speech.pid}"/>
+                </xsl:when>
+                <xsl:otherwise>
+                    <xsl:comment>#131 goes @p5suis:group.by $p5suis:group-desc = <xsl:value-of select="$p5suis:group-desc"/></xsl:comment>
+                </xsl:otherwise>
+            </xsl:choose>
+        </xsl:for-each-group>
+    </xsl:template>
+    
+    
+    <xsl:template mode="p5suis:say_from_queue.build_ant.say_and_delete.search" match="@p5suis:say">
+        <exec executable="say"  failifexecutionfails="false">
+            <arg line="-v alex"/>
+            <arg line="{  current()}"/>
+        </exec>
+    </xsl:template>
+    
+    <xsl:template mode="p5suis:say_from_queue.build_ant.say_and_delete.search" match="@*"/>
+        
+    
     
 </xsl:stylesheet>

+ 23 - 0
SE/schema/WPS_Functions/username_and_pass_from_passwordBase64Basic/build.build_username_and_pass_from_passwordBase64Basic.PRODUCT.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project basedir="../../." 
+    
+    name="username_and_pass_from_passwordBase64Basic.PRODUCT" > <!-- default="INSTALL.bgwrx.INSTALL" -->
+    
+    <include file="../build.WPS_Functions.PRODUCT.xml" />
+    <!--<include file="../../default_db_xml_cache.public/build.system_cache__appinfo.public.PRODUCT.xml"/>-->
+    <!--<include file="build.bgwrx.INSTALL.xml" as="INSTALL"/>-->
+    
+    
+    
+   
+    <property name="username_and_pass_from_passwordBase64Basic.PRODUCT.name" value="${WPS_Functions.PRODUCT.name}"/>
+    <property name="sername_and_pass_from_passwordBase64Basic.PRODUCT.vendor-domain" value="${p5build_SE.PRODUCT.vendor-domain}"/>
+    
+    <property name="username_and_pass_from_passwordBase64Basic.basedir"     value="${WPS_Functions.basedir}/username_and_pass_from_passwordBase64Basic"/>
+    <property name="username_and_pass_from_passwordBase64Basic.build" location="${username_and_pass_from_passwordBase64Basic.basedir}/build_username_and_pass_from_passwordBase64Basic.xml"/>
+   
+    
+    
+    
+    
+</project>

+ 1 - 1
SE/schema/WPS_Functions/username_and_pass_from_passwordBase64Basic/build_username_and_pass_from_passwordBase64Basic.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project basedir="../../." name="build_username_and_pass_from_passwordBase64Basic" default="username_and_pass_from_passwordBase64Basic">
   
-    
+    <include file="build.build_username_and_pass_from_passwordBase64Basic.PRODUCT.xml"/>
   
     <target name="username_and_pass_from_passwordBase64Basic" depends="passwordBase64Basic_check" description="To parse from -DpasswordBase64Basic the username and password using base64"  >
         <!-- <property name="username.pass"/>

+ 44 - 0
SE/schema/WPS_Functions/xsl_interface/p5xsl.xsl

@@ -0,0 +1,44 @@
+<?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:p5xsl="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/xsl_interface/xsl_interface.xsd"
+    exclude-result-prefixes="xs"
+    version="2.0">
+    
+    
+    
+    <xsl:template match="p5xsl:stylesheet_buildlist" mode="p5xsl:include">
+        <xsl:element name="xsl:stylesheet">
+            <xsl:apply-templates mode="#current"/>
+            <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:xs="http://www.w3.org/2001/XMLSchema"
+                exclude-result-prefixes="xs"
+                version="2.0">
+                <xsl:output indent="yes"/>
+                <xsl:strip-space elements="*"/>
+                <!--<xsl:import-schema  schema-location="repository/p5dg.documentation.files.antstructure-resp.xsd" namespace="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/ant_interface/ant_interface-resp.xsd"/>-->
+                <xsl:apply-templates mode="#current"/>
+            </xsl:stylesheet>
+        </xsl:element>
+    </xsl:template>
+    
+    
+    
+    
+    <xsl:template mode="p5xsl:include" match="p5xsl:include.list">
+        <xsl:apply-templates mode="#current"/>
+    </xsl:template>
+        <xsl:template mode="p5xsl:include" match="p5xsl:include.list.href">
+            <xsl:element name="xsl:include">
+                <xsl:attribute name="href" select="@href"/>
+            </xsl:element>
+        </xsl:template>
+    
+    <xsl:template mode="p5xsl:include" match="p5xsl:namespaces.list">
+        <xsl:apply-templates mode="#current"/>
+    </xsl:template>
+    <xsl:template mode="p5xsl:include" match="p5xsl:namespaces.list.namespace">
+        <xsl:namespace name="{@prefix}" select="@namespace"/>
+    </xsl:template>
+    
+</xsl:stylesheet>

+ 6 - 0
SE/schema/build.p5build.SYSTEM.xml

@@ -10,5 +10,11 @@
     <property name="p5build.SYSTEM.StandardOutPath" location="${p5build_SE.SYSTEM.StandardOutPath}/${p5build.PRODUCT.name}.log"/>
     <property name="p5build.SYSTEM.StandardErrorPath" location="${p5build_SE.SYSTEM.StandardErrorPath}/${p5build.PRODUCT.name}.log"/>
     
+    <property name="Shared_Git_Root" location="../../../"/> <!-- do ustalenia gdzie trzymamy wszystkie repozytoria na serwerze -->
+    
+    <property name="remote" location="${Shared_Git_Root}/se/SE/schema"/>
+    <property name="remote.SE" location="${Shared_Git_Root}/se/SE"/>
+    
+    
     
 </project>

+ 8 - 4
SE/schema/build.xml

@@ -15,6 +15,7 @@
     <include file="build.p5build.SYSTEM.transformed.xml" as="SYSTEM.transformed"/>
     <include file="WPS_Functions/build.WPS_Functions.PRODUCT.xml" optional="true"/>
     
+    <include file="WPS_Functions/system_ui_info_speech/build_system_ui_info_speech.xml" as="p5suis" optional="true"/>
     
     <property name="threadCount" value="3"/>
     <property name="debug_level_param" value="0"/>
@@ -54,10 +55,7 @@
     <property name="xlsx.xsl" value="${basedir}/default_db_xml_cache.public/xlsx.xsl"/>
     
     <property name="dtd2xsd.pl" location="${basedir}/stuff/dtd2xsd.pl"/> <!-- to convert from dtd to xsd -->
-    <property name="Shared_Git_Root" location="../../../"/> <!-- do ustalenia gdzie trzymamy wszystkie repozytoria na serwerze -->
-    
-    <property name="remote" location="${Shared_Git_Root}/se/SE/schema"/>
-    <property name="remote.SE" location="${Shared_Git_Root}/se/SE"/>
+  
         <property name="remote.ant-object" location="${remote}/ant-object"/> <!-- than is default_db.CRM_PROCES/PROCES_INIT/PROCES_INIT.xsd and build.xml (empty) -->
         <property name="remote.ant-url_action" location="${remote}/ant-url_action"/>
         <property name="remote.default_db.in7_dziennik_koresp" location="${remote.ant-url_action}/default_db.in7_dziennik_koresp"/>
@@ -577,6 +575,9 @@
                     <!--<param name="vrtfNamespaces_file" expression="${vrtfNamespaces.xml}"/>-->
                     <classpath location="/opt/local/share/java/saxon9he.jar"/>
                 </xslt>
+                <antcall target="p5suis.p5suis.say_to_queue.copy_file" >
+                    <param name="p5suis.say_to_queue.copy_file" value="${parse_schema_to_generate_id_raport.xml}"/>
+                </antcall>
                  <echo>#466 check what were missing in no-id directory</echo>
                  <sleep seconds="3"/>
             </sequential>
@@ -1619,6 +1620,9 @@
         <!--Cannot find /Users/a.binder/Documents/se/SE/schema/ant-url_action/build.WPS_Functions.SYSTEM.xml imported from /Users/a.binder/Documents/se/SE/schema/ant-url_action/get_wfs/build.get_wfs.SYSTEM.xml-->
         <symlink  link="${remote.ant-url_action}/build.WPS_Functions.SYSTEM.xml" resource="${WPS_Functions.basedir}/build.WPS_Functions.SYSTEM.xml" overwrite="true"/>
         <symlink  link="${remote.ant-url_action}/build.WPS_Functions.PRODUCT.xml" resource="${WPS_Functions.basedir}/build.WPS_Functions.PRODUCT.xml" overwrite="true"/>
+        <symlink  link="${remote.ant-url_action}/build_WPS_Function_basedir.xml" resource="${WPS_Functions.basedir}/build_WPS_Function_basedir.xml" overwrite="true"/>
+        <symlink  link="${remote.ant-url_action}/build_WPS_Function_properties.xml" resource="${WPS_Functions.basedir}/build_WPS_Function_properties.xml" overwrite="true"/>
+        
     </target>
     
     

+ 1 - 0
SE/schema/build_SE_basedir/build.p5build_SE.PRODUCT.xml

@@ -11,4 +11,5 @@
     <property name="p5build_SE.properties" value="${p5build_SE.basedir}/.build_SE.properties"/>
     <property name="p5build_SE.properties.xml" value="${p5build_SE.properties}.xml"/>
     
+    
 </project>

+ 1 - 0
SE/schema/default_db_xml_cache.public/build.system_cache__appinfo.public.PRODUCT.xml

@@ -11,6 +11,7 @@
     <property name="system_cache__appinfo.public.PRODUCT.vendor-domain" value="${p5build_SE.PRODUCT.vendor-domain}.system_cache__appinfo.public"/>
     
     <property name="system_cache__appinfo.public.basedir" location="${basedir}/default_db_xml_cache.public"/>
+    <property name="system_cache__appinfo.escape_functions.xsl" location="${system_cache__appinfo.public.basedir}/system_cache__appinfo/escape_functions.xsl"/>
     <!--<property name="system_cache__appinfo.build" location="${basedir}/build.xml"/>-->
     <!--<property name="p5build.temp" location=""/>-->
     

+ 1 - 1
SE/schema/default_db_xml_cache.public/default_db/dateTime.xsl

@@ -30,7 +30,7 @@
                 <xsl:value-of select="tokenize($date,'\.')[3]"/>
             </xsl:when>
             <xsl:otherwise>
-                <xsl:message terminate="no">#28 Error in date format for value <xsl:value-of select="$date"/>! </xsl:message>
+                <xsl:message terminate="no">#28 ERROR ERROR in date format for value <xsl:value-of select="$date"/>! </xsl:message>
             </xsl:otherwise>
             
         </xsl:choose>

+ 142 - 58
SE/schema/default_db_xml_cache.public/get_wfs_recurse_xsl.xsl

@@ -13,7 +13,9 @@
     xmlns:xlink="http://www.w3.org/1999/xlink"
     
     xmlns:default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA="https://biuro.biall-net.pl/wfs/default_db/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA"
-    
+    xmlns:default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row="https://biuro.biall-net.pl/wfs/default_db/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row"
+    xmlns:default_db__x3A__BI_audit_ENERGA_PRACOWNICY="https://biuro.biall-net.pl/wfs/default_db/BI_audit_ENERGA_PRACOWNICY"
+    xmlns:default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI="https://biuro.biall-net.pl/wfs/default_db/BI_audit_ENERGA_RUM_KONTRAHENCI"
     exclude-result-prefixes="xs"
     version="2.0">
     
@@ -31,7 +33,7 @@
     <xsl:param name="xpath" select="'ID'"/>
     <xsl:param name="xpath_value" select="'994'"/>
     <xsl:param name="uuid" select="'PROCES_INIT_PID_994_ALL_test'"/>
-    <xsl:param name="MAXFEATURES" select="20"/>
+    <xsl:param name="MAXFEATURES" select="1000"/>
     
     <!--<xsl:param name="procesy5_system_schema_file" required="yes"/>-->
     <!--<xsl:param name="vrtfNamespaces_file" required="yes"/>-->
@@ -130,7 +132,7 @@
         <xsl:param name="REQUEST.SERVICE" select="'WFS'"/>
         <xsl:param name="REQUEST.VERSION" select="'1.0.0'"/>
         <xsl:param name="REQUEST.TYPE" select="'GetFeature'"/>
-        <!--<xsl:param name="REQUEST.MAXFEATURES" />-->
+        <xsl:param name="REQUEST.MAXFEATURES" />
         <xsl:param name="REQUEST.TYPENAME"  required="yes"/>
         <xsl:param name="OGC_Filter"/>
         <xsl:param name="REQUEST.SRSNAME" select="'EPSG:3003'"/>
@@ -152,6 +154,13 @@
                 <xsl:otherwise><xsl:value-of select="concat($username,':',$username.pass,'@')"/></xsl:otherwise>
             </xsl:choose>
         </xsl:variable>
+        <xsl:variable name="REQUEST.MAXFEATURES">
+            <xsl:choose>
+                <xsl:when test=" string-length($REQUEST.MAXFEATURES) &gt; 0">
+                    <xsl:value-of select="concat('&amp;MAXFEATURES=',$REQUEST.MAXFEATURES)"/>
+                </xsl:when>
+            </xsl:choose>
+        </xsl:variable>
         <xsl:if test="number($debug) &gt; 0"><xsl:message>#76 req:<xsl:value-of select="$REQUEST.TYPENAME"/> filter <xsl:value-of select="$OGC_Filter//ogc:PropertyName/text()"/>/<xsl:value-of select="$OGC_Filter//ogc:Literal/text()"/></xsl:message></xsl:if>
         <xsl:value-of select="concat($protocol,$username_and_pass,$api,'/',$targetNamespace_DEFAULTS_prefix,'/?SERVICE=',$REQUEST.SERVICE,'&amp;VERSION=',$REQUEST.VERSION,'&amp;REQUEST=',$REQUEST.TYPE,'&amp;TYPENAME=',$REQUEST.TYPENAME,$php_session_id_ok.string,$api_recurse.request,$OGC_Filter,'&amp;SRSNAME=',$REQUEST.SRSNAME)"/>
     </xsl:template>
@@ -180,7 +189,6 @@
                 <xsl:copy-of select="$get_wfs_recurse_xsl:PRIMARYKEY.nodes"/>
             </xsl:otherwise>
         </xsl:choose>
-        
     </xsl:function>
     
     
@@ -533,14 +541,18 @@
             <xlink:href.debug509>
                 <xsl:attribute name="debug.last_wfs_request" select="$debug.last_wfs_request"/>
                 <xsl:copy-of select="@*"/>
+                <xsl:copy-of select="$get_wfs_recurse_xsl:context.PRIMARYKEY"/>
+                <xsl:copy-of select="$get_wfs_recurse_xsl:context.nodes"/>
             </xlink:href.debug509>
         </xsl:if>
-                <xsl:message>#516-A  name()<xsl:value-of select="name()"/>; @xlink:href=<xsl:value-of select="@xlink:href"/>;</xsl:message>
-                <xsl:comment>#516-A  name()<xsl:value-of select="name()"/>; @xlink:href=<xsl:value-of select="@xlink:href"/>;</xsl:comment>
+                <xsl:message>#516-A  name()<xsl:value-of select="name()"/>; ORIGINAL_@xlink:href=<xsl:value-of select="@xlink:href"/>;</xsl:message>
+                <xsl:comment>#516-A  name()<xsl:value-of select="name()"/>; ORIGINAL_@xlink:href=<xsl:value-of select="@xlink:href"/>;</xsl:comment>
                 <xsl:variable name="xlink:request_string">
-                    <xsl:apply-templates mode="xlink:request_string" select="."/>
+                    <xsl:apply-templates mode="xlink:request_string" select=".">
+                        <xsl:with-param name="p5:links.recurse_level" select="$p5:links.recurse_level"/>
+                    </xsl:apply-templates>
                 </xsl:variable>
-        <xsl:message>#516-A anchestors.count(<xsl:value-of select="count(ancestor::node())"/>); context.PRIMARYKEY count(<xsl:value-of select="count($get_wfs_recurse_xsl:context.PRIMARYKEY//*[@fid])"/>); previous @fid=count(<xsl:value-of select="count(root()//*[@fid])"/>);  get_wfs_recurse_xsl:context.nodes count(<xsl:value-of select="count($get_wfs_recurse_xsl:context.nodes//*[@fid])"/>); debug.last_wfs_request=<xsl:value-of select="$debug.last_wfs_request"/>;</xsl:message>
+                <xsl:message>#516-A anchestors.count(<xsl:value-of select="count(ancestor::node())"/>); context.PRIMARYKEY count(<xsl:value-of select="count($get_wfs_recurse_xsl:context.PRIMARYKEY//*[@fid])"/>); previous @fid=count(<xsl:value-of select="count(root()//*[@fid])"/>);  get_wfs_recurse_xsl:context.nodes count(<xsl:value-of select="count($get_wfs_recurse_xsl:context.nodes//*[@fid])"/>); debug.last_wfs_request=<xsl:value-of select="$debug.last_wfs_request"/>;</xsl:message>
                 <xsl:comment>#516-A anchestors.count(<xsl:value-of select="count(ancestor::node())"/>); context.PRIMARYKEY count(<xsl:value-of select="count($get_wfs_recurse_xsl:context.PRIMARYKEY//*[@fid])"/>); previous @fid=count(<xsl:value-of select="count(root()//*[@fid])"/>);  get_wfs_recurse_xsl:context.nodes count(<xsl:value-of select="count($get_wfs_recurse_xsl:context.nodes//*[@fid])"/>); debug.last_wfs_request=<xsl:value-of select="$debug.last_wfs_request"/>;</xsl:comment>
                 <!--<xsl:message>#401 previous @fid
                     <xsl:for-each select="root()//*[@fid]">
@@ -548,12 +560,13 @@
                     </xsl:for-each>
                 </xsl:message>-->
                 <xsl:choose>
-                    <!--<xsl:when test="$get_wfs_recurse_xsl:context.nodes//*[@fid = get_wfs_recurse_xsl:REQUEST.fid( current()/@xlink:href)]">
-                        
-                    </xsl:when>-->
+                    <xsl:when test="$get_wfs_recurse_xsl:context.nodes//*[@fid = get_wfs_recurse_xsl:REQUEST.fid( current()/@xlink:href)]">
+                        <xsl:message>#398-A1 match="*[@xlink:href]" - LOOP CONTEXT.nodes DETECTED  at p5:links.recurse_level=<xsl:value-of select="$p5:links.recurse_level"/>; at p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/>; BYPASSING  @xlink:href=<xsl:value-of select="@xlink:href"/>; debug.last_wfs_request=<xsl:value-of select="$debug.last_wfs_request"/>;</xsl:message>
+                        <xsl:comment>#398-A1 match="*[@xlink:href]" - LOOP CONTEXT.nodes DETECTED  at p5:links.recurse_level=<xsl:value-of select="$p5:links.recurse_level"/>; at p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/> BYPASSING  @xlink:href=<xsl:value-of select="@xlink:href"/>; debug.last_wfs_request=<xsl:value-of select="$debug.last_wfs_request"/>;</xsl:comment>
+                    </xsl:when>
                     <xsl:when test="root()//*[number(@root.distance) &lt; number($p5:links.loop.context.nodes.min.distance) and @fid = get_wfs_recurse_xsl:REQUEST.fid( current()/@xlink:href)]">
-                        <xsl:message>#398-A match="*[@xlink:href]" - LOOP DETECTED  for <xsl:value-of select="root()//*[@fid = get_wfs_recurse_xsl:REQUEST.fid( current()/@xlink:href)]/concat(@fid,' dist:',@root.distance)"/>  at p5:links.recurse_level=<xsl:value-of select="$p5:links.recurse_level"/>; at p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/>; BYPASSING  @xlink:href=<xsl:value-of select="@xlink:href"/>; debug.last_wfs_request=<xsl:value-of select="$debug.last_wfs_request"/>;</xsl:message>
-                        <xsl:comment>#398-A match="*[@xlink:href]" - LOOP DETECTED  for <xsl:value-of select="root()//*[@fid = get_wfs_recurse_xsl:REQUEST.fid( current()/@xlink:href)]/concat(@fid,' dist:',@root.distance)"/>  at p5:links.recurse_level=<xsl:value-of select="$p5:links.recurse_level"/>; at p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/> BYPASSING  @xlink:href=<xsl:value-of select="@xlink:href"/>; debug.last_wfs_request=<xsl:value-of select="$debug.last_wfs_request"/>;</xsl:comment>
+                        <xsl:message>#398-A2 match="*[@xlink:href]" - LOOP DETECTED  for <xsl:value-of select="root()//*[@fid = get_wfs_recurse_xsl:REQUEST.fid( current()/@xlink:href)]/concat(@fid,' dist:',@root.distance)"/>  at p5:links.recurse_level=<xsl:value-of select="$p5:links.recurse_level"/>; at p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/>; BYPASSING  @xlink:href=<xsl:value-of select="@xlink:href"/>; debug.last_wfs_request=<xsl:value-of select="$debug.last_wfs_request"/>;</xsl:message>
+                        <xsl:comment>#398-A2 match="*[@xlink:href]" - LOOP DETECTED  for <xsl:value-of select="root()//*[@fid = get_wfs_recurse_xsl:REQUEST.fid( current()/@xlink:href)]/concat(@fid,' dist:',@root.distance)"/>  at p5:links.recurse_level=<xsl:value-of select="$p5:links.recurse_level"/>; at p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/> BYPASSING  @xlink:href=<xsl:value-of select="@xlink:href"/>; debug.last_wfs_request=<xsl:value-of select="$debug.last_wfs_request"/>;</xsl:comment>
                     </xsl:when>
                     <xsl:when test="p5:links.recurse_level.limit($p5:links.recurse_level)">
                         <xsl:message>#398-B match="*[@xlink:href]" HIT LIMIT p5:links.recurse_level=<xsl:value-of select="$p5:links.recurse_level"/>; at p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/>; BYPASSING  @xlink:href=<xsl:value-of select="@xlink:href"/>; debug.last_wfs_request=<xsl:value-of select="$debug.last_wfs_request"/>;</xsl:message>
@@ -595,25 +608,39 @@
         <xsl:param name="debug.last_wfs_request" required="yes"/>
        <!-- <xsl:element name="{name()}" inherit-namespaces="yes">
             <xsl:copy-of select="namespace::node()"/>-->
-        <xsl:copy><!-- debug -->
-            <xsl:copy-of select="@*"/>
-            <!--<xsl:attribute name="debug.566"> match=* mode=p5:links.evaluate</xsl:attribute>-->
-            <xsl:apply-templates mode="xlink:href.evaluate" select="@xlink:href">
-                <xsl:with-param name="p5:links.recurse_level" select="$p5:links.recurse_level"/>
-                <xsl:with-param name="p5:links.next.recurse_level" select="$p5:links.next.recurse_level"/>
-                <xsl:with-param name="get_wfs_recurse_xsl:context.nodes"  select="$get_wfs_recurse_xsl:context.nodes"/>
-                <xsl:with-param name="get_wfs_recurse_xsl:context.PRIMARYKEY" select="$get_wfs_recurse_xsl:context.PRIMARYKEY"/>
-                <xsl:with-param name="debug.last_wfs_request" select="$debug.last_wfs_request"/>
-            </xsl:apply-templates>
-            <xsl:apply-templates mode="p5:links.evaluate">
-                <xsl:with-param name="p5:links.recurse_level" select="$p5:links.recurse_level"/>
-                <xsl:with-param name="p5:links.next.recurse_level" select="$p5:links.next.recurse_level"/>
-                <xsl:with-param name="get_wfs_recurse_xsl:context.nodes"  select="$get_wfs_recurse_xsl:context.nodes"/>
-                <xsl:with-param name="get_wfs_recurse_xsl:context.PRIMARYKEY" select="$get_wfs_recurse_xsl:context.PRIMARYKEY"/>
-                <xsl:with-param name="debug.last_wfs_request" select="$debug.last_wfs_request"/>
-            </xsl:apply-templates>
-        <!--</xsl:element>-->
-        </xsl:copy>
+        <xsl:choose>
+            <xsl:when test="count($get_wfs_recurse_xsl:context.nodes//*[@fid =  current()/@fid ]) &gt; 1">
+                <xsl:message>#613-A1 match="*[@xlink:href]" - LOOP CONTEXT.nodes DETECTED  at p5:links.recurse_level=<xsl:value-of select="$p5:links.recurse_level"/>; at p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/>; BYPASSING current()/@fid=<xsl:value-of select="@fid"/>; debug.last_wfs_request=<xsl:value-of select="$debug.last_wfs_request"/>;</xsl:message>
+                <xsl:comment>#613-A1 match="*[@xlink:href]" - LOOP CONTEXT.nodes DETECTED  at p5:links.recurse_level=<xsl:value-of select="$p5:links.recurse_level"/>; at p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/>; BYPASSING current()/@fid=<xsl:value-of select="@fid"/>; debug.last_wfs_request=<xsl:value-of select="$debug.last_wfs_request"/>;</xsl:comment>
+                <xsl:if test="number($debug) &gt; 3">
+                    <xsl:copy-of select="$get_wfs_recurse_xsl:context.PRIMARYKEY"/>
+                    <xsl:copy-of select="$get_wfs_recurse_xsl:context.nodes"/>
+                </xsl:if>
+            </xsl:when>
+            <xsl:otherwise>
+                <xsl:copy><!-- debug -->
+                    <xsl:copy-of select="@*"/>
+                    <!--<xsl:attribute name="debug.566"> match=* mode=p5:links.evaluate</xsl:attribute>-->
+                    <xsl:apply-templates mode="xlink:href.evaluate" select="@xlink:href">
+                        <xsl:with-param name="p5:links.recurse_level" select="$p5:links.recurse_level"/>
+                        <xsl:with-param name="p5:links.next.recurse_level" select="$p5:links.next.recurse_level"/>
+                        <xsl:with-param name="get_wfs_recurse_xsl:context.nodes"  select="$get_wfs_recurse_xsl:context.nodes"/>
+                        <xsl:with-param name="get_wfs_recurse_xsl:context.PRIMARYKEY" select="$get_wfs_recurse_xsl:context.PRIMARYKEY"/>
+                        <xsl:with-param name="debug.last_wfs_request" select="$debug.last_wfs_request"/>
+                    </xsl:apply-templates>
+                    <xsl:apply-templates mode="p5:links.evaluate">
+                        <xsl:with-param name="p5:links.recurse_level" select="$p5:links.recurse_level"/>
+                        <xsl:with-param name="p5:links.next.recurse_level" select="$p5:links.next.recurse_level"/>
+                        <xsl:with-param name="get_wfs_recurse_xsl:context.nodes"  select="$get_wfs_recurse_xsl:context.nodes"/>
+                        <xsl:with-param name="get_wfs_recurse_xsl:context.PRIMARYKEY" select="$get_wfs_recurse_xsl:context.PRIMARYKEY"/>
+                        <xsl:with-param name="debug.last_wfs_request" select="$debug.last_wfs_request"/>
+                    </xsl:apply-templates>
+                    <!--</xsl:element>-->
+                </xsl:copy>
+            </xsl:otherwise>
+        </xsl:choose>
+        
+        
         <!--<xsl:element name="{name()}" inherit-namespaces="yes"  xpath-default-namespace="http://www.opengis.net/wfs">
             
             <xsl:apply-templates mode="p5:links.evaluate"/>
@@ -624,7 +651,7 @@
     <xsl:function name="p5:links.recurse_level.limit">
         <xsl:param name="p5:links.recurse_level"/>
         <xsl:choose>
-            <xsl:when test="number($p5:links.recurse_level) &gt; number($p5:links.recurse_level.limit)">
+            <xsl:when test="number($p5:links.recurse_level) &gt;= number($p5:links.recurse_level.limit)">
                 <xsl:value-of select="'limit hit'"/>
                 <xsl:message>#431-R LIMIT HIT p5:links.recurse_level.limit($p5:links.recurse_level.limit at <xsl:value-of select="$p5:links.recurse_level"/>);</xsl:message>
                 <xsl:comment>#431-R LIMIT HIT p5:links.recurse_level.limit($p5:links.recurse_level.limit at <xsl:value-of select="$p5:links.recurse_level"/>)</xsl:comment>
@@ -650,6 +677,20 @@
         </xsl:if>
     </xsl:function>
     
+    <xsl:function name="get_wfs_recurse_xsl:api_recurse.request">
+        <xsl:param name="api_recurse"/>
+        <xsl:param name="p5:links.recurse_level"/>
+        <xsl:choose>
+            <xsl:when test="$api_recurse and ( ( number($p5:links.recurse_level) + number($resolveDepth) ) &gt; $p5:links.recurse_level.limit )">
+                <xsl:message>#668 reducing $resolveDepth to  $p5:links.recurse_level.limit-$p5:links.recurse_level == <xsl:value-of select="($p5:links.recurse_level.limit - $p5:links.recurse_level )"/> to not extend expected deep traverse </xsl:message>
+                <xsl:value-of select="concat('&amp;resolveDepth=',($p5:links.recurse_level.limit - $p5:links.recurse_level ),'&amp;resolve=all')"/>
+            </xsl:when>
+            <xsl:when test="$api_recurse and  number($p5:links.recurse_level)">
+                <xsl:value-of select="concat('&amp;resolveDepth=',$resolveDepth,'&amp;resolve=all')"/>
+            </xsl:when>
+        </xsl:choose>
+    </xsl:function>
+    
     <xsl:function name="get_wfs_recurse_xsl:api_recurse.request">
         <xsl:param name="api_recurse"/>
         <xsl:choose>
@@ -732,16 +773,31 @@
         <xsl:param name="REQUEST.TYPENAME" select="name()"/>
         <xsl:param name="OGC_Filter"/>
         <xsl:param name="REQUEST.SRSNAME" select="'EPSG:3003'"/>
+        <xsl:param name="p5:links.recurse_level"/>
         <xsl:param name="api.local_location" select="'SE/version-git/wfs-data.php/default_db/'"/>
         <xsl:variable name="php_session_id_ok.string" select="get_wfs_recurse_xsl:php_session_id_ok.string($php_session_id_ok.string)"/>
         <xsl:variable name="api_recurse.request" select="get_wfs_recurse_xsl:api_recurse.request($api_recurse)"/>
         <xsl:variable name="username_and_pass" select="get_wfs_recurse_xsl:username_and_pass($php_session_id_ok.string)"/>
         <xsl:variable name="REQUEST.TYPE.PRIMARYKEY" select="get_wfs_recurse_xsl:REQUEST.TYPE.PRIMARYKEY(@xlink:href)"/>
-        <xsl:message>#497 detected $api = <xsl:value-of select="$api"/>; </xsl:message>
-        <xsl:message>#497 REQUEST.TYPE.PRIMARYKEY=<xsl:value-of select="$REQUEST.TYPE.PRIMARYKEY"/>;</xsl:message>
+        <xsl:variable name="REQUEST.MAXFEATURES">
+            <xsl:choose>
+                <xsl:when test="contains(@xlink:href,'&amp;maxFeatures=10')">
+                    <xsl:value-of select="concat('&amp;maxFeatures=',$MAXFEATURES)"/>
+                </xsl:when>
+                <xsl:when test="contains(@xlink:href,'&amp;maxFeatures=20')">
+                    <xsl:value-of select="concat('&amp;maxFeatures=',$MAXFEATURES)"/>
+                </xsl:when>
+                <xsl:when test="contains(@xlink:href,'maxFeatures')"/>
+                <xsl:otherwise><xsl:value-of select="concat('&amp;maxFeatures=',$MAXFEATURES)"/></xsl:otherwise>
+            </xsl:choose>
+        </xsl:variable>
+        
+        <xsl:if test="number($debug) &gt; 3"><xsl:message>#497 detected $api = <xsl:value-of select="$api"/>; </xsl:message>
+            <xsl:message>#497 REQUEST.TYPE.PRIMARYKEY=<xsl:value-of select="$REQUEST.TYPE.PRIMARYKEY"/>;</xsl:message>
+        </xsl:if>
         <xsl:choose>
             <xsl:when test=" string-length($REQUEST.TYPE.PRIMARYKEY) &gt; 0">
-                <xsl:value-of select="concat($protocol,$username_and_pass,$api,'?SERVICE=',$REQUEST.SERVICE,'&amp;VERSION=',$REQUEST.VERSION,'&amp;REQUEST=',$REQUEST.TYPE,'&amp;TYPENAME=',$REQUEST.TYPENAME,$php_session_id_ok.string,$api_recurse.request,$REQUEST.TYPE.PRIMARYKEY,'&amp;SRSNAME=',$REQUEST.SRSNAME)"/>
+                <xsl:value-of select="concat($protocol,$username_and_pass,$api,'?SERVICE=',$REQUEST.SERVICE,'&amp;VERSION=',$REQUEST.VERSION,'&amp;REQUEST=',$REQUEST.TYPE,'&amp;TYPENAME=',$REQUEST.TYPENAME,$php_session_id_ok.string,$api_recurse.request,$REQUEST.TYPE.PRIMARYKEY,'&amp;SRSNAME=',$REQUEST.SRSNAME,$REQUEST.MAXFEATURES)"/>
             </xsl:when>
             <xsl:otherwise>
                 <xsl:message>#532 ERROR with requests - debug it and stop recurse</xsl:message>
@@ -781,23 +837,29 @@
                 <xsl:value-of select="concat('&amp;sid=',normalize-space($php_session_id_ok.string))"/>
             </xsl:if>
         </xsl:variable>
-        <xsl:variable name="api_recurse.request">
+        <!--<xsl:variable name="api_recurse.request">
             <xsl:choose>
                 <xsl:when test="$api_recurse">
                     <xsl:value-of select="concat('&amp;resolveDepth=',$resolveDepth,'&amp;resolve=all')"/>
                 </xsl:when>
             </xsl:choose>
-        </xsl:variable>
+        </xsl:variable>-->
        <!-- <xsl:copy>-->
             <p5:links><xsl:copy-of select="*"/></p5:links>
             
             <xsl:variable name="p5:fid" select="p5:fid(p5:next/text())"/>
             <xsl:message>#684 debug match="p5:links" detected $p5:fid = <xsl:value-of select="$p5:fid"/></xsl:message>
             <xsl:comment>#684 debug match="p5:links" detected $p5:fid = <xsl:value-of select="$p5:fid"/></xsl:comment>
-            <xsl:copy-of select="$get_wfs_recurse_xsl:context.PRIMARYKEY"/> 
-            <xsl:copy-of select="$get_wfs_recurse_xsl:context.nodes"/>
+                <xsl:if test="number($debug) &gt; 3">
+                    <xsl:copy-of select="$get_wfs_recurse_xsl:context.PRIMARYKEY"/> 
+                    <xsl:copy-of select="$get_wfs_recurse_xsl:context.nodes"/>
+                </xsl:if>
               <xsl:choose>
-                  <xsl:when test="number($p5:links.recurse_level) &gt; number($p5:links.recurse_level.limit)">
+                  <xsl:when test="$get_wfs_recurse_xsl:context.nodes//*[@fid = $p5:fid ]">
+                      <xsl:message>#430-A1 match="*[@xlink:href]" - LOOP CONTEXT.nodes DETECTED  at p5:links.recurse_level=<xsl:value-of select="$p5:links.recurse_level"/>; at p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/>; BYPASSING  p5:next/text()=<xsl:value-of select="p5:next/text()"/>; debug.last_wfs_request=<xsl:value-of select="$debug.last_wfs_request"/>;</xsl:message>
+                      <xsl:comment>#430-A1 match="*[@xlink:href]" - LOOP CONTEXT.nodes DETECTED  at p5:links.recurse_level=<xsl:value-of select="$p5:links.recurse_level"/>; at p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/> BYPASSING  p5:next/text()=<xsl:value-of select="p5:next/text()"/>; debug.last_wfs_request=<xsl:value-of select="$debug.last_wfs_request"/>;</xsl:comment>
+                  </xsl:when>
+                  <xsl:when test="number($p5:links.recurse_level) &gt;= number($p5:links.recurse_level.limit)">
                       <xsl:message>#430 STOPPED digging links by HIT $p5:links.recurse_level.limit at <xsl:value-of select="$p5:links.recurse_level"/>; at p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/>;</xsl:message>
                       <xsl:comment>#430 STOPPED digging links by HIT $p5:links.recurse_level.limit at <xsl:value-of select="$p5:links.recurse_level"/>; at p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/>;</xsl:comment>
                   </xsl:when>
@@ -812,14 +874,20 @@
                   <xsl:otherwise>
                       <xsl:variable name="MAXFEATURES.request">
                           <xsl:choose>
+                              <xsl:when test="contains(p5:next/text(),'maxFeatures=10')">
+                                  <xsl:value-of select="concat('&amp;maxFeatures=',$MAXFEATURES)"/>
+                              </xsl:when>
+                              <xsl:when test="contains(p5:next/text(),'maxFeatures=20')">
+                                  <xsl:value-of select="concat('&amp;maxFeatures=',$MAXFEATURES)"/>
+                              </xsl:when>
                               <xsl:when test="contains(p5:next/text(),'maxFeatures')"/>
-                              <xsl:otherwise><xsl:value-of select="concat('&amp;maxFeatures',$MAXFEATURES)"/></xsl:otherwise>
+                              <xsl:otherwise><xsl:value-of select="concat('&amp;maxFeatures=',$MAXFEATURES)"/></xsl:otherwise>
                           </xsl:choose>
                       </xsl:variable>
                       
-                      <xsl:variable name="request_string" select="concat(p5:next/text(),$php_session_id_ok.string,$api_recurse.request,$MAXFEATURES.request)"/> <!-- ,'&amp;maxFeatures=999' -->
-                      <xsl:message>#415 $p5:links.recurse_level=<xsl:value-of select="$p5:links.recurse_level"/>;  p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/>; requesting p5:links <xsl:value-of select="$request_string"/> <xsl:copy-of select="p5:next/@*"></xsl:copy-of></xsl:message>
-                      <xsl:comment>#415 $p5:links.recurse_level=<xsl:value-of select="$p5:links.recurse_level"/>;  p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/>; requesting p5:links <xsl:value-of select="$request_string"/></xsl:comment>
+                      <xsl:variable name="request_string" select="concat(p5:next/text(),$php_session_id_ok.string,get_wfs_recurse_xsl:api_recurse.request($api_recurse,$p5:links.recurse_level),$MAXFEATURES.request)"/> <!-- ,'&amp;maxFeatures=999' -->
+                      <xsl:message>#415 $p5:links.recurse_level=<xsl:value-of select="$p5:links.recurse_level"/>;  p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/>; requesting p5:links <xsl:value-of select="$request_string"/> ; orig from next (<xsl:copy-of select="p5:next/@*"/>)</xsl:message>
+                      <xsl:comment>#415 $p5:links.recurse_level=<xsl:value-of select="$p5:links.recurse_level"/>;  p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/>; requesting p5:links <xsl:value-of select="$request_string"/> ; orig from next (<xsl:copy-of select="p5:next/@*"/>)</xsl:comment>
                       <!--<request_string>
               <xsl:copy-of select="$request_string"/>
               </request_string>-->
@@ -897,6 +965,12 @@
         </xsl:variable>
         <xsl:variable name="MAXFEATURES.request">
             <xsl:choose>
+                <xsl:when test="contains(@next,'&amp;maxFeatures=10')">
+                    <xsl:value-of select="concat('&amp;maxFeatures=',$MAXFEATURES)"/>
+                </xsl:when>
+                <xsl:when test="contains(@next,'&amp;maxFeatures=20')">
+                    <xsl:value-of select="concat('&amp;maxFeatures=',$MAXFEATURES)"/>
+                </xsl:when>
                 <xsl:when test="contains(@next,'maxFeatures')"/>
                 <xsl:otherwise><xsl:value-of select="concat('&amp;maxFeatures=',$MAXFEATURES)"/></xsl:otherwise>
             </xsl:choose>
@@ -931,7 +1005,10 @@
         <xsl:copy-of select="$request_string"/>
         </request_string>-->
         <xsl:choose>
-            
+            <xsl:when test="$get_wfs_recurse_xsl:context.nodes//*[@fid =  current()/@fid ]">
+                <xsl:message>#692-A1 match="*[@xlink:href]" - LOOP CONTEXT.nodes DETECTED  at p5:links.recurse_level=<xsl:value-of select="$p5:links.recurse_level"/>; at p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/>; BYPASSING current(); debug.last_wfs_request=<xsl:value-of select="$debug.last_wfs_request"/>;</xsl:message>
+                <xsl:comment>#692-A1 match="*[@xlink:href]" - LOOP CONTEXT.nodes DETECTED  at p5:links.recurse_level=<xsl:value-of select="$p5:links.recurse_level"/>; at p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/> BYPASSING  current() debug.last_wfs_request=<xsl:value-of select="$debug.last_wfs_request"/>;</xsl:comment>
+            </xsl:when>
             <xsl:when test="number($p5:links.recurse_level) &gt; $p5:links.recurse_level.limit">
                 <xsl:message>#692-R stopped digging for new p5:fid=<xsl:value-of select="$p5:fid"/> $p5:links.recurse_level.limit at <xsl:value-of select="$p5:links.recurse_level"/>; p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/>; debug.last_wfs_request=<xsl:value-of select="$debug.last_wfs_request"/>;</xsl:message>
                 <xsl:comment>#692-R stopped digging for new p5:fid=<xsl:value-of select="$p5:fid"/> $p5:links.recurse_level.limit at <xsl:value-of select="$p5:links.recurse_level"/>; p5:links.next.recurse_level=<xsl:value-of select="$p5:links.next.recurse_level"/>; debug.last_wfs_request=<xsl:value-of select="$debug.last_wfs_request"/>;</xsl:comment>
@@ -1523,27 +1600,30 @@
         <xsl:value-of select="$TestMaxOccurs"/>
     </xsl:template>
     
-    
-    <xsl:template match="*" mode="anonimize_for_devel">
-        <xsl:copy>
-            <xsl:copy-of select="@*"/>
-            <xsl:apply-templates mode="#current"/>
-        </xsl:copy>
-    </xsl:template>
-    
     <xsl:template match="RelatedFeatureRoot" mode="anonimize_for_devel">
         <wfs:FeatureCollection>
-            <xsl:apply-templates mode="#current"/>
+            <xsl:apply-templates mode="anonimize_for_devel.featureMember" />
         </wfs:FeatureCollection>
     </xsl:template>
-   
-    <xsl:template match="*" mode="anonimize_for_devel">
+    
+    
+    <xsl:template match="*" mode="anonimize_for_devel.featureMember">
         <gml:featureMember>
-            <xsl:apply-templates mode="anonimize_for_devel.child"/>
+            <xsl:copy copy-namespaces="no">
+                <xsl:copy-of select="@*"/>
+                <xsl:apply-templates mode="anonimize_for_devel.child"/>
+            </xsl:copy>
         </gml:featureMember>
     </xsl:template>
     
     
+    
+    <xsl:template match="p5:links" mode="anonimize_for_devel.child"/>
+    <xsl:template match="default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI:BI_audit_ENERGA_RUM_KONTRAHENCI[ parent::default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA]|default_db__x3A__BI_audit_ENERGA_PRACOWNICY:BI_audit_ENERGA_PRACOWNICY[ parent::default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA]" priority="9" mode="anonimize_for_devel.child">
+        <xsl:message>#1600 debug hidden name()=<xsl:value-of select="name()"/>;</xsl:message>
+    </xsl:template>
+    
+    
     <xsl:template match="get_wfs_recurse_xsl:context.PRIMARYKEY|get_wfs_recurse_xsl:context.nodes" mode="anonimize_for_devel.child"/>
     <xsl:template match="text()" mode="anonimize_for_devel.child"/>
     
@@ -1568,4 +1648,8 @@
     </xsl:template>
     
     
+    
+    
+    
+    
 </xsl:stylesheet>

+ 2 - 0
SE/schema/default_db_xml_cache.public/main_build_recurse_ant.dita_with_id.xsl

@@ -9,6 +9,8 @@
     xmlns:p5_default_db="https://biuro.biall-net.pl/wfs/default_db"
     xmlns:ogc="http://www.opengis.net/ogc"
     xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
+    xmlns:p5_simpleSchema_map="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/p5_simpleSchema_map.xsd"
+    xmlns:p5opr="http://biuro.biall-net.pl/xmlschema_procesy5/system_cache/object_parent_relations/object_parent_relations.xsd"
     exclude-result-prefixes="xs"
     version="2.0">
     

+ 4 - 0
SE/schema/default_db_xml_cache.public/system_cache__appinfo/build_object_install_se_ant_object.xsd

@@ -0,0 +1,4 @@
+<?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/default_db_xml_cache/appinfo.xsd"
+    xmlns:system_cache__appinfo="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/appinfo.xsd"> </xs:schema>

+ 4 - 5
SE/schema/default_db_xml_cache.public/system_cache__appinfo/functions.xsl

@@ -47,16 +47,15 @@
             <xsl:when test="contains(system_cache__appinfo:clean_object_prefix(system_cache__appinfo:translate_object_escaped_prefix_from_string($name)),':')">
                 <!--<xsl:message terminate="yes">#48 ERROR ERROR?? double prefixed or uncorrect object $name=<xsl:value-of select="$name"/>; try system_cache__appinfo:clean_object_escaped_prefix_with_db_prefix instead?</xsl:message>-->
                 <xsl:value-of select=" system_cache__appinfo:clean_object_prefix(system_cache__appinfo:translate_object_escaped_prefix_from_string($name))"/>
-    </xsl:when>
+            </xsl:when>
             <xsl:otherwise><xsl:value-of select=" system_cache__appinfo:clean_object_prefix(system_cache__appinfo:translate_object_escaped_prefix_from_string($name))"/></xsl:otherwise>
         </xsl:choose>
         
     </xsl:function>
     
-    
-<xsl:function name="system_cache__appinfo:clean_object_escaped_prefix_with_db_prefix">    
-        <xsl:param name="name" />    
-         <xsl:choose>
+    <xsl:function name="system_cache__appinfo:clean_object_escaped_prefix_with_db_prefix">
+        <xsl:param name="name" /> 
+        <xsl:choose>
             <xsl:when test="contains(system_cache__appinfo:clean_object_prefix(system_cache__appinfo:translate_object_escaped_prefix_from_string($name)),':')">
                 <xsl:value-of select="system_cache__appinfo:clean_object_escaped_prefix(system_cache__appinfo:clean_object_prefix(system_cache__appinfo:translate_object_escaped_prefix_from_string($name)))"/>
             </xsl:when>