Nested Context Language
An editor has nominated this article for deletion. You are welcome to participate in the deletion discussion, which will decide whether or not to retain it. |
![]() | This article may be too technical for most readers to understand.(September 2009) |
Nested Context Language (NCL) is a declarative authoring language for hypermedia documents.
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.
Following others XML standards, NCL is specified by a modular approach. NCL modules can be added to standard web languages, such as XLink and SMIL.
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 TV) middleware (named Ginga). It is also the first standardized technology of the ITU-T multimedia application framework series of specifications for IPTV services. In both cases it is used to develop interactive applications to digital television.
Structure of an NCL document
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.[1] Each module in turn defines one or more XML elements. The areas and associated modules are
- Structure
- Structure Module
- Components
- 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
Profiles are standard subsets of modules. Profiles defined by the standard include
- Full Profile - includes all NCL 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 Basic Digital TV profile (BDTV) - includes the Enhanced Digital TV profiles except for the Animation, TransitionBase and Transition modules
Authoring Tools
See also
References
- ^ "H.761 "Nested context language (NCL) and Ginga-NCL" (Rev.): Initial draft of revised text" (PDF). INTERNATIONAL TELECOMMUNICATION UNION. Retrieved 18 February 2014.
External links
NCL Players
- GINGA-NCL Reference Implementation, available under GPLv2 (in Portuguese).
- GHTV GINGA-NCL player for Windows and Linux under Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License (in Portuguese).
- WebNCL Player Web-based, available under GPL.
Authoring tools
- NCL Composer official website
- NCL Eclipse official website (in Portuguese)