Originally posted by: SystemAdmin
Hi all, I'm having a problem with XPATH.
I use it to gather information from an XML file encoded in UTF-8 format. Everything works well until I try an XML with latin characters, such as "Ç" or "â". When the input file has any of those characters, the output is empty.
Does anyone know any way to prevent this from happening?
This is the rule:
=IF(Text Data Value:status Attribute_Pair:object Attribute_List:object General Element:ZZ_Other= "E09", "Report ID: " + xmllib->XPATH(CPACKAGE(ElemDecl ProductDispositionBOD Element:Global:Rejected, "UTF-8"), \\ "./eims2:ProductDisposition/eims2:ProductDispositionHeader/oa9:DocumentID/oa9:ID","/eims2:ProductDispositionBOD/eims2:DataArea") + " , " + \\ "Seller ID: " + xmllib->XPATH(CPACKAGE(ElemDecl ProductDispositionBOD Element:Global:Rejected, "UTF-8"), \\ "./eims2:ProductDisposition/eims2:ProductDispositionHeader/oa9:Party/oa9:PartyIDs/oa9:ID","/eims2:ProductDispositionBOD/eims2:DataArea") +" , " + IF(type Attr:AttrList ProductDispositionType Type:ProductDisposition:DataArea Comp:ElemDecl ProductDispositionBOD Element:Global:Rejected = "I", "Inventory Effective Date: ", "Sales Movement Date: ") + IF(MEMBER(TEXT(xmllib->XPATH(CPACKAGE(ElemDecl ProductDispositionBOD Element:Global:Rejected, "UTF-8"), "./eims2:ProductDisposition/eims2:ProductDispositionHeader/eims2:EventDateTime","/eims2:ProductDispositionBOD/eims2:DataArea")), {"1111-11-11T00:00:00", "2222-11-11T00:00:00"}), " ", TEXT(xmllib->XPATH(CPACKAGE(ElemDecl ProductDispositionBOD Element:Global:Rejected, "UTF-8"), \\ "./eims2:ProductDisposition/eims2:ProductDispositionHeader/eims2:EventDateTime","/eims2:ProductDispositionBOD/eims2:DataArea")) )+ " , " + IF(type Attr:AttrList ProductDispositionType Type:ProductDisposition:DataArea Comp:ElemDecl ProductDispositionBOD Element:Global:Rejected = "S", "Sales Group: " + xmllib->XPATH(CPACKAGE(ElemDecl ProductDispositionBOD Element:Global:Rejected, "UTF-8"), \\ "./eims2:ProductDisposition/eims2:ProductDispositionHeader/oa9:DocumentReference/oa9:DocumentID/oa9:ID","/eims2:ProductDispositionBOD/eims2:DataArea") + " , " ) +"Part Number: " + xmllib->XPATH(CPACKAGE(ElemDecl ProductDispositionBOD Element:Global:Rejected, "UTF-8"), "./eims2:ProductDisposition/eims2:ProductDispositionLine/oa9:Item/oa9:ItemID/oa9:ID","/eims2:ProductDispositionBOD/eims2:DataArea") + " , " + \\ "Serial Number: " + xmllib->XPATH(CPACKAGE(ElemDecl ProductDispositionBOD Element:Global:Rejected, "UTF-8"), "./eims2:ProductDisposition/eims2:ProductDispositionLine/oa9:Item/eims2:AssetID/oa9:ID","/eims2:ProductDispositionBOD/eims2:DataArea") + " , " + "PDH: " + PACKAGE(IndexProductDisposition) + " , " + "PDL: " + IF(XPath = "ProductDispositionHeader", "0" , PACKAGE(IndexProductDispositionLine)) )
I'm also attaching two XML input files: one with latin chars, an one without them. The one without latin characters is processed correctly by XPATH.
Thanks in advance.
#IBM-Websphere-Transformation-Extender#DataExchange#IBMSterlingTransformationExtender