Hello,

templatetransformer behaves rather ungracefully if one of the replacement
fields is missing.

I am parsing a single XML document into multiple separate solr documents.
It turns out that none of the source documents fields can be used to create
a uniqueKey alone. I need to combine two, using template transformer as
follows:

<entity name="x"
  dataSource="myfilereader"
  processor="XPathEntityProcessor"
  url="${jc.fileAbsolutePath}"
  rootEntity="true"
  stream="false"
  forEach="/record | /record/mediaBlock"
  transformer="DateFormatTransformer,TemplateTransformer,RegexTransformer"
   >

  <field column="fileAbsolutePath"    template="${jc.fileAbsolutePath}" />
  <field column="fileWebPath"         
regex="${dataimporter.request.installdir}(.*)" replaceWith="/ford$1" 
sourceColName="fileAbsolutePath"/>
  <field column="id"                  
template="${jc.fileAbsolutePath}${x.vurl}" />
  <field column="vurl"                
xpath="/record/mediaBlock/mediaObject/@vurl" />

The trouble is that vurl is only defined as a child of "/record/mediaBlock"
so my attempt to create id, the uniqueKey fails for the parent document 
"/record"

I am hacking around with "TemplateTransformer.java" to sort this but was
wondering if there was a good reason for this behavior.

Regards.
-- 

===============================================================
Fergus McMenemie               Email:fer...@twig.me.uk
Techmore Ltd                   Phone:(UK) 07721 376021

Unix/Mac/Intranets             Analyst Programmer
===============================================================

Reply via email to