例 2 - IRS MeF XML 文件(在demo目录中)

这个例子展示了使用一种Joost STX转换装载一份IRS Modernized eFile tax return数据样例。该数据是一种复杂的XML文件形式。

美国国内税务署(IRS)在对XML进行了可观的投资并且指定在其现代化电子文件(MeF)系统中使用它。在MeF中,每一份纳税申报表都是一个具有深层次结构的XML文档,该层次结构仔细地反映了底层纳税代码的特定形式。

XML、XML Schema和样式表在他们的数据表达和业务工作流中扮演了重要角色。实际的XML数据被从一个附加了MIME “transimission file”消息的ZIP文件中抽取。更多有关MeF的信息,请见IRS网站上的Modernized e-File (Overview)

样例XML文档RET990EZ_2006.xml大约有350KB大小,它有两个元素:

  • ReturnHeader
  • ReturnData

元素包含了有关纳税申报表的一般细节,例如纳税人的姓名、纳税年份以及preparer。 元素包含了多个小节,它们含有关于纳税申报表及相关计划表的特定细节。

下面是该XML文件的一个被删节过的例子。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Return returnVersion="2006v2.0"
  3. xmlns="https://www.irs.gov/efile"
  4. xmlns:efile="https://www.irs.gov/efile"
  5. xsi:schemaLocation="https://www.irs.gov/efile"
  6. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  7. <ReturnHeader binaryAttachmentCount="1">
  8. <ReturnId>AAAAAAAAAAAAAAAAAAAA</ReturnId>
  9. <Timestamp>1999-05-30T12:01:01+05:01</Timestamp>
  10. <ReturnType>990EZ</ReturnType>
  11. <TaxPeriodBeginDate>2005-01-01</TaxPeriodBeginDate>
  12. <TaxPeriodEndDate>2005-12-31</TaxPeriodEndDate>
  13. <Filer>
  14. <EIN>011248772</EIN>
  15. ... more data ...
  16. </Filer>
  17. <Preparer>
  18. <Name>Percy Polar</Name>
  19. ... more data ...
  20. </Preparer>
  21. <TaxYear>2005</TaxYear>
  22. </ReturnHeader>
  23. ... more data ..

目标是把所有数据导入到一个Greenplum数据库。首先,将该XML文档转换为文本形式,其中的新行已被转义过并且有两个列: ReturnId和末尾的一个用于整个MeF纳税申报表的列。例如:

  1. AAAAAAAAAAAAAAAAAAAA|<Return returnVersion="2006v2.0"...

载入数据到Greenplum数据库。

上级主题: XML转换示例