Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 109719 Details for
Bug 243303
Project Plan XML should have Namespaces
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Patch file for project-plan.php to use xsl stylesheet for transformation.
projectplantpatch.txt (text/plain), 22.65 KB, created by
David Carver
on 2008-08-11 18:29:19 EDT
(
hide
)
Description:
Patch file for project-plan.php to use xsl stylesheet for transformation.
Filename:
MIME Type:
Creator:
David Carver
Created:
2008-08-11 18:29:19 EDT
Size:
22.65 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.projects.website >Index: project-plan.php >=================================================================== >RCS file: /cvsroot/org.eclipse/www/projects/project-plan.php,v >retrieving revision 1.83 >diff -u -r1.83 project-plan.php >--- project-plan.php 5 Jun 2008 18:02:51 -0000 1.83 >+++ project-plan.php 11 Aug 2008 22:25:40 -0000 >@@ -163,12 +163,16 @@ > </div> > <?php > } else { >+ >+ >+ > /* > * Load the XML file > */ >-$xml = @simplexml_load_file( $url ); >-if( $xml === false >- || !isset($xml->themes_and_priorities->theme) ) { >+ xml = new DomDocument(); >+$xml->load($url); >+ >+if( $xml === false) ) { > $contents = @file_get_contents( $url ); > if( !$contents ) { > show_error_page( 'the project meta-data "projectplanurl" (' . $url . ') points to an empty file.', $projectid ); >@@ -184,96 +188,17 @@ > > // ---------------------------------------------------------------------------- > // OUTPUT >-?> >-<div id="maincontent"> >-<div id="midcolumn"> >- >-<h1>Project Plan for >-<a href="http://www.eclipse.org/projects/project_summary.php?projectid=<?= $projectid ?>"><span >-style="font-size: 140%"><?= $projectname ?></span></a>, version <?= $xml->release->attributes()->version ?></h1> >-<h2>Introduction</h2> >-<?= $xml->introduction ?> >-<h2>Release Deliverables</h2> >-<?= $xml->release_deliverables ?> >-<h2>Release Milestones</h2> >-<p><?= $xml->release_milestones->preamble ?></p> >-<table border="1" align="center"> >-<?php >-foreach ($xml->release_milestones->milestone as $milestone ) { >- ?><tr><td><b><?= $milestone->attributes()->milestone ?></b></td> >- <td><?= $milestone->attributes()->date ?></td> >- <td><?= $milestone ?></td></tr> >-<?php >-} >-?> >-</table> >-<p><?= $xml->release_milestones->postamble ?></p> >-<h2>Target Environments</h2> >-<?= $xml->target_environments ?> >-<h3>Internationalization</h3> >-<?= $xml->target_environments->internationalization ?> >-<h2>Compatibility With Previous Releases</h2> >-<?= $xml->compatibility_with_previous_releases ?> >+/* create the processor and import the stylesheet */ >+$xsl = new DomDocument(); >+$xsl->load("project-plan-render.xsl"); >+ >+$proc = new XsltProcessor(); >+$xsl = $proc->importStylesheet($xsl); >+$proc->setParameter(null, "projectName", $projectname); >+$proc->setParameter(nuul, "projectId", $projectid); > >-<h2>Themes and Priorities</h2> >-<p><?= $xml->themes_and_priorities->preamble ?></p> >-<?php >-$list = array(); >-for( $i = 0; isset($xml->themes_and_priorities->theme[$i]); $i++ ) { >- $list[] = $xml->themes_and_priorities->theme[$i]; >-} >-foreach( $list as $plan_theme ) { >- ?><h3><?= $plan_theme->attributes()->name ?></h3> >- <?php >- if( $plan_theme->description != null ) { >- ?><p style="margin-top: -6px"><?= $plan_theme->description ?></p> >- <?php >- } >- ?> >- <ul><?php >- ?><li><b>Committed</b><ul><?php echo "\n"; >- if( $plan_theme->committed->attributes()->bugzilla != null ) { >- report_bugzillas( $plan_theme->committed->attributes()->bugzilla ); >- } else { >- if( trim($plan_theme->committed) ) { >- echo $plan_theme->committed; >- } else { >- ?><ul><li><em>no items</em></li></ul><?php >- } >- } >- ?></ul></li><li><b>Proposed</b><ul><?php echo "\n"; >- if( $plan_theme->proposed->attributes()->bugzilla != null ) { >- report_bugzillas( $plan_theme->proposed->attributes()->bugzilla ); >- } else { >- if( trim($plan_theme->proposed) ) { >- echo $plan_theme->proposed; >- } else { >- ?><ul><li><em>no items</em></li></ul><?php >- } >- } >- ?></ul></li><li><b>Deferred</b><ul><?php echo "\n"; >- if( $plan_theme->deferred->attributes()->bugzilla != null ) { >- report_bugzillas( $plan_theme->deferred->attributes()->bugzilla ); >- } else { >- if( trim($plan_theme->deferred) ) { >- echo $plan_theme->deferred; >- } else { >- ?><ul><li><em>no items</em></li></ul><?php >- } >- } >- ?></ul></li></ul><?php echo "\n"; >-} >- >-$idx = 0; >-foreach( $xml->appendix as $appendix ) { >- $appidx = substr("ABCDEFGHIJKLMNOPQRSTUVWXYZ", $idx, 1); >- ?><h2>Appendix <?= $appidx ?>. <?= $appendix->attributes()->name ?></h2> >- <?= $xml->appendix ?> >- <?php >-} >-?> >-<?php >-}// if( $xml === false ) >+/* transform and output the xml document */ >+$echo = $proc->transformToXML($xml); > ?> > <div style="float: right; text-align: right"><a href="?projectid=<?= $projectid ?>&raw=1">view raw xml of project plan</a><br> > <a href="/projects/dev_process/project-status-infrastructure.php">from project meta-data key "projectplanurl"</a></div> >Index: project-plan-bugzilla.xsl >=================================================================== >RCS file: project-plan-bugzilla.xsl >diff -N project-plan-bugzilla.xsl >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ project-plan-bugzilla.xsl 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,65 @@ >+<?xml version="1.0" encoding="UTF-8"?> >+<!-- >+ /******************************************************************************* >+ * Copyright (c) 2008 Standards for Technology in Automotive Retail and others >+ * All rights reserved. This program and the accompanying materials >+ * are made available under the terms of the Eclipse Public License v1.0 >+ * which accompanies this distribution, and is available at >+ * http://www.eclipse.org/legal/epl-v10.html >+ * >+ * Contributors: >+ * David Carver (STAR) - bug 243303 - initial API and implementation >+ *******************************************************************************/ >+--> >+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >+ xmlns:bz="http://www.bugzilla.org/rdf#" >+ xmlns:nc="http://home.netscape.com/NC-rdf#" >+ xmlns="http://www.w3.org/1999/xhtml" >+ exclude-result-prefixes="rdf bz nc"> >+ <!-- >+ This process the RDF file returned from the bugzilla query when ctype=rdf is >+ specified. >+ --> >+ >+ <xsl:template match="bz:bugs"> >+ <xsl:choose> >+ <xsl:when test="count(rdf:Seq/child::*) = 0"> >+ <p> >+ <xsl:text>No items.</xsl:text> >+ </p> >+ </xsl:when> >+ <xsl:otherwise> >+ <ul> >+ <xsl:apply-templates select="rdf:Seq/rdf:li/bz:bug"/> >+ </ul> >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:template> >+ >+ <xsl:template match="bz:bug"> >+ <li> >+ <xsl:value-of select="bz:short_desc"/> >+ <xsl:text> [</xsl:text> >+ <a href="http://bugs.eclipse.org/{bz:id}"> >+ <xsl:value-of select="bz:id"/> >+ </a> >+ <xsl:text>] </xsl:text> >+ <xsl:choose> >+ <xsl:when test="bz:bug_status = 'RESOLVED' or bz:bug_status = 'VERIFIED' or bz:bug_status = 'CLOSED'"> >+ <strike> >+ <xsl:text>(target milestone: </xsl:text> >+ <xsl:value-of select="bz:target_milestone"/> >+ <xsl:text>)</xsl:text> >+ </strike> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:text>(target milestone: </xsl:text> >+ <xsl:value-of select="bz:target_milestone"/> >+ <xsl:text>)</xsl:text> >+ </xsl:otherwise> >+ </xsl:choose> >+ </li> >+ </xsl:template> >+ >+</xsl:stylesheet> >Index: project-plan-render.xsl >=================================================================== >RCS file: project-plan-render.xsl >diff -N project-plan-render.xsl >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ project-plan-render.xsl 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,288 @@ >+<?xml version="1.0" encoding="UTF-8"?> >+ <!-- >+ /******************************************************************************* >+ * Copyright (c) 2008 Standards for Technology in Automotive Retail and others >+ * All rights reserved. This program and the accompanying materials >+ * are made available under the terms of the Eclipse Public License v1.0 >+ * which accompanies this distribution, and is available at >+ * http://www.eclipse.org/legal/epl-v10.html >+ * >+ * Contributors: >+ * David Carver (STAR) - bug 243303 - initial API and implementation >+ *******************************************************************************/ >+ --> >+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >+ xmlns:plan="http://www.eclipse.org/project/plan" >+ xmlns:html="http://www.w3.org/1999/xhtml" >+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >+ xmlns:bz="http://www.bugzilla.org/rdf#" >+ xmlns:nc="http://home.netscape.com/NC-rdf#" >+ xmlns="http://www.w3.org/1999/xhtml" >+ exclude-result-prefixes="html plan rdf bz nc" > >+ <xsl:output method="xml" indent="yes" encoding="UTF-8"/> >+ <xsl:param name="projectName"> >+ <xsl:text>Project Name Here</xsl:text> >+ </xsl:param> >+ <xsl:param name="projectId" select="/plan:plan/plan:release/@projectid"/> >+ >+ <xsl:include href="project-plan-bugzilla.xsl"/> >+ <xsl:include href="url-encode.xsl"/> >+ >+ <xsl:template match="/plan:plan"> >+ <html> >+ <body> >+ <xsl:apply-templates select="." mode="plan"/> >+ </body> >+ </html> >+ </xsl:template> >+ >+ <!-- Start processing the Project Plan --> >+ <xsl:template match="plan:plan" mode="plan"> >+ <div id="maincontent"> >+ <div id="midcolumn"> >+ <h1> >+ <span style="font-size: 140%">Project Plan For >+ <a href="http://www.eclipse.org/projects/project_summary.php?projectid={$projectId}"> >+ <xsl:value-of select="$projectName"/> >+ </a> >+ </span> >+ <xsl:text>, version </xsl:text> >+ <xsl:value-of select="plan:release/@version"/> >+ </h1> >+ <xsl:apply-templates select="plan:*"/> >+ </div> >+ </div> >+ </xsl:template> >+ >+ <xsl:template match="plan:introduction"> >+ <h2>Introduction</h2> >+ <xsl:call-template name="copyNodeorCData"> >+ <xsl:with-param name="node" select="."/> >+ </xsl:call-template> >+ </xsl:template> >+ >+ <xsl:template match="plan:release_deliverables"> >+ <h2>Release Deliverables</h2> >+ <xsl:call-template name="copyNodeorCData"> >+ <xsl:with-param name="node" select="."/> >+ </xsl:call-template> >+ </xsl:template> >+ >+ <xsl:template match="plan:release_milestones"> >+ <h2>Release Milestones</h2> >+ <xsl:apply-templates select="plan:preamble"/> >+ <table border="1" align="center"> >+ <xsl:apply-templates select="plan:milestone"/> >+ </table> >+ <xsl:apply-templates select="plan:postamble"/> >+ </xsl:template> >+ >+ <xsl:template match="plan:milestone"> >+ <tr> >+ <td> >+ <b> >+ <xsl:value-of select="@milestone"/> >+ </b> >+ </td> >+ <td> >+ <xsl:value-of select="@date"/> >+ </td> >+ <td> >+ <xsl:call-template name="copyNodeorCData"> >+ <xsl:with-param name="node" select="."/> >+ </xsl:call-template> >+ </td> >+ </tr> >+ </xsl:template> >+ >+ <xsl:template match="plan:preamble | plan:postamble"> >+ <xsl:call-template name="copyNodeorCData"> >+ <xsl:with-param name="node" select="."/> >+ </xsl:call-template> >+ </xsl:template> >+ >+ <xsl:template match="plan:target_environments"> >+ <h2>Target Environments</h2> >+ <xsl:call-template name="copyNodeorCData"> >+ <xsl:with-param name="node" select="."/> >+ </xsl:call-template> >+ <xsl:if test="plan:internationalization"> >+ <h3>Internationalization</h3> >+ <xsl:apply-templates select="plan:internationalization"/> >+ </xsl:if> >+ </xsl:template> >+ >+ <xsl:template match="themes_and_priorities"> >+ <h2>Themese and Priorities</h2> >+ <xsl:apply-templates/> >+ </xsl:template> >+ >+ <xsl:template match="themes"> >+ <h3><xsl:value-of select="@name"/></h3> >+ <xsl:if test="description"> >+ <xsl:apply-templates select="plan:description"/> >+ </xsl:if> >+ <xsl:if test="committed"> >+ <ul> >+ <xsl:apply-templates select="plan:committed"/> >+ </ul> >+ </xsl:if> >+ <xsl:if test="proposed"> >+ <ul> >+ <xsl:apply-templates select="plan:proposed"/> >+ </ul> >+ </xsl:if> >+ <xsl:if test="deferred"> >+ <ul> >+ <xsl:apply-templates select="plan:deferred"/> >+ </ul> >+ </xsl:if> >+ >+ </xsl:template> >+ >+ <xsl:template match="plan:description"> >+ <xsl:call-template name="copyNodeorCData"> >+ <xsl:with-param name="node" select="."/> >+ </xsl:call-template> >+ </xsl:template> >+ >+ <xsl:template match="plan:committed"> >+ <xsl:call-template name="ThemeBugzilla"> >+ <xsl:with-param name="node" select="."/> >+ <xsl:with-param name="section">Committed</xsl:with-param> >+ </xsl:call-template> >+ </xsl:template> >+ >+ <xsl:template match="@bugzilla"> >+ <xsl:variable name="url">https://bugs.eclipse.org/</xsl:variable> >+ <xsl:variable name="rdf"><xsl:text>&ctype=rdf&columnlist=bug_id,short_desc,target_milestone,bug_status</xsl:text></xsl:variable> >+ <xsl:variable name="actualurl"> >+ <xsl:value-of select="normalize-space(.)"/> >+ </xsl:variable> >+ <xsl:variable name="test"> >+ <xsl:value-of select="substring($actualurl, 1, 25)"/> >+ </xsl:variable> >+ >+ <xsl:variable name="bugzillaURL"> >+ <xsl:choose> >+ <xsl:when test="substring($actualurl, 1, 25) = 'https://bugs.eclipse.org/'"> >+ <xsl:value-of select="$url"/> >+ <xsl:call-template name="url-encode"> >+ <xsl:with-param name="str" select="substring($actualurl,26)"/> >+ </xsl:call-template> >+ <xsl:value-of select="$rdf"/> >+ </xsl:when> >+ <xsl:when test="substring($actualurl, 1, 24) = 'http://bugs.eclipse.org/'"> >+ <xsl:value-of select="$url"/> >+ <xsl:call-template name="url-encode"> >+ <xsl:with-param name="str" select="substring($actualurl,25)"/> >+ </xsl:call-template> >+ <xsl:value-of select="$rdf"/> >+ </xsl:when> >+ </xsl:choose> >+ </xsl:variable> >+ <xsl:choose> >+ <xsl:when test="string-length($bugzillaURL) > 0"> >+ <xsl:comment> >+ <xsl:value-of select="$bugzillaURL"/> >+ </xsl:comment> >+ <xsl:apply-templates select="document($bugzillaURL)//bz:bugs"/> >+ </xsl:when> >+ <xsl:otherwise> >+ <html:ul> >+ <html:li> >+ <html:span style="background-color: #FFCCCC; font-weight: bold; font-size: 150%;"> >+ Error: url is not a bugs.eclipse.org url >+ </html:span> >+ </html:li> >+ </html:ul> >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:template> >+ >+ <xsl:template match="plan:proposed"> >+ <xsl:call-template name="ThemeBugzilla"> >+ <xsl:with-param name="node" select="."/> >+ <xsl:with-param name="section">Propose</xsl:with-param> >+ </xsl:call-template> >+ </xsl:template> >+ >+ <xsl:template match="plan:deferred"> >+ <xsl:call-template name="ThemeBugzilla"> >+ <xsl:with-param name="node" select="."/> >+ <xsl:with-param name="section">Deferred</xsl:with-param> >+ </xsl:call-template> >+ </xsl:template> >+ >+ <xsl:template match="plan:appendix"> >+ <h2>Appendix <xsl:value-of select="@name"/></h2> >+ <xsl:call-template name="copyNodeorCData"> >+ <xsl:with-param name="node" select="."/> >+ </xsl:call-template> >+ </xsl:template> >+ >+ <xsl:template name="ThemeBugzilla"> >+ <xsl:param name="node"/> >+ <xsl:param name="section"/> >+ >+ <li> >+ <b><xsl:value-of select="$section"/></b> >+ <ul> >+ <li> >+ <xsl:choose> >+ <xsl:when test="@bugzilla"> >+ <xsl:apply-templates select="@bugzilla"/> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:call-template name="copyNodeorCData"> >+ <xsl:with-param name="node" select="."/> >+ </xsl:call-template> >+ </xsl:otherwise> >+ </xsl:choose> >+ </li> >+ </ul> >+ </li> >+ </xsl:template> >+ >+ <!-- Called Templates these are common routines used by other templates --> >+ >+ <xsl:template name="copyNodeorCData"> >+ <xsl:param name="node"/> >+ <xsl:apply-templates select="$node/html:*"/> >+ </xsl:template> >+ >+ >+ <xsl:template match=" html:a | html:b | html:big | html:body | html:br | html:caption | >+ html:cite | html:code | html:col | html:colgroup | html:dd | html:div | html:dl | html:dt | html:em | html:font | >+ html:form | html:head | html:h1 | html:h2 | html:h3 | html:h4 | html:h5 | html:h6 | html:hr | >+ html:i | html:img | html:link | html:li | html:ol | >+ html:p | html:param | html:pre | html:s | html:small | html:span | html:strong | html:style | >+ html:sub | html:sup | html:td | html:th | html:title | html:tr | html:tt | html:ul | html:var | html:table"> >+ <xsl:element name="{local-name()}"> >+ <xsl:copy-of select="@*"/> >+ <xsl:apply-templates/> >+ </xsl:element> >+ </xsl:template> >+ >+ <!-- This routine from http://www.dpawson.co.uk/xsl/sect2/replace.html#d9550e61 --> >+ <xsl:template name="replaceCharsInString"> >+ <xsl:param name="stringIn"/> >+ <xsl:param name="charsIn"/> >+ <xsl:param name="charsOut"/> >+ <xsl:choose> >+ <xsl:when test="contains($stringIn,$charsIn)"> >+ <xsl:value-of select="concat(substring-before($stringIn,$charsIn),$charsOut)"/> >+ <xsl:call-template name="replaceCharsInString"> >+ <xsl:with-param name="stringIn" select="substring-after($stringIn,$charsIn)"/> >+ <xsl:with-param name="charsIn" select="$charsIn"/> >+ <xsl:with-param name="charsOut" select="$charsOut"/> >+ </xsl:call-template> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:value-of select="$stringIn"/> >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:template> >+ >+ >+</xsl:stylesheet> >Index: url-encode.xsl >=================================================================== >RCS file: url-encode.xsl >diff -N url-encode.xsl >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ url-encode.xsl 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,69 @@ >+<?xml version="1.0" encoding="utf-8"?> >+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> >+ >+ <xsl:output method="xml" indent="yes" encoding="iso-8859-1"/> >+ >+ <!-- ISO-8859-1 based URL-encoding demo >+ Written by Mike J. Brown, mike@skew.org. >+ Updated 2002-05-20. >+ >+ No license; use freely, but credit me if reproducing in print. >+ >+ Also see http://skew.org/xml/misc/URI-i18n/ for a discussion of >+ non-ASCII characters in URIs. >+ --> >+ >+ <!-- The string to URL-encode. >+ Note: By "iso-string" we mean a Unicode string where all >+ the characters happen to fall in the ASCII and ISO-8859-1 >+ ranges (32-126 and 160-255) --> >+ <xsl:param name="iso-string" select="'¡Hola, César!'"/> >+ >+ <!-- Characters we'll support. >+ We could add control chars 0-31 and 127-159, but we won't. --> >+ <xsl:variable name="ascii"> !?"#$%'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~</xsl:variable> >+ <xsl:variable name="latin1"> ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ</xsl:variable> >+ >+ <!-- Characters that usually don't need to be escaped --> >+ <xsl:variable name="safe">&=?/!'()*-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~</xsl:variable> >+ >+ <xsl:variable name="hex" >0123456789ABCDEF</xsl:variable> >+ >+ <xsl:template name="url-encode"> >+ <xsl:param name="str"/> >+ <xsl:if test="$str"> >+ <xsl:variable name="first-char" select="substring($str,1,1)"/> >+ <xsl:choose> >+ <xsl:when test="contains($safe,$first-char)"> >+ <xsl:value-of select="$first-char"/> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:variable name="codepoint"> >+ <xsl:choose> >+ <xsl:when test="contains($ascii,$first-char)"> >+ <xsl:value-of select="string-length(substring-before($ascii,$first-char)) + 32"/> >+ </xsl:when> >+ <xsl:when test="contains($latin1,$first-char)"> >+ <xsl:value-of select="string-length(substring-before($latin1,$first-char)) + 160"/> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:message terminate="no">Warning: string contains a character that is out of range! Substituting "?".</xsl:message> >+ <xsl:text>63</xsl:text> >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:variable> >+ <xsl:variable name="hex-digit1" select="substring($hex,floor($codepoint div 16) + 1,1)"/> >+ <xsl:variable name="hex-digit2" select="substring($hex,$codepoint mod 16 + 1,1)"/> >+ <xsl:value-of select="concat('%',$hex-digit1,$hex-digit2)"/> >+ </xsl:otherwise> >+ </xsl:choose> >+ <xsl:if test="string-length($str) > 1"> >+ <xsl:call-template name="url-encode"> >+ <xsl:with-param name="str" select="substring($str,2)"/> >+ </xsl:call-template> >+ </xsl:if> >+ </xsl:if> >+ </xsl:template> >+ >+</xsl:stylesheet> >+
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 243303
:
109320
|
109347
|
109487
|
109614
|
109615
|
109616
|
109719
|
110492
|
110603
|
110605
|
110610
|
110630
|
111907