Jelajahi Sumber

poprawne skladanie xml z uwzglednieniem real_resource implementujacego udawane typy na bazie filtrow z XML schema

a.binder 9 tahun lalu
induk
melakukan
afd286264b

+ 2 - 2
SE/schema/ant-url_action/default_db.crm_proces/CRM_PROCES_tree/build.xml

@@ -236,10 +236,10 @@
                         <!--<property name="main_build_recurse_ant.dita" value="main_build_recurse_ant.dita"/>-->
                         <!--<property name="main_build_recurse_ant.dita" value="main_build_recurse_ant.dita"/>-->
                         <exec  executable="bash" dir="." outputproperty="main_build_recurse_ant.tr_map_sed">
                         <exec  executable="bash" dir="." outputproperty="main_build_recurse_ant.tr_map_sed">
                             <arg value="-c"/>
                             <arg value="-c"/>
-                            <arg value="echo ${typeName_tested} |sed 's/.*://'"/>
+                            <arg value="echo ${typeName_tested} |sed 's/.*://'"/><!-- tu wchodzi -DtypeName=p5_default_db:CRM_PROCES  -->
                         </exec>
                         </exec>
                                                          <!-- element-default_db__x3A__CRM_PROCES__x3A__CRM_PROCES -->
                                                          <!-- element-default_db__x3A__CRM_PROCES__x3A__CRM_PROCES -->
-                        <property name="main_build_recurse_ant.dita" value="${p5_tr_map_dir}/element-${namespace_prefix_p5_tr_map}__x3A__${main_build_recurse_ant.tr_map_sed}__x3A__${main_build_recurse_ant.tr_map_sed}.xml"/>
+                        <property name="main_build_recurse_ant.dita" value="${p5_tr_map_dir}/${namespace_prefix_p5_tr_map}/${main_build_recurse_ant.tr_map_sed}.xml"/>
                         <echo> Ustawiam $main_build_recurse_ant.dita na ${main_build_recurse_ant.dita} ;  </echo>
                         <echo> Ustawiam $main_build_recurse_ant.dita na ${main_build_recurse_ant.dita} ;  </echo>
                                     
                                     
                         <property name="main_build_recurse_ant.dita_with_id" value="${temp}/${main_build_recurse_ant.tr_map_sed}.with_id.xml"/>
                         <property name="main_build_recurse_ant.dita_with_id" value="${temp}/${main_build_recurse_ant.tr_map_sed}.with_id.xml"/>

+ 2 - 2
SE/schema/ant-url_action/default_db.in7_dziennik_koresp/test-druk/build.xml

@@ -236,10 +236,10 @@
                         <!--<property name="main_build_recurse_ant.dita" value="main_build_recurse_ant.dita"/>-->
                         <!--<property name="main_build_recurse_ant.dita" value="main_build_recurse_ant.dita"/>-->
                         <exec  executable="bash" dir="." outputproperty="main_build_recurse_ant.tr_map_sed">
                         <exec  executable="bash" dir="." outputproperty="main_build_recurse_ant.tr_map_sed">
                             <arg value="-c"/>
                             <arg value="-c"/>
-                            <arg value="echo ${typeName_tested} |sed 's/.*://'"/>
+                            <arg value="echo ${typeName_tested} |sed 's/.*://'"/><!-- tu wchodzi -DtypeName=p5_default_db:CRM_PROCES  -->
                         </exec>
                         </exec>
                                                          <!-- element-default_db__x3A__CRM_PROCES__x3A__CRM_PROCES -->
                                                          <!-- element-default_db__x3A__CRM_PROCES__x3A__CRM_PROCES -->
-                        <property name="main_build_recurse_ant.dita" value="${p5_tr_map_dir}/element-${namespace_prefix_p5_tr_map}__x3A__${main_build_recurse_ant.tr_map_sed}__x3A__${main_build_recurse_ant.tr_map_sed}.xml"/>
+                        <property name="main_build_recurse_ant.dita" value="${p5_tr_map_dir}/${namespace_prefix_p5_tr_map}/${main_build_recurse_ant.tr_map_sed}.xml"/>
                         <echo> Ustawiam $main_build_recurse_ant.dita na ${main_build_recurse_ant.dita} ;  </echo>
                         <echo> Ustawiam $main_build_recurse_ant.dita na ${main_build_recurse_ant.dita} ;  </echo>
                                     
                                     
                         <property name="main_build_recurse_ant.dita_with_id" value="${temp}/${main_build_recurse_ant.tr_map_sed}.with_id.xml"/>
                         <property name="main_build_recurse_ant.dita_with_id" value="${temp}/${main_build_recurse_ant.tr_map_sed}.with_id.xml"/>

