- From: <bugzilla@jessica.w3.org>
- Date: Fri, 10 Aug 2012 15:30:10 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=18524 Summary: AVT in mode attribute for apply-templates Product: XPath / XQuery / XSLT Version: Working drafts Platform: Macintosh OS/Version: All Status: NEW Severity: normal Priority: P2 Component: XSLT 3.0 AssignedTo: mike@saxonica.com ReportedBy: tolzidan@gmail.com QAContact: public-qt-comments@w3.org At the moment mode in apply-templates is a token (http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-apply-templates, http://www.w3.org/TR/2012/WD-xslt-30-20120710/#element-apply-templates). This works for most use cases by leaves out a number of use cases having to to do with secondary processing. It would be very useful if this could be an AVT to allow for a secondary processor to further specify the format of an output. An example usage might follow the following pipeline. Run an xsl transform on document: <?xml version="1.0" encoding="UTF-8"?> <document> <element>some text</element> </document> <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:math="http://www.w3.org/2005/xpath-functions/math" xmlns:parser="parsernamespace" exclude-result-prefixes="xs" version="3.0"> <xsl:param name="data" as="document-node()?"/> <xsl:template match="/document"> <ouputitem path="/document/element" mode="myrendermode"/> </xsl:template> <xsl:template match="/outputitem"> <html> <head> <title>A Page</title> </head> <body> <xsl:apply-templates select="." mode="rendercontents"/> </body> </html> </xsl:template> <xsl:template match="*" mode="rendercontents"> <xsl:variable name="datapoint" select="parser:eval($data, concat('$p1', @path))"/> <xsl:choose> <xsl:when test="@mode"> <xsl:apply-templates select="$datapoint" mode="{@mode}"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$datapoint"/> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="*" mode="myrendermode"> <p> <strong>element</strong>: <xsl:value-of select="."/> </p> </xsl:template> </xsl:stylesheet> Then run the same transform on the output from the template as the primary document and the original document as the data xsl:param. -- Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug.
Received on Friday, 10 August 2012 15:30:12 UTC