<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | |
version="1.0" | |
xmlns:redirect="http://xml.apache.org/xalan/redirect" | |
extension-element-prefixes="redirect"> | |
<!-- | |
* Licensed to the Apache Software Foundation (ASF) under one | |
* or more contributor license agreements. See the NOTICE file | |
* distributed with this work for additional information | |
* regarding copyright ownership. The ASF licenses this file | |
* to you under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
--> | |
<xsl:template match="/"> | |
<standard-out> | |
Standard output: | |
<xsl:apply-templates/> | |
</standard-out> | |
</xsl:template> | |
<!-- not redirected --> | |
<xsl:template match="doc/main"> | |
<main> | |
-- look in <xsl:value-of select="/doc/foo/@file"/> for the redirected output -- | |
<xsl:apply-templates/> | |
</main> | |
</xsl:template> | |
<!-- redirected --> | |
<xsl:template match="doc/foo"> | |
<!-- get redirect file name from XML input --> | |
<redirect:write select="@file"> | |
<foo-out> | |
<xsl:apply-templates/> | |
</foo-out> | |
</redirect:write> | |
</xsl:template> | |
<!-- redirected (from the xsl:apply-templates above. I.e., bar is in /doc/foo --> | |
<xsl:template match="bar"> | |
<foobar-out> | |
<xsl:apply-templates/> | |
</foobar-out> | |
</xsl:template> | |
</xsl:stylesheet> |