XSLTranformer usage

I am trying to learn Clover, and am unable to figure out how to get an XSLTransformer to output the transformed XML. I have verified that my stylesheet works (external xalan-j test), and simply want to read in XML file, transform it, and output a single XML string to the next component.

Right now I am using the pop-up browser window to configure the “XML input file or field” and “XML output file or field”, and I am certain the “XML input file or field” is working as the console log claims the appropriate file is being read. However, the “XML output file or field” is set to “port:$0.XML:discrete” (XML is the name of the metadata field I created
for the XML string), and nothing is being emitted. From what I am reading
in the docs, I need to be making use of the “transform()” function somewhere in my output mappings. Since I don’t see it anywhere I assume this is the problem, but I can’t figure out how to use it.

Graph source is below:


<?xml version="1.0" encoding="UTF-8"?>
<Graph author="bfrutchey" created="Mon Jun 06 20:39:01 CDT 2011" guiVersion="3.0.1" id="1307422235174" licenseCode="CLP1DENDEC30590134BY" licenseType="Commercial Pro" modified="Wed Jun 08 08:26:23 CDT 2011" modifiedBy="bfrutchey" name="LoadLocationTaxonomy" revision="1.20">
<Global>
<Metadata id="Metadata0" previewAttachmentCharset="ISO-8859-1">
<Record name="XML" previewAttachmentCharset="ISO-8859-1" type="delimited">
<Field eofAsDelimiter="true" name="XML" type="string"/>
</Record>
</Metadata>
<Property fileURL="workspace.prm" id="GraphParameter0"/>
<Dictionary/>
</Global>
<Phase number="0">
<Node enabled="enabled" fileURL="${DATAOUT_DIR}/test_output.txt" guiHeight="0" guiName="UniversalDataWriter" guiWidth="0" guiX="324" guiY="161" id="DATA_WRITER1" type="DATA_WRITER"/>
<Node enabled="enabled" guiHeight="0" guiName="XSLTransformer" guiWidth="0" guiX="113" guiY="160" id="XSL_TRANSFORMER0" type="XSL_TRANSFORMER" xmlInputFile="../i94_data/location-ext.xml" xmlOutputFile="port:$0.XML:discrete" xsltFile="${DATAIN_DIR}/ReferentialExternalDimensionsToDelimited.xsl"/>
<Edge fromNode="XSL_TRANSFORMER0:0" guiBendpoints="" guiRouter="Manhattan" id="Edge2" inPort="Port 0 (in)" metadata="Metadata0" outPort="Port 0 (out)" toNode="DATA_WRITER1:0"/>
</Phase>
</Graph>

Hello,
unfortunately it doesn’t work. I’ve reported the problem to our bug tracking system (XSLTransformer doesn’t send data to output port, when defined with xmlOutputFile attribute); you can browse it with guest/guest credentials.
As a workaround use XSLTransformer without input and output port (write the output to temporary file, that downstream Reader can read) or with both input and output ports and mapping attribute:

<?xml version="1.0" encoding="UTF-8"?>
<Graph author="bfrutchey" created="Mon Jun 06 20:39:01 CDT 2011" guiVersion="0.0.0.devel" id="1307422235174" licenseType="Evaluation Devel" modified="Thu Jun 09 10:25:49 CEST 2011" modifiedBy="avackova" name="LoadLocationTaxonomy" revision="1.24" showComponentDetails="false">
<Global>
<Metadata id="Metadata0" previewAttachmentCharset="ISO-8859-1">
<Record name="XML" previewAttachmentCharset="ISO-8859-1" type="delimited">
<Field eofAsDelimiter="true" name="XML" type="string"/>
</Record>
</Metadata>
<Property fileURL="workspace.prm" id="GraphParameter0"/>
<Dictionary/>
</Global>
<Phase number="0">
<Node enabled="enabled" fileURL="../i94_data/location-ext.xml" guiHeight="69" guiName="UniversalDataReader" guiWidth="128" guiX="32" guiY="70" id="DATA_READER0" type="DATA_READER"/>
<Node enabled="enabled" fileURL="${DATAOUT_DIR}/test_output.txt" guiHeight="69" guiName="UniversalDataWriter" guiWidth="128" guiX="375" guiY="70" id="DATA_WRITER1" type="DATA_WRITER"/>
<Node enabled="enabled" guiHeight="69" guiName="XSLTransformer" guiWidth="128" guiX="209" guiY="70" id="XSL_TRANSFORMER0" mapping="$0.XML:=transform($0.XML);" type="XSL_TRANSFORMER" xsltFile="${DATAIN_DIR}/ReferentialExternalDimensionsToDelimited.xsl"/>
<Edge fromNode="DATA_READER0:0" guiBendpoints="" guiLocks="null|null|null" guiRouter="Manhattan" id="Edge0" inPort="Port 0 (in)" metadata="Metadata0" outPort="Port 0 (output)" toNode="XSL_TRANSFORMER0:0"/>
<Edge fromNode="XSL_TRANSFORMER0:0" guiBendpoints="" guiLocks="null|null|null" guiRouter="Manhattan" id="Edge2" inPort="Port 0 (in)" metadata="Metadata0" outPort="Port 0 (out)" toNode="DATA_WRITER1:0"/>
</Phase>
</Graph>