【发布时间】:2017-11-17 13:52:39
【问题描述】:
我正在尝试从 IRS 网站上提供的 XSD 文件生成类文件:
https://www.irs.gov/businesses/corporations/fatca-xml-schemas-and-business-rules-for-form-8966
架构文档可在此处下载:https://www.irs.gov/pub/fatca/fatcaxml_v2.0.zip
(FATCAXML_v2.0 (25KB) - FATCA 报告的主要架构。)
zip 文件包含 4 个文档:
- FatcaXML_v2.0.xsd
- isofatcatypes_v1.1.xsd
- oecdtypes_v4.2.xsd
- stffatcatypes_v2.0.xsd
在第一个文档 FatcaXML_v2.0.xsd 中,有 3 个 xsd:import 节点似乎引用了其他 3 个 xsd 文档。
当尝试使用 xsd.exe 针对 FatcaXML_v2.0.xsd 生成我的类时,我收到多个关于未声明类型的错误,例如:
Schema validation warning: Type 'urn:oecd:ties:stffatcatypes:v2:StringMax200_Type' is not declared. Line 259, position 5.
但是,我确实在 stffatcatypes_v2.0.xsd 中看到了此类型的声明(已导入到“FatcaXML_v2.0.xsd”的顶部):
<xsd:simpleType name="StringMax200_Type">
<xsd:annotation>
<xsd:documentation>Defines a string with maximum length of 200
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="200"/>
</xsd:restriction>
</xsd:simpleType>
如何让 xsd.exe 识别这些类型定义?
提前致谢
【问题讨论】:
-
<import >元素中的schemaLocation属性是什么? -
:文件都在同一个文件夹 -
所有模式都位于同一个文件夹中?在这种情况下,请尝试在命令行上指定每个架构文件。
-
是的,文件都在同一个文件夹中;我将尝试在单个命令中指定所有输入文件
-
好的,虽然如果他们是我不会认为你需要。不过,如果它有效!