All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.saxon.style.package-info Maven / Gradle / Ivy

There is a newer version: 12.5
Show newest version
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018-2022 Saxonica Limited
// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
// If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
// This Source Code Form is "Incompatible With Secondary Licenses", as defined by the Mozilla Public License, v. 2.0.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/**
 * 

This package provides classes used during the compilation of an XSLT stylesheet. * The instances of these classes are discarded once compilation is complete, and they play no role * in executing the transformation at run-time, except when tracing and debugging are invoked.

*

The class StyleElement represents an element node on the stylesheet tree. Subclasses * of StyleElement represent individual stylesheet elements, and are generally named according to * the XSLT element name, for example XSLApplyTemplates, XSLChoose. The class XSLStylesheet * is used for the xsl:stylesheet element in each stylesheet module, and in particular for the * xsl:stylesheet element in the principal stylesheet module.

*

During construction of the stylesheet tree, the class StyleNodeFactory is nominated to * the Builder as the factory class responsible for creating element nodes on the tree. It is * this class that decides which subclass of StyleElement to use for each element appearing in the * stylesheet. For extension elements, the decision is delegated to a user-created * ExtensionElementFactory.

*

Each class provides a number of methods supporting the various phases of processing. The sequence * of events sometimes varies slightly, but in general the first phase is done by prepareAttributes, * which performs local validation of the attributes of each instruction. The second phase is represented * by the validate method, which does global validation, fixup of references, and type checking. * The third phase is done by the compile method, which generates Instruction and * Expression objects. Further processing (local and global optimization) is then done on these * Instruction objects, and is no longer the responsibility of this package.

*/ package net.sf.saxon.style;




© 2015 - 2024 Weber Informatics LLC | Privacy Policy