[Accessibility conventions are described at the bottom of the page]
*** This is a free preview excerpt of a commercial publication. ***

6. Transform and data management
[> 7.][< 5.0][^^^]
6.0 Why modularize logical and physical structures?
[> 7.][< 6.][^^][^^^]
Modularizing the logical structure supports development
[[1] - manipulating or reusing transform fragments within a given transform
 [1] - declaration and reuse of syntactic packages of transform logic and markup
 [1] - parameterization of a template
 [1] - writing a template once and using it many places
 [1] - defining a value and referencing it many places
]
[Figure 6.1: Exploiting logical modularization
A page with greeked text is shown with two portions down below pointing with an arrow to a shared portion at the top.
]
This chapter overviews logical modularization using:
[[1] - XML internal general entities in XSLT stylesheets
 [1] - XML internal general entities in marked sections in external parameter entities
 [1] - variable bindings
 [1] - [T2.0]user-defined functions
 [1] - XSLT named templates
]
Modularizing the physical structure of transforms supports reuse
[[1] - compartmentalization of code
 [1] - sharing and reuse of transform fragments across an organization
 [1] - support for organizational rules for source code control and management
 [1] - access to any built-in custom extension function
[[2] - if available in the processor implementation
]]
[Figure 6.2: Exploiting physical modularization
A page with greeked text is shown with two portions down below each pointing with an arrow to a separate page of greeked text.
]
This chapter overviews physical modularization using:
[[1] - XML external parsed general entities in XSLT stylesheets
 [1] - XSLT included and imported stylesheets
 [1] - extension functions
 [1] - XSLT extension elements (instructions)
]
Modularizing the data supports reuse
[[1] - compartmentalization of data
 [1] - focusing the responsibility of data to its most appropriate custodians
 [1] - sharing and reuse of content across an organization
 [1] - accessing content of different kinds through data projection
]
[Figure 6.3: Exploiting data modularization
A page with greeked text is shown with two portions down below each pointing with an arrow to a separate page of greeked text.
]
This chapter overviews physical modularization using:
[[1] - XML external unparsed entities
 [1] - [T2.0]XPath functions for data access
 [1] - XSLT functions for data access
]
The XSLT instructions covered in this chapter are as follows.
Instructions related to logical modularization:
[[1] - [<xsl:call-template>]
[[2] - process a stand-alone template on demand
][1] - [<xsl:template>]
[[2] - declare a template to be called by name as an instruction in XSLT
][1] - [T2.0] [<xsl:function>]
[[2] - declare a function to be called by name as an subroutine in XPath
][1] - [T2.0] [<xsl:sequence>]
[[2] - using XPath to express values returned by a function or a template
][1] - [<xsl:variable>]
[[2] - declare a non-parameterized variable and its bound value
][1] - [<xsl:param>]
[[2] - declare a parameterized variable and its default bound value
][1] - [<xsl:with-param>]
[[2] - specify a binding value for a parameterized variable
]]
Instructions related to physical modularization:
[[1] - [<xsl:include>]
[[2] - include a stylesheet without overriding stylesheet constructs
][1] - [<xsl:import>]
[[2] - import a stylesheet while overriding stylesheet constructs
][1] - [<xsl:apply-imports>]
[[2] - override the importation of template rules
][1] - [T2.0] [<xsl:next-match>]
[[2] - override the priority and importation of template rules
][1] - [<xsl:fallback>]
[[2] - accommodate the lack of implementation of an instruction element
]]
The functions covered in this chapter are as follows.
Availability functions:
[[1] - [element-available]()
[[2] - determine the availability of an instruction element
][1] - [function-available]()
[[2] - determine the availability of a function
]]
Functions related to data modularization:
[[1] - [P2.0] [collection]()
[[2] - access to a collection of documents
][1] - [P2.0] [doc]()
[[2] - access to multiple source documents
][1] - [P2.0] [doc-available]()
[[2] - check for a document
][1] - [document]()
[[2] - access to multiple source documents
][1] - [T2.0] [unparsed-entity-public-id]()
[[2] - finding the public identifier of an unparsed entity
][1] - [unparsed-entity-uri]()
[[2] - finding the URI of an unparsed entity
][1] - [T2.0] [unparsed-text]()
[[2] - access to multiple documents
][1] - [T2.0] [unparsed-text-available]()
[[2] - check for a document
]]

*** This is a free preview excerpt of a commercial publication. ***

This is an accessible version of Crane's commercial training material. The content has been specifically designed to assist screen reader software in viewing the entire textual content. Figures are replaced with text narratives.

Navigation hints are in square brackets:
[Tx.x] and [Fx.x] are textual representations of the applicability icons;
[digit] indicates list depth for nested lists;
[link [URL]] indicates the URL of a hyperlink if different than link;
[EXAMPLE] indicates an example listing of code;
[FIGURE] indicates the presence of a figure replaced by its description;
[>] jumps forward;
[<] jumps backward;
[^] jumps to start of the section;
[^^] jumps to the start of the chapter;
[^^^] jumps to the table of contents.
Suggestions for improvement are welcome: [info@CraneSoftwrights.com]
Book sales: [http://www.CraneSoftwrights.com/links/trn-acc.htm]
Information: [http://www.CraneSoftwrights.com/links/info-acc.htm]
This content is protected by copyright and, as there are no means to protect this accessible version from plagiarism, please do not make any commercial edition available to others.

+//ISBN 978-1-894049::CSL::Courses::PTUX//DOCUMENT Practical Transformation Using XSLT and XPath 2011-02-11 21:00UTC//EN
Practical Transformation Using XSLT and XPath
Fourteenth Edition - 2011-02-11
ISBN 978-1-894049-24-5
Copyright © Crane Softwrights Ltd.