Versões da NCL

A primeira versão da NCL (Nested Context Language) foi especificada através de um XML DTD (Document Type Definition). A partir de sua segunda versão, chamada de NCL 2.0, NCL passou a ser especificado através de um XML Schema. Seguindo as recentes tendências de desenvolvimento, NCL foi projetada de forma modular, permitindo a combinação de seus módulos em diferentes perfis de linguagem.

Além da estrutura modular já mencionada, NCL 2.0 introduziu funcionalidades novas, tais como:


NCL 2.1 trouxe algumas melhorias com relação à versão anterior: um módulo para definir funções de custo associadas à duração de objetos de mídia foi introduzido; um módulo que descreve a seleção de regras para os elementos <switch> e <descriptorSwitch> foi definido; além de melhorias em nos módulos da linguagem, destacando-se o XTemplate.

NCL 2.2 incorporou algumas pequenas mudanças com relação à versão anterior, relacionadas a definição dos elementos da linguagem, introduzindo uma nova abordagem para definição dos módulos e perfis NCL.

NCL 2.3 introduziu dois novos módulos para o suporte ao reuso de bases e entidades, refinando a definição de alguns elementos de forma a suportar as novas funcionalidades.

NCL 2.4 reviu e refinou o suporte a reuso introduzido na versão 2.3, e a especificação dos elementos <switch> e <descriptorSwitch>. Essa versão também dividiu o módulo Timing introduzido por NCL 2.1, criando um novo módulo para encapsular questões relacionadas com operações de escala de tempo (computação de tempo elástico usando funções de custo temporal) em documentos hipermídia.

A edição NCL 3.0 reviu algumas funcionalidades contidas na NCL 2.4. NCL 3.0 é mais específica no tocante a alguns valores de atributos. Essa nova versão introduz duas novas funcionalidades: navegação através do uso de teclas e funcionalidades de animação. Adicionalmente, NCL 3.0 fez modificações profundas na funcionalidade de template de nó de composição e acrescenta alguns módulos SMIL aos perfis NCL. NCL 3.0 também reestruturou a especificação de conectores hipermídia de forma a possuir uma notação mais concisa. Relacionamentos entre objetos imperativos NCL e outros objetos NCL também são definidos na versão 3.0, como também o comportamento dos exibidores NCL para objetos imperativos.

NCM (Nested Context Model) é o modelo que dá suporte à linguagem NCL. Contudo, em sua versão 3.0, NCL ainda não reflete todas as funcionalidades defindas no modelo NCM 3.0. Para se aprofundar nas funcionalidades de NCL, é necessário compreender os conceitos definidos no modelo NCM. Com o intuito de oferecer um modelo hipermídia escalável, com características que podem ser progressivamente incorporadas à sistemas hipermídia, a família NCM e NCL foi dividida em algumas partes.

O modelo NCM é composto de 4 partes, listadas abaixo.


As especificações da linguagem NCL constituem as partes de 5 a 10 da coleção.