Extensão de um schema

IMPORTANTE

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<a27>, 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:

  1. Modificando o schema de origem diretamente.

  2. 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.

    IMPORTANTE

    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.

IMPORTANTE

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.

Nesta página