2. FUNDAMENTAÇÃO TEÓRICA
2.1 TV DIGITAL
2.1.5 Estrutura de um documento Hipermídia - NCL
2.1.5.3 Corpo do programa
Uma ação composta (compoundAction) possui diversas ações simples (simpleAction) que podem ser executadas de forma paralela ou, seqüencialmente (BECKER, 2009). Este trabalho não será hábil no desenvolvimento de condições e ações compostas.
<media type="video" id="video1" src="media/video1.mpg" descriptor="dVideo1"/>
Figura 20. Definição básica de um nó de conteúdo.
Fonte: NETO et al. (2007)
Como já explanado, o tipo do nó de conteúdo compatível em um documento NCL é definido pelos exibidores acoplados ao NCL Formatter do Ginga-NCL.
Nós de composição, neste trabalho tratado como nó de contexto, são nós cujo conteúdo é composto por um conjunto de nós, seja de conteúdo ou de contexto, recursivamente. Um nó de contexto é utilizado para estruturar um documento hipermídia. Segundo Neto et al. (2007, p. 13),
“Todo nó de mídia [nesse trabalho, tratado como nó de conteúdo] é definido dentro de um contexto.
Na NCL, o elemento body é o contexto que contém todos os nós do documento, sejam nós de mídia ou contextos.”. Sendo assim, todo e qualquer nó, seja de conteúdo ou de composição, são definidos dentro de um contexto, sendo <body> definido como um caso particular de contexto. Na linguagem NCL, um nó de contexto é definido conforme a Figura 21.
<context id=”ctxNome”>
...
</context>
Figura 21. Definição básica de um nó de contexto.
Fonte: NETO et al. (2007) Elos
Os elos são responsáveis por associar os nós através dos conectores, sendo estes, responsáveis por definir a semântica da associação entre os nós, como definido nas seções acima.
Dessa forma, na declaração de um elo é necessário também definir o conector que ficará responsável pela semântica da associação entre os nós. Na linguagem NCL, conforme a Figura 20, um elo é definido através do elemento <link> e o conector através do atributo xconnector (NETO et al., 2007).
<link id="lnkElo" xconnector="onBeginStart">
<bind component="botao" role="onBegin"/>
<bind component="botao2" role="start"/>
</link>
Figura 22. Definição de um elo.
Fonte: BECKER (2009)
Conforme Neto et al. (2007), um elo deve conter pelo menos um <bind> para cada papel definido no conector. Os binds são responsáveis por indicar as mídias envolvidas no elo indicando o seu papel (role) no elo, conforme as semânticas declaradas no conector (xconnector). Um exemplo de <bind> também é mostrado na Figura 22. Nela é criado um elo definindo o conector com id “onBeginStart”, indicando que as mídias “botao” e “botao2” estão envolvidas com o elo
“lnkElo”, sendo que os papeis definem que quando o nó “botao” começar, deve iniciar também o nó
“botao2”, conforme semântica declarada no conector “onBeginStart”.
Portas
Portas são responsáveis para dar acesso a nós internos a um contexto. Dessa forma, para um elo apontar para um nó interno a um contexto, este contexto deve possuir uma porta que leve a algum nó interno. Esta definição é mais bem explanada na Figura 23. Nela, é definida uma porta
“pVideo1” no contexto “ctx1”, definindo “video1” como o seu nó de entrada. Para definir qual é o primeiro nó do programa NCL a ser apresentado, deve-se criar uma porta no contexto <body> para este nó. (NETO et al., 2007)
Figura 23. Exemplo de porta.
Fonte: NETO et al. (2007)
Na linguagem NCL, uma porta é definida conforme Figura 24. O atributo component é usado para especificar o nó de entrada.
<port id=”pVideo1” component=”video1” />
Figura 24. Definição de uma porta.
Fonte: NETO et al. (2007) Âncora
Âncora é uma entidade associada à unidade de informação de um nó. Qualquer subconjunto de unidades de informação de um nó pode ser marcado, sendo que a definição exata do que pode ser marcado é dependente do seu tipo de conteúdo (SOARES; RODRIGUES, 2005). Segundo Neto et al. (2007, p. 70), “O objetivo de se utiliza âncoras é utilizar segmentos ou propriedades de um nó de mídia ou contexto, seja como origem ou destino de elos.”
Na linguagem NCL, as âncoras podem ser diferenciadas em dois tipos:
Âncora de conteúdo e,
Âncora de propriedade.
A âncora de conteúdo é responsável por marcar as unidades de informação do nó que poderá ser utilizado como ponto de ativação dos elos. Na linguagem NCL, uma âncora de conteúdo é definida como um elemento area dentro do elemento media (NETO et al., 2007). Conforme Figura 25, são definidas três âncoras de conteúdo para um nó de vídeo “video1”.
<media type=”video” id=”video1” src=”media/video1.mpg” descriptor=”dVideo1”>
<!--âncoras de conteúdo no vídeo que devem ser sincronizadas com a legenda--
>
<area id=”aVideoLegenda01” begin=”5s” end=”9s”/>
<area id=”aVideoLegenda02” begin=”10s” end=”14s”/>
<area id=”aVideoLegenda03” begin=”15s” end=”19s”/>
</media>
Figura 25. Definição de uma âncora de conteúdo.
Fonte: NETO et al. (2007)
As âncoras de propriedades são responsáveis em se referir à propriedade de um nó de origem ou de destino, que podem ser manipuladas pelos elos. Exemplos de propriedades são: o
volume de áudio de um nó de áudio ou vídeo, coordenadas e dimensões de exibição de um nó visual, etc (NETO et al., 2007).
Na linguagem NCL, uma âncora de propriedade é definida como um elemento property dentro de um nó seja de conteúdo ou de contexto. Na Figura 26 são definidas cinco âncoras de propriedades.
<media type=”video” id=”video1” src=”media/video1.mpg” descriptor=”dVideo1”>
<!--âncoras de propriedade que serão manipuladas pelos elos-->
<property name=”top”/>
<property name=”left”/>
<property name=”right”/>
<property name=”width”/>
<property name=”height”/>
</media>
Figura 26. Definição de uma âncora de propriedade.
Fonte: Adaptado de: NETO et al. (2007)
A ferramenta desenvolvida por este trabalho de conclusão de curso não é hábil à criação de âncoras tendo como intuito, deixar a ferramenta o mais simples possível ao usuário.