1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/examples/Common/Candidate/Resources/candidate_init.xsl Fri Sep 30 22:54:17 2005 +0000
1.3 @@ -0,0 +1,59 @@
1.4 +<?xml version="1.0" encoding="utf-8"?>
1.5 +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
1.6 + version="1.0">
1.7 +
1.8 + <xsl:param name="status"/>
1.9 +
1.10 + <!-- Add or process status elements inside status elements. -->
1.11 +
1.12 + <xsl:template match="candidate">
1.13 + <!-- Copy the element and its contents. -->
1.14 + <xsl:copy>
1.15 + <xsl:apply-templates select="@*"/>
1.16 + <identity>
1.17 + <xsl:apply-templates select="identity/@*"/>
1.18 + </identity>
1.19 + <!-- Look for a status element. -->
1.20 + <xsl:call-template name="status"/>
1.21 + <skills>
1.22 + <xsl:apply-templates select="skills/*"/>
1.23 + </skills>
1.24 + <qualifications>
1.25 + <xsl:apply-templates select="qualifications/*"/>
1.26 + </qualifications>
1.27 + <experience>
1.28 + <xsl:apply-templates select="experience/*"/>
1.29 + </experience>
1.30 + </xsl:copy>
1.31 + </xsl:template>
1.32 +
1.33 + <!-- Investigate status elements. -->
1.34 +
1.35 + <xsl:template name="status">
1.36 + <!-- Make the element. -->
1.37 + <status>
1.38 + <xsl:apply-templates select="status/@*"/>
1.39 + <xsl:call-template name="status-enum"/>
1.40 + </status>
1.41 + </xsl:template>
1.42 +
1.43 + <!-- Add to status elements the range of acceptable values. -->
1.44 +
1.45 + <xsl:template name="status-enum">
1.46 + <!-- Find all values in the range and add them. -->
1.47 + <xsl:for-each select="$status/status/status-enum">
1.48 + <xsl:copy>
1.49 + <xsl:apply-templates select="@*"/>
1.50 + </xsl:copy>
1.51 + </xsl:for-each>
1.52 + </xsl:template>
1.53 +
1.54 + <!-- Replicate unknown elements. -->
1.55 +
1.56 + <xsl:template match="@*|*|node()">
1.57 + <xsl:copy>
1.58 + <xsl:apply-templates select="@*|*|node()"/>
1.59 + </xsl:copy>
1.60 + </xsl:template>
1.61 +
1.62 +</xsl:stylesheet>