+ 2 - 2
SE/schema/ant-url_action/default_db.in7_dziennik_koresp/umowa/build.xml

@@ -236,10 +236,10 @@
                         <!--<property name="main_build_recurse_ant.dita" value="main_build_recurse_ant.dita"/>-->
                         <!--<property name="main_build_recurse_ant.dita" value="main_build_recurse_ant.dita"/>-->
                         <exec  executable="bash" dir="." outputproperty="main_build_recurse_ant.tr_map_sed">
                         <exec  executable="bash" dir="." outputproperty="main_build_recurse_ant.tr_map_sed">
                             <arg value="-c"/>
                             <arg value="-c"/>
-                            <arg value="echo ${typeName_tested} |sed 's/.*://'"/>
+                            <arg value="echo ${typeName_tested} |sed 's/.*://'"/><!-- tu wchodzi -DtypeName=p5_default_db:CRM_PROCES  -->
                         </exec>
                         </exec>
                                                          <!-- element-default_db__x3A__CRM_PROCES__x3A__CRM_PROCES -->
                                                          <!-- element-default_db__x3A__CRM_PROCES__x3A__CRM_PROCES -->
-                        <property name="main_build_recurse_ant.dita" value="${p5_tr_map_dir}/element-${namespace_prefix_p5_tr_map}__x3A__${main_build_recurse_ant.tr_map_sed}__x3A__${main_build_recurse_ant.tr_map_sed}.xml"/>
+                        <property name="main_build_recurse_ant.dita" value="${p5_tr_map_dir}/${namespace_prefix_p5_tr_map}/${main_build_recurse_ant.tr_map_sed}.xml"/>
                         <echo> Ustawiam $main_build_recurse_ant.dita na ${main_build_recurse_ant.dita} ;  </echo>
                         <echo> Ustawiam $main_build_recurse_ant.dita na ${main_build_recurse_ant.dita} ;  </echo>
                                     
                                     
                         <property name="main_build_recurse_ant.dita_with_id" value="${temp}/${main_build_recurse_ant.tr_map_sed}.with_id.xml"/>
                         <property name="main_build_recurse_ant.dita_with_id" value="${temp}/${main_build_recurse_ant.tr_map_sed}.with_id.xml"/>

File diff ditekan karena terlalu besar
+ 307 - 325
SE/schema/default_db.instance.xml/p5_tr_map/element-default_db__x3A__CRM_PROCES__x3A__CRM_PROCES.xml


+ 20 - 4
SE/schema/default_db_xml_cache.public/build_recurse_ant.xsl

@@ -105,6 +105,13 @@
                     </xsl:choose>
                     </xsl:choose>
                 </xsl:variable>
                 </xsl:variable>
                 <xsl:variable name="typeName_dita" select="@typeName"/>
                 <xsl:variable name="typeName_dita" select="@typeName"/>
+                <xsl:variable name="typeNameRealResource">
+                    <!-- override in case of different real resource by filtered resource -->
+                    <xsl:choose>
+                        <xsl:when test="@typeNameRealResource"><xsl:value-of select="@typeNameRealResource"/></xsl:when>
+                        <xsl:otherwise><xsl:value-of select="$typeName_dita"/></xsl:otherwise>
+                    </xsl:choose>
+                </xsl:variable>
                 <xsl:variable name="featureID_name_dita" select="substring-after($typeName_dita,':')"/>
                 <xsl:variable name="featureID_name_dita" select="substring-after($typeName_dita,':')"/>
                 <xsl:variable name="xml_id" select="@xml_id"/>
                 <xsl:variable name="xml_id" select="@xml_id"/>
                 <!--<xsl:variable name="wfs_output" select="concat($uuid,'.',$loop_xpath,'_x2f_',$featureID_name)"/>-->
                 <!--<xsl:variable name="wfs_output" select="concat($uuid,'.',$loop_xpath,'_x2f_',$featureID_name)"/>-->
@@ -122,8 +129,7 @@
                         </xsl:when>
                         </xsl:when>
                         <xsl:otherwise><xsl:value-of select="@xpath"/></xsl:otherwise>
                         <xsl:otherwise><xsl:value-of select="@xpath"/></xsl:otherwise>
                     </xsl:choose>
                     </xsl:choose>
