Alguns schemas incorporados não devem ser estendidos: principalmente aquelas para as quais são definidas as seguintes configurações:
dataSource="file" e mappingType="xmlFile".
Os seguintes schemas não devem ser prolongados: xtk:entityBackupNew, xtk:entityBackupOriginal, xtk:entityOriginal, xtk:form, xtk:srcSchema, ncm:publishing, nl:Monitoring, nms:calendário, nms:remoteTracking, nms:userAgentRules<a 19/>, xtk:builder , xtk:conexões , xtk:dbInit , xtk:funcList , xtk:fusion , xtk: jst , xtk:navtree , xtk:queryDef , xtk:resourceMenu , xtk:schema<a 39/>, xtk:scriptContext, xtk:session, xtk:sqlSchema, xtk:strings.
Esta lista não é exaustiva.
Existem dois métodos para estender um schema existente:
Modificando o schema de origem diretamente.
Criação de outro schema com o mesmo nome, mas com uma namespace diferente. A vantagem é que você pode estender uma tabela sem precisar modificar o schema original.
O elemento raiz do schema deve conter o atributo ExtendedSchema com o nome do schema a ser estendido como seu valor.
Um schema de extensão não tem seu próprio schema: o schema gerado do schema de origem será preenchido com os campos do schema de extensão.
Você não tem permissão para modificar os schemas integrados do aplicativo, mas sim o mecanismo de extensão do schema. Caso contrário, os schemas modificados não serão considerados no momento das atualizações futuras do aplicativo. Isso pode levar a falhas no uso do Adobe Campaign.
Exemplo: extensão de nms: customerschema.
<srcSchema extendedSchema="nms:recipient" name="recipient" namespace="cus">
<element name="recipient">
<attribute name="code" label="Branch code" type="long"/>
</element>
</srcSchema>
O schema estendido nms:recipient é preenchido com o campo preenchido no schema de extensão:
<schema dependingSchemas="cus:recipient" name="recipient" namespace="nms">
...
<attribute belongsTo="cus:recipient" label="Branch code" name="code" sqlname="iCode" type="long"/>
...
</schema>
O atributo dependendoEsquemas no elemento raiz do schema faz referência às dependências dos schemas de extensão.
O atributo pertenceTo no campo é preenchido no schema onde é declarado.
Para que as modificações sejam levadas em conta, é necessário regenerar schemas. Para obter mais informações, consulte a seção Regenerating schemas.
Se as modificações afetarem a estrutura do banco de dados, será necessário executar uma atualização. Para obter mais informações, consulte a seção Atualização da estrutura do banco de dados.