Nested Context Language: Difference between revisions

Content deleted Content added
Ijgsantos (talk | contribs)
m Further reading: removing the the paywall tag cause the article is now has access free
 
(39 intermediate revisions by 21 users not shown)
Line 1:
{{short description|Declarative authoring language for hypermedia documents}}
{{Technical|date=September 2009}}
 
In the field of digital and interactive television, '''Nested Context Language (NCL)''' is a [[Declarative programming|declarative authoring language]] for [[hypermedia]] documents. NCL documents do not contain multimedia elements such as audio or video content; rather they function as a "glue" language that specifies how multimedia components are related. In particular, NCL documents specify how these components are synchronized relative to each other and how the components are composed together into a unified document. Among its main facilities, it treats hypermedia relations as first-class entities through the definition of hypermedia connectors, and it can specify arbitrary semantics for a hypermedia composition using the concept of composite templates.
'''Nested Context Language''' (NCL) is a declarative authoring language for [[hypermedia]] documents.
 
NCL is an [[XML]] application language that is an extension of [[XHTML]], with XML elements and attributes specified by a modular approach. NCL modules can be added to standard web languages, such as [[XLink]] and [[Synchronized Multimedia Integration Language|SMIL]].
NCL is an [[XML]] application language, which provides several facilities for authoring a complete hypermedia document with synchronization relationships among its components. Among its main facilities, it treats hypermedia relations as first-class entities through the definition of hypermedia connectors, and it can specify arbitrary semantics for a hypermedia composition using the concept of composite templates.
 
NCL was initially designed for the Web environment, but a major application of NCL is use as the declarative language of the Japanese-Brazilian [[ISDB-Tb]] (International Standard for Digital Broadcasting) terrestrial DTV [[digital television]] [[middleware]] (named [[Ginga (SBTVD Middleware)|Ginga]]). It is also the first standardized technology of the [[ITU-T]] multimedia application framework series of specifications for [[IPTV]] (internet protocol television) services. In both cases it is used to develop interactive applications to digital television.
Following others XML standards, NCL is specified by a modular approach. NCL modules can be added to standard web languages, such as [[XLink]] and [[Synchronized Multimedia Integration Language|SMIL]].
 
==Structure of an NCL document==
NCL was initially designed for the Web environment, but currently it is included as the declarative language of the Japanese-Brazilian [[ISDB-Tb]] (International Standard for Digital Broadcasting) terrestrial DTV (digital TV) middleware (named [[Ginga (SBTVD Middleware)|Ginga]]). It is also the first standardized technology of the [[ITU-T]] multimedia application framework series of specifications for [[IPTV]] services.
 
