某些内置架构不得扩展:主要是那些定义了以下设置的架构:
dataSource="file" 和 mappingType="xmlFile".
不得扩展以下架构: xtk:entityBackupNew, xtk:entityBackupOriginal, xtk:entityOriginal, xtk:form, xtk:srcSchema, ncm:publishing, nl:monitoring, nms:calendar, nms:remoteTracking, nms:userAgentRules, xtk:builder, xtk:连接, xtk:dbInit, xtk:funcList, xtk:fusion, xtk: jst, xtk:navtree, xtk:queryDef, xtk:resourceMenu, xtk:schema, xtk:scriptContext, xtk:session, xtk:sqlSchema, xtk:字符串.
这份清单并非详尽无遗。
扩展现有模式的方法有两种:
直接修改源架构。
创建另一个名称相同但命名空间不同的架构。 其优点是,无需修改原始模式即可扩展表。
架构的根元素必须包含 extendedschema 属性,其值为要扩展的模式的名称。
扩展架构没有自己的架构:从源架构生成的架构将填充扩展架构的字段。
您不得修改应用程序的内置架构,而不得修改架构扩展机制。 否则,修改后的架构将不会在应用程序未来升级时更新。 这可能会导致使用Adobe Campaign时出现问题。
示例:的扩展 nms:recipient 架构。
<srcSchema extendedSchema="nms:recipient" name="recipient" namespace="cus">
<element name="recipient">
<attribute name="code" label="Branch code" type="long"/>
</element>
</srcSchema>
此 nms:recipient 扩展架构中填充了扩展架构中填充的字段:
<schema dependingSchemas="cus:recipient" name="recipient" namespace="nms">
...
<attribute belongsTo="cus:recipient" label="Branch code" name="code" sqlname="iCode" type="long"/>
...
</schema>
此 依赖模式 架构的根元素上的属性引用扩展架构的依赖关系。
此 beystsTo 字段上的属性会填充声明该属性的架构。