-                </xsl:variable>
-                
+                </xsl:variable> 
                 <xsl:variable name="xpath_value_dita">
                 <xsl:variable name="xpath_value_dita">
                     <xsl:choose>
                     <xsl:choose>
                         
                         
@@ -223,6 +229,7 @@
                         <!--<xsl:with-param name="xml_id_parent" select="$xml_id_parent"/>-->
                         <!--<xsl:with-param name="xml_id_parent" select="$xml_id_parent"/>-->
                         <xsl:with-param name="feature_pos"   select="$feature_pos"/>
                         <xsl:with-param name="feature_pos"   select="$feature_pos"/>
                         <xsl:with-param name="input_obj_with_xpath" select="$input_obj_with_xpath"/>
                         <xsl:with-param name="input_obj_with_xpath" select="$input_obj_with_xpath"/>
+                        <xsl:with-param name="typeNameRealResource" select="$typeNameRealResource"/>
                     </xsl:apply-templates>
                     </xsl:apply-templates>
                     <!-- na koniec przetwarzania kazdego z wezlow, podmieniamy xsl biezacy wezel -->
                     <!-- na koniec przetwarzania kazdego z wezlow, podmieniamy xsl biezacy wezel -->
                     
                     
@@ -293,6 +300,13 @@
                     </xsl:choose>
                     </xsl:choose>
                 </xsl:variable>
                 </xsl:variable>
                 <xsl:variable name="typeName_dita" select="@typeName"/>
                 <xsl:variable name="typeName_dita" select="@typeName"/>
+                <xsl:variable name="typeNameRealResource">
+                    <!-- override in case of different real resource by filtered resource -->
+                    <xsl:choose>
+                        <xsl:when test="@typeNameRealResource"><xsl:value-of select="@typeNameRealResource"/></xsl:when>
+                        <xsl:otherwise><xsl:value-of select="@typeName"/></xsl:otherwise>
+                    </xsl:choose>
+                </xsl:variable>
                 <xsl:variable name="featureID_name_dita" select="substring-after($typeName_dita,':')"/>
                 <xsl:variable name="featureID_name_dita" select="substring-after($typeName_dita,':')"/>
                 <xsl:variable name="xml_id" select="@xml_id"/>
                 <xsl:variable name="xml_id" select="@xml_id"/>
                 <xsl:variable name="wfs_output" select="concat($uuid,'.',$loop_xpath)"/>
                 <xsl:variable name="wfs_output" select="concat($uuid,'.',$loop_xpath)"/>
@@ -426,7 +440,7 @@
                             </xsl:call-template>
                             </xsl:call-template>
                         </xsl:variable>
                         </xsl:variable>
                         <xsl:variable name="url">
                         <xsl:variable name="url">
-                            <xsl:value-of select="$api_url"/>/default_db/?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=GetFeature&amp;TYPENAME=<xsl:value-of select="$typeName_dita"/>&amp;SRSNAME=EPSG:3003<xsl:value-of select="$OGC_Filter"/>
+                            <xsl:value-of select="$api_url"/>/default_db/?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=GetFeature&amp;TYPENAME=<xsl:value-of select="$typeNameRealResource"/>&amp;SRSNAME=EPSG:3003<xsl:value-of select="$OGC_Filter"/>
                         </xsl:variable>
                         </xsl:variable>
                         <xsl:element name="exec">
                         <xsl:element name="exec">
                             <xsl:attribute name="executable" select="'curl'"/>
                             <xsl:attribute name="executable" select="'curl'"/>
@@ -726,6 +740,8 @@
         <xsl:param name="feature_pos"   required="yes"/>
         <xsl:param name="feature_pos"   required="yes"/>
         <xsl:param name="loop_xpath_real" required="yes"/>
         <xsl:param name="loop_xpath_real" required="yes"/>
         <xsl:param name="input_obj_with_xpath" required="yes"/>
         <xsl:param name="input_obj_with_xpath" required="yes"/>
+        <xsl:param name="typeNameRealResource" required="yes"/>
+        
         <xsl:choose>
         <xsl:choose>
             <xsl:when test="$wfs_output"/>
             <xsl:when test="$wfs_output"/>
             <xsl:otherwise><xsl:message terminate="yes">Not required param wfs_output - nazwa temp sciagniecia z api xml forsowana przez pierwsze sciagniecie - to set by next parraler step in ant build  </xsl:message></xsl:otherwise>
             <xsl:otherwise><xsl:message terminate="yes">Not required param wfs_output - nazwa temp sciagniecia z api xml forsowana przez pierwsze sciagniecie - to set by next parraler step in ant build  </xsl:message></xsl:otherwise>
