You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一命名空间下扩展FpML Schema中complexType的方法咨询

同命名空间下扩展FpML复杂类型的实现方案

要在不修改原FpML schema文件、且保持同一命名空间的前提下为FxDigitalOption新增元素,可使用XSD标准的redefine(重定义)特性实现,具体操作如下:

实现原理

redefine允许你在同一目标命名空间下,修改或扩展外部引入的schema中已定义的组件,扩展后的类型会全局覆盖原有类型定义,不需要切换命名空间就能生效。

具体代码实现

你的扩展XSD文件结构参考如下:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.fpml.org/FpML-5/confirmation" 
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns="http://www.fpml.org/FpML-5/confirmation"
            elementFormDefault="qualified">

    <!-- 引入原FpML schema文件,路径替换为你本地FpML schema的实际路径 -->
    <xsd:redefine schemaLocation="fpml-fx-5-12.xsd">
        <!-- 重定义FxDigitalOption复杂类型 -->
        <xsd:complexType name="FxDigitalOption">
            <xsd:complexContent>
                <!-- 基于原有FxDigitalOption类型做扩展 -->
                <xsd:extension base="FxDigitalOption">
                    <xsd:sequence>
                        <!-- 新增自定义abcd元素,属性可按你的需求调整 -->
                        <xsd:element name="abcd" type="xsd:string" minOccurs="0">
                            <xsd:annotation>
                                <xsd:documentation xml:lang="zh-CN">自定义扩展字段</xsd:documentation>
                            </xsd:annotation>
                        </xsd:element>
                    </xsd:sequence>
                </xsd:extension>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:redefine>

</xsd:schema>

注意事项

  • 必须保证扩展XSD的targetNamespace和原FpML schema的命名空间完全一致,否则重定义不生效
  • redefine引入的原schema路径要正确,建议使用相对路径或者已配置的公共资源路径
  • 扩展后的FxDigitalOption类型会保留原有的所有字段(effectiveDate、tenorPeriod等),同时新增自定义的abcd元素,符合FpML的兼容性要求

内容的提问来源于stack exchange,提问作者Radek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 04:27:04