- From: Alex Muir <alex.g.muir@gmail.com>
- Date: Thu, 17 Mar 2011 14:55:32 +0000
- To: vojtech.toman@emc.com
- Cc: xproc-dev@w3.org
- Message-ID: <AANLkTi=mcRwSj3b=mJy+va0m2qxaJsFfjJJvUsr=8=4W@mail.gmail.com>
Good call Vojtech,, I added a name to the save-output step and the error message is related to that step. I hadn't noticed that I was thinking the step-name was the name I suppose. E [Calabash XProc] ERR : Unbound primary output: [output result on SAVEME] <oh:save-output name="SAVEME" step-name="saveidentifyDifferentOldNewOfficeCodes"> <p:with-option name="save" select="'true'"/> <p:with-option name="href" select="$hrefIdentifyDifferentOldNewOfficeCodes"/> </oh:save-output> Here is the code. --------- <?xml version="1.0" encoding="UTF-8"?> <p:declare-step xmlns:p="http://www.w3.org/ns/xproc" xmlns:c=" http://www.w3.org/ns/xproc-step" xmlns:cx=" http://xmlcalabash.com/ns/extensions" xmlns:xs=" http://www.w3.org/2001/XMLSchema" xmlns:oh="http://oami.europa.eu" version="1.0"> <p:input port="source"> <p:inline> <xml/> </p:inline> </p:input> <p:output port="result"/> <p:declare-step name="saveDocument" type="oh:save-output"> <p:input port="source" primary="true"/> <p:output port="result"> <p:pipe port="result" step="ident"/> </p:output> <p:option name="step-name" required="true"/> <p:option name="save" select="'false'"/> <p:option name="href" required="true"/> <p:identity name="ident"/> <p:choose> <p:when test="$save = 'true'"> <p:store> <p:with-option name="href" select="$href"> <p:pipe port="result" step="ident"/> </p:with-option> </p:store> </p:when> <p:otherwise> <p:sink/> </p:otherwise> </p:choose> </p:declare-step> <p:variable name="debugOutput" select="true()"/> <p:variable name="regexOffices" select="'^(Portugal):'"/> <p:variable name="regexSelectSchemaTypes" select="'\{\{Schema\s+(E(lement|numeration)|Type|Attribute)'"/> <p:variable name="regexOfficeCodeList" select="'(PT)$'"/> <p:variable name="OfficeCodeList" select="'PT'" oh:doc="the office code list one wants to make a schema for"/> <p:variable name="OfficeCodeArgSeperator" select="','"/> <p:variable name="category" select="'D7'"/> <p:variable name="hrefdebugOutputFolder" select="'../debug/'"/> <p:variable name="hrefWikiDumpInput" select="'../in/p13-wikidump.xml'"/> <p:variable name="hrefFullRDF" select="'../in/p13.rdf'"/> <p:variable name="hrefRDF" select="'../in/p13_slim.rdf'"/> <p:variable name="hrefSchemaOutput" select="'../out/TM-XML-V1-4.xsd'"/> <p:variable name="hrefOfficeSpecificWikiDump" select="'../out/officeSpecificOutput.xml'"/> <p:variable name="hrefOfficeSpecificWikiDumpCategoryAppended" select="'../out/officeSpecificWikiDumpCategoryAppended.xml'"/> <p:variable name="hrefIdentifyDifferentOldNewOfficeCodes" select="'../out/DifferentOldNewOfficeCodes.xml'"/> <p:group name="SlimRDF"> <p:load> <p:with-option name="href" select="$hrefFullRDF"/> </p:load> <p:xslt name="slim_RDF" version="1.0" oh:doc="run the stylesheet that slims the full RDF to be an office specific RDF"> <p:input port="stylesheet"> <p:document href="../xslt/slim_RDF.xsl"/> </p:input> <p:with-param name="regexOffices" select="$regexOffices"/> <p:with-param name="regexOfficeCodeList" select="$regexOfficeCodeList"/> <p:input port="parameters"> <p:empty/> </p:input> </p:xslt> <oh:save-output step-name="saveSlim_RDF"> <p:with-option name="save" select="'true'"/> <p:with-option name="href" select="$hrefRDF"/> </oh:save-output> <p:sink/> </p:group> <p:group name="GenerateOfficeSpecificWIkiDump"> <p:load> <p:with-option name="href" select="$hrefWikiDumpInput"/> </p:load> <oh:save-output step-name="debugOutputBeforeStripPagesNotInRDF"> <p:with-option name="save" select="$debugOutput"/> <p:with-option name="href" select="concat($hrefdebugOutputFolder,'debugOutputBeforeStripPagesNotInRDF.xml')"/> </oh:save-output> <p:xslt name="removePagesWithoutReferencedComponent" version="1.0"> <p:input port="stylesheet"> <p:document href="../xslt/removePagesWithoutReferencedComponentKeyed.xsl"/> </p:input> <p:with-param name="hrefRDF" select="$hrefRDF"/> <p:with-param name="regexOfficeCodeList" select="$regexOfficeCodeList"/> <p:input port="parameters"> <p:empty/> </p:input> </p:xslt> <oh:save-output step-name="debugOutputBeforeGenerateOfficeCode"> <p:with-option name="save" select="$debugOutput"/> <p:with-option name="href" select="concat($hrefdebugOutputFolder,'debugOutputBeforeGenerateOfficeCode.xml')"/> </oh:save-output> <p:xslt name="GenerateOfficeCode" version="1.0" oh:doc="run xslt to append the office code list"> <p:input port="stylesheet"> <p:document href="../xslt/GenerateOfficeCodeKeyed.xsl"/> </p:input> <p:with-param name="hrefRDF" select="$hrefRDF"/> <p:with-param name="regexSelectSchemaTypes" select="'\{\{Schema\s+(E(lement|numeration)|Type|Attribute)'"/> <p:input port="parameters"> <p:empty/> </p:input> </p:xslt> <oh:save-output step-name="saveOfficeSpecificWikiDump"> <p:with-option name="save" select="'true'"/> <p:with-option name="href" select="$hrefOfficeSpecificWikiDump"/> </oh:save-output> </p:group> <!-- <p:group name="CreateOfficeSpecificWikiDumpCategoryAppended">--> <p:identity name="PutCopyOfficeSpecificWikiDump"/> <p:xslt name="identifyDifferentOldNewOfficeCodes" version="1.0" oh:doc="Creates a list of pages that have different old and new office codes"> <p:input port="stylesheet"> <p:document href="../xslt/identifyDifferentOldNewOfficeCodes.xsl"/> </p:input> <p:with-param name="hrefRDF" select="$hrefRDF"/> <p:with-param name="regexSelectSchemaTypes" select="'\{\{Schema\s+(E(lement|numeration)|Type|Attribute)'"/> <p:input port="parameters"> <p:empty/> </p:input> </p:xslt> <oh:save-output name="SAVEME" step-name="saveidentifyDifferentOldNewOfficeCodes"> <p:with-option name="save" select="'true'"/> <p:with-option name="href" select="$hrefIdentifyDifferentOldNewOfficeCodes"/> </oh:save-output> <p:identity name="GetCopyOfficeSpecificWikiDump"> <p:input port="source"> <p:pipe port="result" step="PutCopyOfficeSpecificWikiDump"/> </p:input> </p:identity> <p:xslt name="AppendCategory" version="1.0" oh:doc="Appends the category to things that have changed"> <p:input port="stylesheet"> <p:document href="../xslt/AppendCategory.xsl"/> </p:input> <p:with-param name="hrefDiff" select="$hrefIdentifyDifferentOldNewOfficeCodes"/> <p:with-param name="regexSelectSchemaTypes" select="'\{\{Schema\s+(E(lement|numeration)|Type|Attribute)'"/> <p:with-param name="category" select="$category"/> <p:input port="parameters"> <p:empty/> </p:input> </p:xslt> <oh:save-output step-name="saveOfficeSpecificWikiDumpCategoryAppended"> <p:with-option name="save" select="'true'"/> <p:with-option name="href" select="$hrefOfficeSpecificWikiDumpCategoryAppended"/> </oh:save-output> <p:identity name="GetSecondCopyOfficeSpecificWikiDump"> <p:input port="source"> <p:pipe port="result" step="PutCopyOfficeSpecificWikiDump"/> </p:input> </p:identity> <!-- </p:group>--> <p:group name="convertToSchemaWiki"> <oh:save-output step-name="debugOutputBeforeWikiMediaDumpToSchema"> <p:with-option name="save" select="$debugOutput"/> <p:with-option name="href" select="concat($hrefdebugOutputFolder,'debugOutputBeforeWikiMediaDumpToSchema.xml')"/> </oh:save-output> <p:xslt name="WikiMediaDumpToSchema" version="1.0" oh:doc="run the stylesheet that extracts the schema widgets from the wikimedia dump"> <p:input port="stylesheet"> <p:document href="../xslt/WikiMediaDumpToSchema.xsl"/> </p:input> <p:with-param name="OfficeCodeList" select="$OfficeCodeList"/> <p:with-param name="OfficeCodeArgSeperator" select="$OfficeCodeArgSeperator"/> <p:input port="parameters"> <p:empty/> </p:input> </p:xslt> <oh:save-output step-name="debugOutputBeforeUnescape-markup"> <p:with-option name="save" select="$debugOutput"/> <p:with-option name="href" select="concat($hrefdebugOutputFolder,'debugOutputBeforeUnescape-markup.xml')"/> </oh:save-output> <p:viewport match="//document" oh:doc="Convert the unescaped markup to xml"> <p:unescape-markup> <p:with-option name="content-type" select="'application/xml'"/> </p:unescape-markup> </p:viewport> <p:unwrap match="/document" oh:doc="remove the surrounding element document"/> </p:group> <oh:save-output step-name="output"> <p:with-option name="save" select="'true'"/> <p:with-option name="href" select="$hrefSchemaOutput"/> </oh:save-output> <p:identity/> </p:declare-step> --------- On Thu, Mar 17, 2011 at 2:23 PM, <vojtech.toman@emc.com> wrote: > I assume that “!1.29” is the oh:save-output step as the other steps in the > sub-pipeline have explicit names. I don’t know what the declaration of > oh:save-output looks like, but if the step has a primary output port, then > this output port is unconnected (no steps inside p:group are connected to > it, and no steps outside of the p:group can connect it as it is out of > scope). If you look at the connections between the steps in the subpipeline, > there are actually two branches: > > > > - PutCopyCitySpecificWikiDump -> identifyDifferentOldNewOfficeCodes -> > oh:save-output > > - PutCopyCitySpecificWikiDump -> GetCopyCitySpecificWikiDump > > > > My guess is that Calabash gets it wrong and somehow thinks that > oh:save-output is the last step of the subpipeline, in which case it creates > an implicit output port to p:group and connects it to the primary output > port of oh:save-output. That would explain why you don’t get the error with > p:group, but I think that is a bug in Calabash. > > > > Regards, > > Vojtech > > > > -- > > Vojtech Toman > > Consultant Software Engineer > > EMC | Information Intelligence Group > > vojtech.toman@emc.com > > http://developer.emc.com/xmltech > -- Alex ----- Currently: Freelance Software Engineer 6+ yrs exp <http://www.facebook.com/pages/Bafila/125611807494851> Previously: https://sites.google.com/a/utg.edu.gm/alex/ A Bafila, is two rivers flowing together as one: http://www.facebook.com/pages/Bafila/125611807494851
Received on Thursday, 17 March 2011 14:56:06 UTC