@@ -769,7 +785,7 @@
                      <xsl:message>#410 final OGC_Filter is <xsl:value-of select="$OGC_Filter"/>;</xsl:message>
                      <xsl:message>#410 final OGC_Filter is <xsl:value-of select="$OGC_Filter"/>;</xsl:message>
                      <xsl:variable name="url">
                      <xsl:variable name="url">
                          <!--<xsl:value-of select="$api_url"/>/default_db/?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=GetFeature&amp;TYPENAME=<xsl:value-of select="$typeName_dita"/>&amp;SRSNAME=EPSG:3003&amp;featureID=<xsl:value-of select="$featureID_name_dita"/>.<xsl:value-of select="$xpath_value_dita"/>-->
                          <!--<xsl:value-of select="$api_url"/>/default_db/?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=GetFeature&amp;TYPENAME=<xsl:value-of select="$typeName_dita"/>&amp;SRSNAME=EPSG:3003&amp;featureID=<xsl:value-of select="$featureID_name_dita"/>.<xsl:value-of select="$xpath_value_dita"/>-->
-                         <xsl:value-of select="$api_url"/>/default_db/?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=GetFeature&amp;TYPENAME=<xsl:value-of select="$typeName_dita"/>&amp;SRSNAME=EPSG:3003<xsl:value-of select="$OGC_Filter"/>
+                         <xsl:value-of select="$api_url"/>/default_db/?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=GetFeature&amp;TYPENAME=<xsl:value-of select="$typeNameRealResource"/>&amp;SRSNAME=EPSG:3003<xsl:value-of select="$OGC_Filter"/>
                      </xsl:variable>
                      </xsl:variable>
                             <xsl:element name="target">
                             <xsl:element name="target">
                                 <xsl:attribute name="name" select="concat('get_related_feature.',position(),$loop_xpath_real)"/>
                                 <xsl:attribute name="name" select="concat('get_related_feature.',position(),$loop_xpath_real)"/>

+ 17 - 4
SE/schema/default_db_xml_cache.public/main_build_recurse_ant.dita_with_id.xsl

@@ -47,6 +47,10 @@
     </xsl:function>
     </xsl:function>
     
     
     
     
+    <xsl:function name="system_cache__appinfo:build_complexType_from_cache"><!-- do pobrania właściwego elementu zbudowanego complexType TODO problem wielu prefixow lub unikalnosci elementow -->
+        <xsl:param name="parent_type" required="yes"/> <!-- parent_type="default_db__x3A__CRM_PROCES:CRM_PROCES"  -->
+    </xsl:function>
+    
     <xsl:template match="p5_tr_map:go_recurse_from_root_by_build_element">
     <xsl:template match="p5_tr_map:go_recurse_from_root_by_build_element">
         <!--<xsl:variable name="detect_resource_type" select=" system_cache__resources_tree_generate_xsl_required_occurs_raport:detect_resource_type_from_cache(@system_cache__appinfo:ref)"/>-->
         <!--<xsl:variable name="detect_resource_type" select=" system_cache__resources_tree_generate_xsl_required_occurs_raport:detect_resource_type_from_cache(@system_cache__appinfo:ref)"/>-->
         <RelatedFeature>
         <RelatedFeature>
@@ -124,8 +128,9 @@
             <xsl:attribute name="xml_id" select="generate-id()"/>
             <xsl:attribute name="xml_id" select="generate-id()"/>
                  <!-- tymczasowe wymuszenie relacji do obiektu glownego na podstawie $detect_resource_type -->
                  <!-- tymczasowe wymuszenie relacji do obiektu glownego na podstawie $detect_resource_type -->
                  <!--<xsl:attribute name="typeName" select="p5_tr_map:force_local_typeName(@system_cache__appinfo:ref)"/>-->
                  <!--<xsl:attribute name="typeName" select="p5_tr_map:force_local_typeName(@system_cache__appinfo:ref)"/>-->
