3f66f6a5b3
This keyword is not expanded by Git which means it's not replaced with the correct revision value in the releases made using git-based scripts and it's confusing to have lines with unexpanded "$Id$" in the released files. As expanding them with Git is not that simple (it could be done with git archive and export-subst attribute) and there are not many benefits in having them in the first place, just remove all these lines. If nothing else, this will make an eventual transition to Git simpler. Closes #14487. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
350 lines
12 KiB
XML
350 lines
12 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
<!--
|
|
Name: embedded.xsl
|
|
Purpose: Used by check.sh for offline checking of the configuration.
|
|
Author: Mike Wetherell
|
|
Copyright: (c) 2007 Mike Wetherell
|
|
Licence: wxWindows licence
|
|
-->
|
|
|
|
<transform xmlns="http://www.w3.org/1999/XSL/Transform"
|
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
xmlns:XSL="XSL"
|
|
version="1.0">
|
|
|
|
<namespace-alias stylesheet-prefix="XSL" result-prefix="xsl"/>
|
|
|
|
<output indent="yes"/>
|
|
|
|
<variable
|
|
name="root"
|
|
select="//*[not(ancestor-or-self::*[name() != name(/*)])]"/>
|
|
|
|
<variable
|
|
name="includes"
|
|
select="$root[position() > 1]"/>
|
|
|
|
<variable
|
|
xmlns:func="http://exslt.org/functions"
|
|
name="top-level"
|
|
select="$root/xsl:import |
|
|
$root/xsl:include |
|
|
$root/xsl:attribute-set |
|
|
$root/xsl:character-map |
|
|
$root/xsl:decimal-format |
|
|
$root/xsl:function |
|
|
$root/xsl:import-schema |
|
|
$root/xsl:key |
|
|
$root/xsl:namespace-alias |
|
|
$root/xsl:output |
|
|
$root/xsl:param |
|
|
$root/xsl:preserve-space |
|
|
$root/xsl:strip-space |
|
|
$root/xsl:template |
|
|
$root/xsl:variable |
|
|
$root/func:function"/>
|
|
|
|
<template match="/">
|
|
<XSL:transform>
|
|
<copy-of select="$root/namespace::*"/>
|
|
|
|
<for-each select="$root/@xsl:*">
|
|
<attribute name="{local-name()}">
|
|
<value-of select="."/>
|
|
</attribute>
|
|
</for-each>
|
|
|
|
<for-each select="$top-level">
|
|
<if test="not(../ancestor::*/*[name() = name(current()) and @name = current()/@name])">
|
|
<apply-templates mode="copy-xsl" select="."/>
|
|
</if>
|
|
</for-each>
|
|
|
|
<apply-templates select="*"/>
|
|
</XSL:transform>
|
|
</template>
|
|
|
|
<template match="*">
|
|
<variable name="pattern">
|
|
<call-template name="coord-pattern"/>
|
|
</variable>
|
|
|
|
<variable name="is-xsl">
|
|
<call-template name="is-xsl"/>
|
|
</variable>
|
|
|
|
<XSL:template match="*[generate-id() = generate-id(document('', /){$pattern})]">
|
|
<copy-of select="namespace::*"/>
|
|
<choose>
|
|
<when test="$root/xsl:template[@name = name(current())]">
|
|
<call-template name="expand">
|
|
<with-param name="inside-xsl" select="$is-xsl = 'true'"/>
|
|
</call-template>
|
|
</when>
|
|
<when test="count($includes | .) = count($includes)">
|
|
<if test="node()">
|
|
<XSL:apply-templates select="node()"/>
|
|
</if>
|
|
</when>
|
|
<when test="count($top-level | .) != count($top-level)">
|
|
<call-template name="create-context"/>
|
|
</when>
|
|
</choose>
|
|
</XSL:template>
|
|
|
|
<if test="$is-xsl != 'true'">
|
|
<apply-templates select="node()"/>
|
|
</if>
|
|
</template>
|
|
|
|
<template match="text()"/>
|
|
|
|
<template match="@*">
|
|
<copy/>
|
|
</template>
|
|
|
|
<template mode="copy-xsl" match="*[//xsl:template[not(ancestor::*[name() != name(/*)])]/@name = name()]">
|
|
<choose>
|
|
<when test="ancestor::xsl:template[@name = name(current())]">
|
|
<copy>
|
|
<call-template name="copy-xsl-children"/>
|
|
</copy>
|
|
</when>
|
|
<otherwise>
|
|
<call-template name="expand">
|
|
<with-param name="inside-xsl" select="true()"/>
|
|
</call-template>
|
|
</otherwise>
|
|
</choose>
|
|
</template>
|
|
|
|
<template mode="copy-xsl" match="@*|node()">
|
|
<copy>
|
|
<call-template name="copy-xsl-children"/>
|
|
</copy>
|
|
</template>
|
|
|
|
<template name="copy-xsl-children">
|
|
<copy-of select="namespace::*"/>
|
|
<apply-templates mode="copy-xsl" select="@*|node()"/>
|
|
</template>
|
|
|
|
<template name="coord-pattern">
|
|
<param name="element" select="."/>
|
|
|
|
<for-each select="$element/ancestor-or-self::*">
|
|
<text>/*[</text>
|
|
<value-of select="count(preceding-sibling::*) + 1"/>
|
|
<text>]</text>
|
|
</for-each>
|
|
</template>
|
|
|
|
<template name="is-xsl">
|
|
<param name="element" select="."/>
|
|
<choose>
|
|
<when test="$element/self::xsl:*">
|
|
<value-of select="true()"/>
|
|
</when>
|
|
<otherwise>
|
|
<variable name="namespace" select="namespace-uri($element)"/>
|
|
<variable name="extension-namespaces">
|
|
<for-each select="$element/ancestor-or-self::*/@xsl:extension-element-prefixes">
|
|
<variable name="prefixes"
|
|
select="concat(' ', normalize-space(.), ' ')"/>
|
|
<variable name="namespaces"
|
|
select="../namespace::*[contains($prefixes, concat(' ', name(), ' ')) or
|
|
(name() = '' and contains($prefixes, ' #default '))]"/>
|
|
<value-of select="$namespaces[. = $namespace]"/>
|
|
</for-each>
|
|
</variable>
|
|
<value-of select="$extension-namespaces != ''"/>
|
|
</otherwise>
|
|
</choose>
|
|
</template>
|
|
|
|
<template name="expand">
|
|
<param name="inside-xsl"/>
|
|
<variable name="params" select="$root/xsl:template[@name = name(current())]/xsl:param"/>
|
|
|
|
<XSL:call-template name="{name()}">
|
|
<if test="node() and $params">
|
|
<XSL:with-param name="{$params[1]/@name}">
|
|
<choose>
|
|
<when test="$inside-xsl">
|
|
<apply-templates mode="copy-xsl" select="node()"/>
|
|
</when>
|
|
<otherwise>
|
|
<variable name="pattern">
|
|
<call-template name="coord-pattern"/>
|
|
</variable>
|
|
<XSL:apply-templates select="{$pattern}/node()"/>
|
|
</otherwise>
|
|
</choose>
|
|
</XSL:with-param>
|
|
</if>
|
|
|
|
<for-each select="@*">
|
|
<variable name="len" select="string-length(.)"/>
|
|
<choose>
|
|
<when test="substring(., 1, 1) = '{' and
|
|
substring(., $len, 1) = '}'">
|
|
<XSL:with-param name="{name()}"
|
|
select="{substring(., 2, $len - 2)}"/>
|
|
</when>
|
|
<otherwise>
|
|
<XSL:with-param name="{name()}">
|
|
<call-template name="avt"/>
|
|
</XSL:with-param>
|
|
</otherwise>
|
|
</choose>
|
|
</for-each>
|
|
</XSL:call-template>
|
|
</template>
|
|
|
|
<template name="create-context">
|
|
<param name="elements" select="ancestor-or-self::*
|
|
[last() - 1 > position()]
|
|
/preceding-sibling::xsl:variable | ."/>
|
|
|
|
<variable name="pattern">
|
|
<call-template name="coord-pattern">
|
|
<with-param name="element" select="$elements[1]"/>
|
|
</call-template>
|
|
</variable>
|
|
|
|
<variable name="parent-pattern">
|
|
<call-template name="coord-pattern">
|
|
<with-param name="element" select="$elements[1]/.."/>
|
|
</call-template>
|
|
</variable>
|
|
|
|
<XSL:for-each select="{$parent-pattern}/*">
|
|
<XSL:if test="count({$pattern} | .) = 1">
|
|
<variable name="is-xsl">
|
|
<call-template name="is-xsl">
|
|
<with-param name="element" select="$elements[1]"/>
|
|
</call-template>
|
|
</variable>
|
|
<choose>
|
|
<when test="$is-xsl = 'true'">
|
|
<apply-templates mode="copy-xsl" select="$elements[1]"/>
|
|
<if test="$elements[2]">
|
|
<call-template name="create-context">
|
|
<with-param name="elements" select="$elements[position() > 1]"/>
|
|
</call-template>
|
|
</if>
|
|
</when>
|
|
<otherwise>
|
|
<copy>
|
|
<apply-templates select="@*"/>
|
|
<if test="node()">
|
|
<XSL:apply-templates select="node()"/>
|
|
</if>
|
|
</copy>
|
|
</otherwise>
|
|
</choose>
|
|
</XSL:if>
|
|
</XSL:for-each>
|
|
</template>
|
|
|
|
<template name="before">
|
|
<param name="string"/>
|
|
<param name="target"/>
|
|
|
|
<variable name="apos">'</variable>
|
|
<variable name="quot">"</variable>
|
|
|
|
<variable name="posapos" select="string-length(substring-before(
|
|
concat($string, $apos), $apos))"/>
|
|
<variable name="posquot" select="string-length(substring-before(
|
|
concat($string, $quot), $quot))"/>
|
|
<variable name="postarg" select="string-length(substring-before(
|
|
concat($string, $target), $target))"/>
|
|
|
|
<choose>
|
|
<when test="$posapos = $postarg and $posquot = $postarg">
|
|
<value-of select="$string"/>
|
|
</when>
|
|
<when test="$posapos > $postarg and $posquot > $postarg">
|
|
<value-of select="substring($string, 1, $postarg)"/>
|
|
</when>
|
|
<otherwise>
|
|
<variable name="delim">
|
|
<choose>
|
|
<when test="$posquot > $posapos">'</when>
|
|
<otherwise>"</otherwise>
|
|
</choose>
|
|
</variable>
|
|
|
|
<value-of select="substring-before($string, $delim)"/>
|
|
<value-of select="$delim"/>
|
|
|
|
<variable name="mid" select="substring-after($string, $delim)"/>
|
|
|
|
<choose>
|
|
<when test="contains($mid, $delim)">
|
|
<value-of select="substring-before($mid, $delim)"/>
|
|
<value-of select="$delim"/>
|
|
|
|
<call-template name="before">
|
|
<with-param name="string"
|
|
select="substring-after($mid, $delim)"/>
|
|
<with-param name="target"
|
|
select="$target"/>
|
|
</call-template>
|
|
</when>
|
|
<otherwise>
|
|
<value-of select="$mid"/>
|
|
</otherwise>
|
|
</choose>
|
|
</otherwise>
|
|
</choose>
|
|
</template>
|
|
|
|
<template name="avt">
|
|
<param name="string" select="."/>
|
|
|
|
<variable name="before1" select="substring-before(concat($string, '{'), '{')"/>
|
|
<variable name="len1" select="string-length($before1)"/>
|
|
|
|
<variable name="before2" select="substring-before(concat($string, '}}'), '}}')"/>
|
|
<variable name="len2" select="string-length($before2)"/>
|
|
|
|
<choose>
|
|
<when test="$before1 = $string and $before2 = $string">
|
|
<value-of select="$string"/>
|
|
</when>
|
|
<when test="$len2 < $len1">
|
|
<value-of select="$before2"/>
|
|
<text>}</text>
|
|
<call-template name="avt">
|
|
<with-param name="string" select="substring($string, $len2 + 3)"/>
|
|
</call-template>
|
|
</when>
|
|
<when test="substring($string, $len1 + 2, 1) = '{'">
|
|
<value-of select="$before1"/>
|
|
<text>{</text>
|
|
<call-template name="avt">
|
|
<with-param name="string" select="substring($string, $len1 + 3)"/>
|
|
</call-template>
|
|
</when>
|
|
<otherwise>
|
|
<variable name="mid" select="substring($string, $len1 + 2)"/>
|
|
<variable name="expr">
|
|
<call-template name="before">
|
|
<with-param name="string" select="$mid"/>
|
|
<with-param name="target">}</with-param>
|
|
</call-template>
|
|
</variable>
|
|
<value-of select="$before1"/>
|
|
<XSL:copy-of select="{$expr}"/>
|
|
<call-template name="avt">
|
|
<with-param name="string" select="substring($mid, string-length($expr) + 2)"/>
|
|
</call-template>
|
|
</otherwise>
|
|
</choose>
|
|
</template>
|
|
|
|
</transform>
|