例 2 - IRS MeF XML 文件(在demo目录中)
例 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
<ReturnHeader> 元素包含了有关纳税申报表的一般细节,例如纳税人的姓名、纳税年份以及preparer。<ReturnData> 元素包含了多个小节,它们含有关于纳税申报表及相关计划表的特定细节。
下面是该XML文件的一个被删节过的例子。
<?xml version="1.0" encoding="UTF-8"?> <Return returnVersion="2006v2.0" xmlns="https://www.irs.gov/efile" xmlns:efile="https://www.irs.gov/efile" xsi:schemaLocation="https://www.irs.gov/efile" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ReturnHeader binaryAttachmentCount="1"> <ReturnId>AAAAAAAAAAAAAAAAAAAA</ReturnId> <Timestamp>1999-05-30T12:01:01+05:01</Timestamp> <ReturnType>990EZ</ReturnType> <TaxPeriodBeginDate>2005-01-01</TaxPeriodBeginDate> <TaxPeriodEndDate>2005-12-31</TaxPeriodEndDate> <Filer> <EIN>011248772</EIN> ... more data ... </Filer> <Preparer> <Name>Percy Polar</Name> ... more data ... </Preparer> <TaxYear>2005</TaxYear> </ReturnHeader> ... more data ..
目标是把所有数据导入到一个Greenplum数据库。首先,将该XML文档转换为文本形式,其中的新行已被转义过并且有两个列: ReturnId和末尾的一个用于整个MeF纳税申报表的列。例如:
AAAAAAAAAAAAAAAAAAAA|<Return returnVersion="2006v2.0"...
载入数据到Greenplum数据库。