[ Index ] |
|
Code source de Kupu-1.3.5 |
1 <?xml version="1.0" encoding="utf-8"?> 2 <!-- 3 ############################################################################## 4 # 5 # Copyright (c) 2003-2005 Kupu Contributors. All rights reserved. 6 # 7 # This software is distributed under the terms of the Kupu 8 # License. See LICENSE.txt for license text. For a list of Kupu 9 # Contributors see CREDITS.txt. 10 # 11 ############################################################################## 12 13 Generate an JSPX template from Kupu distribution files 14 15 The main difference from make.xsl itself, is that this creates fmt:message tags for the i18n part. 16 17 This means that also the fmt-tags must be available, so your html.kupu must specificy something like: 18 <kupu:part name="html"> 19 <html xmlns="http://www.w3.org/1999/xhtml" 20 xmlns:jsp="http://java.sun.com/JSP/Page" 21 xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"> 22 <jsp:output doctype-root-element="html" 23 doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" 24 doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/> 25 <fmt:bundle basename="org.oscom.kupu.Messages"> 26 <kupu:define-slot name="html" /> 27 </fmt:bundle> 28 </html> 29 </kupu:part> 30 31 See also: common/kupu.pox.jspx (which can be used by i18n.js) 32 --> 33 <xsl:stylesheet 34 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 35 xmlns:kupu="http://kupu.oscom.org/namespaces/dist" 36 xmlns:i18n="http://xml.zope.org/namespaces/i18n" 37 xmlns:fmt="http://java.sun.com/jsp/jstl/fmt" 38 xmlns:html="http://www.w3.org/1999/xhtml" 39 xmlns:jsp="http://java.sun.com/JSP/Page" 40 exclude-result-prefixes="kupu" 41 version="1.0" 42 > 43 <xsl:import href="make.xsl" /> 44 45 46 <xsl:template match="html:*" mode="expand"> 47 <xsl:choose> 48 <xsl:when test="@i18n:translate"> 49 <xsl:element name="{name()}"> 50 <xsl:copy-of select="@html:*" /> 51 <fmt:message> 52 <xsl:attribute name="key"> 53 <xsl:choose> 54 <xsl:when test="@i18n:translate = ''"> 55 <xsl:apply-templates select="text()" mode="expand-i18n" /> 56 </xsl:when> 57 <xsl:otherwise> 58 <xsl:value-of select="@i18n:translate" /> 59 </xsl:otherwise> 60 </xsl:choose> 61 </xsl:attribute> 62 </fmt:message> 63 </xsl:element> 64 </xsl:when> 65 <xsl:when test="@i18n:attributes"> 66 <xsl:variable name="attributes"><xsl:value-of select="@i18n:attributes" /></xsl:variable> 67 <fmt:message var="_"> 68 <xsl:attribute name="key"> 69 <xsl:value-of select="@title" /><!-- should be @$attributes, but that doesn't work --> 70 </xsl:attribute> 71 </fmt:message> 72 <xsl:element name="{name()}"> 73 <xsl:copy-of select="@html:*" /> 74 <xsl:attribute name="{$attributes}">$_}</xsl:attribute> 75 <xsl:apply-templates mode="expand" /> 76 </xsl:element> 77 </xsl:when> 78 <xsl:otherwise> 79 <xsl:element name="{name()}"> 80 <xsl:copy-of select="@html:*" /> 81 <xsl:apply-templates mode="expand" /> 82 </xsl:element> 83 </xsl:otherwise> 84 </xsl:choose> 85 </xsl:template> 86 87 <xsl:template match="html:html" mode="expand"> <!-- to preserve the namespaces--> 88 <xsl:copy> 89 <xsl:copy-of select="@*" /> 90 <xsl:apply-templates mode="expand" /> 91 </xsl:copy> 92 </xsl:template> 93 94 <xsl:template match="html:select" mode="expand"> 95 <!-- in some toolboxes an empty select appears, add jsp:text to avoid that it collapses away, which browsers cannot handle --> 96 <xsl:copy> 97 <xsl:copy-of select="@*" /> 98 <jsp:text> </jsp:text> 99 <xsl:apply-templates mode="expand" /> 100 </xsl:copy> 101 </xsl:template> 102 103 <xsl:template match="text()" mode="expand-i18n"> 104 <!-- this should probably be trim() rather then normalize-space (but that functions does not natively exist) --> 105 <xsl:value-of select="normalize-space(.)" /> 106 </xsl:template> 107 108 </xsl:stylesheet>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Feb 25 15:30:41 2007 | par Balluche grâce à PHPXref 0.7 |