NCL was designed to be modular to allow for use of subsets of modules according to the needs of the particular application. The 3.1 version of the standard is split into 14 areas with each module assigned to an area.<ref>{{cite web|title=H.761 "Nested context language (NCL) and Ginga-NCL" (Rev.): Initial draft of revised text|url=http://profesores.elo.utfsm.cl/~agv/elo323/GINGA/ITU-H761.pdf|publisher=INTERNATIONAL TELECOMMUNICATION UNION|accessdate=18 February 2014}}</ref> Each module in turn defines one or more [[XML#Key terminology|XML elements]]. The areas and associated modules are
==NCL Historical Evolution==
 
*Structure
==NCL 3.0 Profiles==
**Structure Module
===Full Profile===
*Components
''NCL 3.0 Full Profile'' includes all NCL Modules.
**Media Module
**Context Module
*Interfaces
**MediaContentAnchor Module
**CompositeNodeInterface Module
**PropertyAnchor Module
**SwitchInterface Module
*Layout
**Layout Module
*Presentation Specification
**Descriptor Module
*Timing
**Timing Module
*Transition Effects
**TransitionBase Module
**Transition Module
*Navigational Key
**KeyNavigation Module
*Presentation Control
**TestRule Module
**TestRuleUse Module
**ContentControl Module
**DescriptorControl Module
*Linking
**Linking Module
*Connectors
**ConnectorCommonPart Module
**ConnectorAssessmentExpression Module
**ConnectorCausalExpression Module
**CausalConnector Module
**CausalConnectorFunctionality Module
**ConnectorBase Module
*Animation
**Animation Module
*Reuse
**Import Module
**EntityReuse Module
**ExtendedEntityReuse Module
*Meta-Information
**Metainformation Module
 
==NCL profiles==
===Enhanced Digital TV profile (EDTV)===
''NCL 3.0 Enhanced DTV profile'' includes the Structure, Layout, Media, Context, MediaContentAnchor, CompositeNodeInterface, PropertyAnchor, SwitchInterface, Descriptor, Linking, CausalConnectorFunctionality, ConnectorBase, TestRule, TestRuleUse, ContentControl, DescriptorControl, Timing, Import, EntityReuse, ExtendedEntityReuse, KeyNavigation, Animation, TransitionBase, Transition and Metainformation modules of NCL 3.0.
 
Profiles are standard subsets of modules. Profiles defined by the standard include
===NCL Basic Digital TV profile (BDTV)===
Includes almost all Enhanced Digital TV profiles but it doesn't include ''Animation'', ''TransitionBase'' and ''Transition'' modules.
 
* '''Full profile''' – includes all NCL Modules
==NCL 3.0 Modules==
* '''Enhanced Digital TV profile (EDTV)''' – includes the Structure, Layout, Media, Context, MediaContentAnchor, CompositeNodeInterface, PropertyAnchor, SwitchInterface, Descriptor, Linking, CausalConnectorFunctionality, ConnectorBase, TestRule, TestRuleUse, ContentControl, DescriptorControl, Timing, Import, EntityReuse, ExtendedEntityReuse, KeyNavigation, Animation, TransitionBase, Transition and Metainformation modules
NCL is partitioned in functional areas. Each functional area groups a set of related modules. NCL 3.0 functional areas and modules are:
* '''NCL Basic Digital TV profile (BDTV)''' – includes the Enhanced Digital TV profiles except for the Animation, TransitionBase and Transition modules
 
==Authoring tools==
# Structure
Tools for creating interactive DTV application in NCL include:
#* Structure Module
# Layout
#* Layout Module
# Components
#* Media Module
#* Context Module
# Interfaces
#* MediaContentAnchor Module
#* CompositeNodeInterface Module
#* PropertyAnchor Module
#* SwitchInterface Module
# Presentation Specification
#* Descriptor Module
# Linking
#* Linking Module
# Connectors
#* ConnectorCommonPart Module
#* ConnectorAssessmentExpression Module
#* ConnectorCausalExpression Module
#* ConnectorTransitionAssessment Module
#* CausalConnector Module
#* CausalConnectorFunctionality Module
#* ConnectorBase Module
# Presentation Control
#* TestRule Module
#* TestRuleUse Module
#* ContentControl Module
#* DescriptorControl Module
# Timing
#* Timing Module
# Reuse
#* Import Module
#* EntityReuse Module
#* ExtendedEntityReuse Module
# Navigational Key
#* KeyNavigation Module
# Animation
#* Animation Module
# SMIL Transition Effects
#* TransitionBase Module <br/> '''Note''': The TransitionBase Module is defined by NCL 3.0. SMIL 2.0 doesn't define this module.
#* BasicTransition Module
#* TransitionModifers Module
# SMIL Meta-Information
#* Metainformation Module
 
==Authoring Tools==
* [[NCL Eclipse]]
* NCL Composer.<ref>{{cite web|title=NCL Composer website|url=http://composer.telemidia.puc-rio.br|publisher=PUC-Rio|accessdate=19 February 2014}}</ref>
* [http://www.softwarepublico.gov.br Composer-NCL]
 
==See also==
* [[Synchronized Multimedia Integration Language|SMIL]]
* [[XML|eXtensible Markup Language (XML)]]
 
==References==
{{reflist}}
 
==Further reading==
*{{cite book|author=Marcelo S. Alencar|title=Digital Television Systems|url=https://books.google.com/books?id=M96rKRAqHFgC&pg=PA198|date=19 March 2009|publisher=Cambridge University Press|isbn=978-0-521-89602-3|page=198}}
*{{cite book|author=Shūji Hashimoto|title=Multimedia Modeling: Modeling Multimedia Information and Systems : Nagano, Japan, November 13-15, 2000|url=https://books.google.com/books?id=xqOUeONT6qYC&pg=PA72|date=1 January 2000|publisher=World Scientific|isbn=978-981-02-4489-7|pages=72, 79, 86–87}}
*{{cite journal|journal=Journal of the Brazilian Computer Society|date=November 2010|volume=16|issue=4|pages=229–245|title=The Nested Context Language reuse features|author1=Carlos de Salles Soares Neto|author2=Luiz Fernando Gomes Soares|author3=Clarisse Sieckenius de Souza|doi=10.1007/s13173-010-0017-z|doi-access=free}}
*{{cite book|author=Jean-Yves Vion-Dury|title=Proceedings of the ACM Symposium on Document Engineering|url=https://books.google.com/books?id=SEpPAAAAMAAJ|year=2004|publisher=ACM Press|page=188ff|isbn=9781581139389}}
 
==External links==
* [http://www.ncl.org.br NCL Official Web Site]
* [http://wwwhandbook.telemidiancl.puc-rioorg.br/ TelemidiaNCL LabsHandbook]
* [http://www.telemidia.puc-rio.br Telemidia Lab]
 
* [http://www.telemidia.puc-rio.br/~roberto/ncl-resources NCL Resources]: a number of resources supporting NCL.
===NCL Players===
* [http://softwarepublico.gov.br/ver-comunidade?community_id=1101545 GINGA-NCL Reference Implementation], available under GPLv2.
* [http://ghtv.com.br GHTV GINGA-NCL player] for Windows and Linux under [[Creative_Commons_licenses|Creative Commons]] Attribution-NonCommercial-NoDerivs 3.0 License.
 
===AuthoringNCL toolsplayers===
* [http://ginga.org.br GINGA-NCL Reference Implementation], available under GPLv2 (in Portuguese).
* [http://laws.deinf.ufma.br/ncleclipse NCL Eclipse official website]
* [https://github.com/expertisesolutions/ghtv-ncl-player GHTV GINGA-NCL player] for Windows and Linux under [[Creative Commons licenses|Creative Commons]] Attribution-NonCommercial-NoDerivs 3.0 License (in Portuguese).
* [https://github.com/lince/webncl WebNCL Player] Web-based, available under GPL.
 
[[Category:Markup languages]]
Line 93 ⟶ 98:
[[Category:Technical communication]]
[[Category:Computer file formats]]
[[Category:Broadcast engineering]]
[[Category:Digital television]]
[[Category:ISDB]]