{"id":6463,"date":"2018-04-05T19:35:00","date_gmt":"2018-04-05T19:35:00","guid":{"rendered":"https:\/\/alt2.minisoft.com\/support\/?p=6463"},"modified":"2020-08-17T12:58:59","modified_gmt":"2020-08-17T19:58:59","slug":"sub-projects","status":"publish","type":"post","link":"https:\/\/c002.minisoft.com\/support\/sub-projects\/","title":{"rendered":"Calling Sub-Projects (parameters)"},"content":{"rendered":"<p>To follow along, download the following project files (4) and place them in the Minisoft\\eFORMz_6\\projects\\Sample folder:<\/p>\n<p><strong><a href=\"\/support\/wp-content\/uploads\/2018\/04\/CallSubProject.zip\">CallSubProject<\/a><\/strong><\/p>\n<p>When you pass parameters to a sub-project, they can be accessed in that sub-project by defining Data Node variables as follows:<\/p>\n<p>1. If the calling project does NOT pass XML as Input Data to the sub-project, then the variables are defined as Data Node variables with the following value for &#8220;Data Node&#8221;:<\/p>\n<pre>Parameters\/&lt;Parameter1Name&gt;\nParameters\/&lt;Parameter2Name&gt;<\/pre>\n<p>2. If the calling project passes XML as Input Data to the sub-project, then the Data Node value is prefixed &#8220;VariableValues\/&#8221;, like this:<\/p>\n<pre>VariableValues\/Parameters\/&lt;Parameter1Name&gt;\nVariableValues\/Parameters\/&lt;Parameter2Name&gt;<\/pre>\n<h2>XML Input Data<\/h2>\n<p>The first pair of projects demonstrate how to access parameters in a sub-project when the Input Data is XML.<\/p>\n<p><strong>CallSubProjectXMLDataAndParameters.efz<\/strong><br \/>\nDefine an XML variable (XMLSomeData), and pass this to a sub-project along with two additional parameters: FormSize and Orientation. Define the \u201cInput format\u201d as XML and the \u201cCharacter set\u201d as UTF-8.<\/p>\n<p><a href=\"https:\/\/alt2.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-6465\" src=\"https:\/\/alt2.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject1.png\" alt=\"\" width=\"695\" height=\"644\" srcset=\"https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject1.png 695w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject1-300x278.png 300w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject1-150x139.png 150w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject1-250x232.png 250w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject1-550x510.png 550w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject1-194x180.png 194w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject1-324x300.png 324w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject1-540x500.png 540w\" sizes=\"(max-width: 695px) 100vw, 695px\" \/><\/a><\/p>\n<p><strong>SubProjectXMLDataAndParameters.efz<\/strong><br \/>\nIn the sub-project, define the two parameters as Data Node variables, with the Data Node value of \u201cVariableValues\/Parameters\/\u201d followed by the name of the parameter as passed from the calling project, \u201cFormSize\u201d in this example:<\/p>\n<p><a href=\"https:\/\/alt2.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject2.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-6466\" src=\"https:\/\/alt2.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject2.png\" alt=\"\" width=\"478\" height=\"342\" srcset=\"https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject2.png 478w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject2-300x215.png 300w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject2-150x107.png 150w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject2-250x179.png 250w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject2-252x180.png 252w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject2-419x300.png 419w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject2-210x150.png 210w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject2-400x285.png 400w\" sizes=\"(max-width: 478px) 100vw, 478px\" \/><\/a><\/p>\n<p>You can verify the variables are defined correctly in the sub-project if the parent project\u2019s output looks like this (the sub-project echoes the parameter names and values in a rule):<\/p>\n<p><a href=\"https:\/\/alt2.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject3.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-6467\" src=\"https:\/\/alt2.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject3.png\" alt=\"\" width=\"265\" height=\"101\" srcset=\"https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject3.png 265w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject3-150x57.png 150w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject3-250x95.png 250w\" sizes=\"(max-width: 265px) 100vw, 265px\" \/><\/a><\/p>\n<h2>Non-XML Input Data<\/h2>\n<p>The second pair of projects demonstrates how to access parameters in a sub-project when the Input Data is anything other than XML.<\/p>\n<p><strong>CallSubProjectNonXMLDataAndParameters.efz<\/strong><br \/>\nDefine two variables to pass to the sub-project: Form and Orientation, and give them the values \u201c4&#215;6\u201d and \u201cportrait\u201d, respectively. Call the sub-project from a rule, where the rule variable is the system variable \u201cN\/A\u201d, which is just an empty string (definitely not XML):<\/p>\n<p><a href=\"https:\/\/alt2.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject4.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-6468\" src=\"https:\/\/alt2.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject4.png\" alt=\"\" width=\"728\" height=\"411\" srcset=\"https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject4.png 728w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject4-300x169.png 300w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject4-150x85.png 150w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject4-250x141.png 250w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject4-550x311.png 550w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject4-319x180.png 319w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject4-531x300.png 531w\" sizes=\"(max-width: 728px) 100vw, 728px\" \/><\/a><\/p>\n<p><strong>SubProjectNonXMLDataAndParameters.efz<\/strong><br \/>\nIn the sub-project, define the incoming parameters as Data Node variables, with the Data Node value of \u201cParameters\/\u201d followed by the name of the parameter as passed from the calling project, \u201cFormSize\u201d in this example:<\/p>\n<p><a href=\"https:\/\/alt2.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject5.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-6469\" src=\"https:\/\/alt2.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject5.png\" alt=\"\" width=\"645\" height=\"279\" srcset=\"https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject5.png 645w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject5-300x130.png 300w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject5-150x65.png 150w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject5-250x108.png 250w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject5-550x238.png 550w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject5-416x180.png 416w\" sizes=\"(max-width: 645px) 100vw, 645px\" \/><\/a><\/p>\n<p>You can verify the variables are defined correctly in the sub-project if the parent project\u2019s output looks like this (the sub-project echoes the parameter names and values in a rule):<\/p>\n<p><a href=\"https:\/\/alt2.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject6.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-6470\" src=\"https:\/\/alt2.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject6.png\" alt=\"\" width=\"269\" height=\"109\" srcset=\"https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject6.png 269w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject6-150x61.png 150w, https:\/\/c002.minisoft.com\/support\/wp-content\/uploads\/2018\/04\/SubProject6-250x101.png 250w\" sizes=\"(max-width: 269px) 100vw, 269px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>To follow along, download the following project files (4) and place them in the Minisoft\\eFORMz_6\\projects\\Sample folder: CallSubProject When you pass parameters to a sub-project, they can be accessed in that sub-project by defining Data Node variables as follows: 1. If the calling project does NOT pass XML as Input Data to the sub-project, then the [&hellip;]<\/p>\n","protected":false},"author":75,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[107,395,393,394,132],"_links":{"self":[{"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/posts\/6463"}],"collection":[{"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/users\/75"}],"replies":[{"embeddable":true,"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/comments?post=6463"}],"version-history":[{"count":3,"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/posts\/6463\/revisions"}],"predecessor-version":[{"id":8336,"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/posts\/6463\/revisions\/8336"}],"wp:attachment":[{"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/media?parent=6463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/categories?post=6463"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/tags?post=6463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}