-                 <xsl:attribute name="typeName" select="concat($namespace_prefix,':',$detect_resource_type//system_cache__resources_tree_generate_xsl_required_occurs_raport:detect_resource_type/@system_cache__appinfo:get_default_db_obj_url_table_name)" />
-                 <!--<xsl:attribute name="xpath" select="@flat_relation_cache_name"/>-->
+                 <xsl:attribute name="typeNameRealResource" select="concat($namespace_prefix,':',$detect_resource_type//system_cache__resources_tree_generate_xsl_required_occurs_raport:detect_resource_type/@system_cache__appinfo:get_default_db_obj_url_table_name)" />
+            <xsl:attribute name="typeName" select="concat($namespace_prefix,':',substring-after(@system_cache__appinfo:ref,':'))"/> 
+                <!--<xsl:attribute name="xpath" select="@flat_relation_cache_name"/>-->
                  <!-- wykrycie pierwszego @local-name-name -->
                  <!-- wykrycie pierwszego @local-name-name -->
                  <xsl:attribute name="flat_relation_cache_xpath" select="@flat_relation_cache_xpath"/>
                  <xsl:attribute name="flat_relation_cache_xpath" select="@flat_relation_cache_xpath"/>
                  <xsl:attribute name="flat_relation_cache_name" select="@flat_relation_cache_name"/>            
                  <xsl:attribute name="flat_relation_cache_name" select="@flat_relation_cache_name"/>            
@@ -167,7 +172,9 @@
             <xsl:attribute name="xml_id" select="generate-id()"/>
             <xsl:attribute name="xml_id" select="generate-id()"/>
             <!-- tymczasowe wymuszenie relacji do obiektu glownego na podstawie $detect_resource_type -->
             <!-- tymczasowe wymuszenie relacji do obiektu glownego na podstawie $detect_resource_type -->
             <!--<xsl:attribute name="typeName" select="p5_tr_map:force_local_typeName(@system_cache__appinfo:ref)"/>-->
             <!--<xsl:attribute name="typeName" select="p5_tr_map:force_local_typeName(@system_cache__appinfo:ref)"/>-->
-            <xsl:attribute name="typeName" select="concat($namespace_prefix,':',$detect_resource_type//system_cache__resources_tree_generate_xsl_required_occurs_raport:detect_resource_type/@system_cache__appinfo:get_default_db_obj_url_table_name)" />
+            
+            <xsl:attribute name="typeNameRealResource" select="concat($namespace_prefix,':',$detect_resource_type//system_cache__resources_tree_generate_xsl_required_occurs_raport:detect_resource_type/@system_cache__appinfo:get_default_db_obj_url_table_name)" />
+            <xsl:attribute name="typeName" select="concat($namespace_prefix,':',substring-after(@system_cache__appinfo:ref,':'))"/>
             <!--<xsl:attribute name="xpath" select="@flat_relation_cache_name"/>-->
             <!--<xsl:attribute name="xpath" select="@flat_relation_cache_name"/>-->
             <!-- wykrycie pierwszego @local-name-name -->
             <!-- wykrycie pierwszego @local-name-name -->
             <xsl:attribute name="flat_relation_cache_xpath" select="@flat_relation_cache_xpath"/>
             <xsl:attribute name="flat_relation_cache_xpath" select="@flat_relation_cache_xpath"/>
@@ -394,7 +401,13 @@
     <xsl:template mode="detect_typeName_tr_map" match="*">
     <xsl:template mode="detect_typeName_tr_map" match="*">
         <xsl:choose>
         <xsl:choose>
             <xsl:when test="@local-name-name">
             <xsl:when test="@local-name-name">
-                <xsl:attribute name="typeName" select="p5_tr_map:force_local_typeName(@local-name-name)"/> 
+                <xsl:attribute name="typeName" select="p5_tr_map:force_local_typeName(@local-name-name)"/>
+                <xsl:variable name="prefixed_object_info">
+                    <xsl:call-template name="system_cache__appinfo:prefixed_object_info">
+                        <xsl:with-param name="prefixed_object" select="@retrieve_TYPE"/>
+                    </xsl:call-template>
+                </xsl:variable>
+                <xsl:attribute name="typeNameRealResource" select="p5_tr_map:force_local_typeName($prefixed_object_info/system_cache__appinfo:prefixed_object_info/@name)"/>
             </xsl:when>
             </xsl:when>
             <xsl:otherwise>
             <xsl:otherwise>
                 <xsl:apply-templates mode="detect_typeName_tr_map"/>
                 <xsl:apply-templates mode="detect_typeName_tr_map"/>

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini