Generate XML Publisher

使用AE调用XML Publisher 时。数据源的选择和生成报表的代码紧密相关。

XML File 数据源: 所用方法 SetRuntimedataxMLFile

XML Doc 数据源: 所用方法 SetRuntimedataxMLDoc

RowSet 数据源: 使用方法 SetRuntimeDaTarowset

Query数据源 : SetPSQueryPromptRecord

数据源和生成方法必须一一对应。

此由如下代码控制:


Evaluate &Report.Ds_type
   When = "QRY"
      rem rsh ICE 1836783000;
      &sDataFile = %This.sSrvTmpDir | &sDirsep | "Data" | &sDirsep | &sDataFile;
      %This.GenerateXmlFileFromQuery(&sDataFile);
      Break;
   When = "CQR" /* Connected Query */
      rem mdu XXX %This.GenerateXmlFileFromConnQuery(&sConQryOutFileName,&sProcessId);
      %This.GenerateXmlFileFromConnQuery(&sConQryOutFileName,String(&ProcessInstance)); /* mdu XXX */
      If Not FileExists(&sConQryOutFileName,%FilePath_Absolute) Then
         throw CreateException(235,2308,"Data file is required but not specified correctly");
      Else
         %This.SetRuntimedataxMLFile(&sConQryOutFileName);
      End-If;
      &sDataFile = &dataxMLFile;
      Break;
   When = "RST"
      rem rshw Todo: This function needs to be passed file path instead of returning string;
      &sXmlData = %This.GenerateXmlFromrowset();
      If &sXmlData = "" Then
         throw CreateException(235,2305,"Failed to generate or read data source XML file");
      End-If;
      rem rsh ICE 1836783000;
      &sDataFile = %This.sSrvTmpDir | &sDirsep | "Data" | &sDirsep | &sDataFile;
      %This.WriteXmlDataFile(&sXmlData,&sDataFile);
      Break;
   When = "XMD"
      &sXmlData = %This.GenerateXmlFromXmlDoc();
      If &sXmlData = "" Then
         throw CreateException(235,&sDataFile);
      Break;
   When = "XML"
      If &dataxMLFile = "" Then
         throw CreateException(235,"Data file is required but not specified correctly");
      End-If;
      &sDataFile = &dataxMLFile;
      Break;
   When-Other
      Break;
   End-Evaluate;

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念