SPLUS XML操作

SPLUS XML操作SPLUSXML 操作在 SPLUS 中 用于处理 XML 的有 2 个库 Insightful 公司的 SPXML 库和比尔实验室的 XML 库 SPXML 库支持读写 XML 并使用 C 代码写和分析 XML 标记 在 SPLUS 中 没有类似的 XML 对象 也不能处理 XML 在这个库中 XML 处理是用 XSL 完成的 XML 库 它引入了一组 SPLUS 类 用 XML 对象呈现 如 XMLNode 和 XMLComment 使用 DOM 以建立 SPL spbianmaxml

SPLUS XML操作
 在SPLUS中,用于处理XML的有2个库,Insightful公司的SPXML库和比尔实验室的XML库
 SPXML库支持读写XML,并使用C代码写和分析XML标记,在SPLUS中,没有类似的XML对象,也不能处理XML,在这个库中,XML处理是用XSL完成的
 XML库,它引入了一组SPLUS类,用XML对象呈现,如XMLNode和XMLComment,使用DOM以建立SPLUS对象,这些对象可以方便的在SPLUS中使用
 具体使用哪个库,要看你的实际应用:
  SPXML库是有效率的,它使用SAX分析器且大部分操作用C实现
  SPXML库使用XSL来完成XML变换操作
  XML库使用内建的SPLUS对象来完成XML的变换,SPLUS程序员可能更喜欢这种操作,胜于XSL

SPXML库使用
 利用SPXML库,你可以使用createXMLFile把SPLUS对象当做XML文件保存起来,通过parseXMLFile读一个XML文件,利用XSLT或者XSL-FO来完成XML文件的变换
 SPXML库函数提供了一些有用的工具函数,如下:
  函数xml2html, xml2pdf, xml2ps, xml2rtf,  xml2xml,其利用javaXMLTransform来完成XML到不同文件类型的转换
  createXMLString函数返回一个XML串胜于写到一个文件中去
  summaryReport函数实现了汇总报表

利用SPXML库读写XML
 > library(SPXML) #加载SPXML库
 > xmlFile <- "output.xml" #指定输出路径
 > orig.list <- list(fuel.frame, c(1:50), hist) #加载数据集内容到LIST
 > createXMLFile(orig.list, xmlFile) #通过LIST建立XML文件
 > new.list <- parseXMLFile(xmlFile) #读XML文件到LIST
 > all.equal(orig.list, new.list) #比较新旧2个LIST是否相等

利用XSL来实现XML变换
 > library(SPXML)
 > logRegPMMLFile <- paste(getenv("SHOME"), "/library/SPXML/examples/xml_generation/logRegPMML.xml", sep="") #指定XML文件
 > logRegXSLFile <- paste(getenv("SHOME"),"/library/SPXML/examples/xml_generation/logReg_ColImp_Vec.xsl", sep="") #知道XSL文件
 > splusVecXMLFile <- "Splus_ColImp_Vec.xml" #知道目标XML文件
 > xml2xml(logRegPMMLFile, splusVecXMLFile, logRegXSLFile)
 > colImpVec <- parseXMLFile(splusVecXMLFile) #读目标XML文件
 > colImpVec
  
建立XML报表
 > library(SPXML)
 > xsltFile <- paste(getenv("SHOME"),"/library/SPXML/xml/SplusObjects.xsl", sep="")
 > xmlFile <- "c://temp.xml"
 > splusObject <- fuel.frame
 > createXMLFile(splusObject, xmlFile)
 > javaXMLTransform(xmlFile, "c://fuelReport.htm", xsltFile)   
 要建立PDF,RTF或者PS,需使用SplusObjects_FO.xsl
 > foFile <- paste(getenv("SHOME"), "/library/SPXML/xml/SplusObjects_FO.xsl", sep="")
 > javaXMLTransform(xmlFile, "c://fuelReport.pdf", foFile)
 > javaXMLTransform(xmlFile, "c://fuelReport.rtf", foFile)
 > javaXMLTransform(xmlFile, "c://fuelReport.ps", foFile) 
 汇总报告
  使用summaryReport函数
  > args(summaryReport)
  如:
  > reportFilename <- "fuel.report.html"
  > summaryReport(fuel.frame, reportFilename)
  也可以使用下面代码:
 > summaryReport(data=fuel.frame, file="c://fuel.report.pdf", variables=c("Weight"), grouping.variables=c("Type"))  

自定义报表输出
 如果你想改变报表输出,比如改变颜色、字体等,你可以通过修改ColumnReport.xsl(用于HTML)或者ColumnReport_FO.xsl来实现,他们位于library/SPXML/xml目录下
 改变颜色 
  <xsl:variable name="g_headerBG" select="'#CCE6FF'" />
  <xsl:variable name="g_rowBG_1" select="'#EEEEEE'" />
  <xsl:variable name="g_rowBG_2" select="'#FFFFFF'" />
 对应在XSL中的特殊字符  
 小于< &lt;
 大于> &gt;
 等于= =

今天的文章 SPLUS XML操作分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2024-12-26 15:21
下一篇 2024-12-26 15:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/96707.html