MINI MINI MANI MO
<?xml version="1.0"?>
<!--
Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
NAME
kumodcom.xsl
DESCRIPTION
XSLT stylesheet for common MODIFY functions
NOTES
Do NOT modify this file under any circumstance. Copy the file
if you wish to use this stylesheet with an external XML/XSL parser
MODIFIED MM/DD/YY
jjanosik 06/22/16 - bug 23561567 - Add USER_NAME to the list of
modified RemapSchema elements
jjanosik 02/01/16 - bug 20317926 - save the old schema name when
remapping
tbhukya 02/07/15 - Bug 19812662: Add SubstQuot template
tbhukya 01/05/15 - Bug 20319428: Declare referred params
lbarton 03/13/14 - bug 18391893: REMAP_CONSTRAINT_NAME
lbarton 03/04/14 - bug 8322658: make REMAP_NAME apply to constraint
name in table
lbarton 01/02/14 - bug 17943479: REMAP_SCHEMA for virtual cols
bwright 08/16/13 - Bug 17312600: Remove hard tabs from DP src code
dvekaria 09/06/12 - Bug 13898338: Use correct label for POLICY_OWNER.
lbarton 03/29/12 - 36954_dpump_tabcluster_zonemap
rapayne 10/24/11 - add POLICY_OWNER and POLICY_NAME template list
lbarton 09/01/10 - project 30934: export views as tables
rapayne 10/07/09 - cm_sync: ensure OWNER_NAME2 gets remapped as well
as OWNER_NAME.
htseng 02/28/07 - bug 5908340: remap ref_constraint name
htseng 02/09/07 - bug 5865356: remap constraint name
htseng 02/01/07 - bug 5763926: remap_table in bitmap index
lbarton 01/26/06 - REMAP_NAME
lbarton 11/02/05 - Bug 4715313: reformat files for use with XMLSpy
lbarton 07/12/04 - Lrg 1714666: don't remap typeowner SYS
lbarton 07/30/03 - Bug 3045926: remap_schema remaps grantor
lbarton 07/10/02 - lbarton_mdapi_modify_transform
lbarton 06/07/02 - Created
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- Top-level parameters -->
<xsl:param name="OBJECT_ROW1">0</xsl:param>
<xsl:param name="OBJECT_ROW2">0</xsl:param>
<xsl:param name="OBJECT_ROW3">0</xsl:param>
<xsl:param name="OBJECT_ROW4">0</xsl:param>
<xsl:param name="OBJECT_ROW5">0</xsl:param>
<xsl:param name="OBJECT_ROW6">0</xsl:param>
<xsl:param name="OBJECT_ROW7">0</xsl:param>
<xsl:param name="OBJECT_ROW8">0</xsl:param>
<xsl:param name="OBJECT_ROW9">0</xsl:param>
<xsl:param name="OBJECT_ROW10">0</xsl:param>
<xsl:param name="REMAP_SCHEMAO1" select="''"/>
<xsl:param name="REMAP_SCHEMAN1" select="''"/>
<xsl:param name="REMAP_SCHEMAO2" select="''"/>
<xsl:param name="REMAP_SCHEMAN2" select="''"/>
<xsl:param name="REMAP_SCHEMAO3" select="''"/>
<xsl:param name="REMAP_SCHEMAN3" select="''"/>
<xsl:param name="REMAP_SCHEMAO4" select="''"/>
<xsl:param name="REMAP_SCHEMAN4" select="''"/>
<xsl:param name="REMAP_SCHEMAO5" select="''"/>
<xsl:param name="REMAP_SCHEMAN5" select="''"/>
<xsl:param name="REMAP_SCHEMAO6" select="''"/>
<xsl:param name="REMAP_SCHEMAN6" select="''"/>
<xsl:param name="REMAP_SCHEMAO7" select="''"/>
<xsl:param name="REMAP_SCHEMAN7" select="''"/>
<xsl:param name="REMAP_SCHEMAO8" select="''"/>
<xsl:param name="REMAP_SCHEMAN8" select="''"/>
<xsl:param name="REMAP_SCHEMAO9" select="''"/>
<xsl:param name="REMAP_SCHEMAN9" select="''"/>
<xsl:param name="REMAP_SCHEMAO10" select="''"/>
<xsl:param name="REMAP_SCHEMAN10" select="''"/>
<xsl:param name="REMAP_NAMEO1" select="''"/>
<xsl:param name="REMAP_NAMEN1" select="''"/>
<xsl:param name="REMAP_NAMEO2" select="''"/>
<xsl:param name="REMAP_NAMEN2" select="''"/>
<xsl:param name="REMAP_NAMEO3" select="''"/>
<xsl:param name="REMAP_NAMEN3" select="''"/>
<xsl:param name="REMAP_NAMEO4" select="''"/>
<xsl:param name="REMAP_NAMEN4" select="''"/>
<xsl:param name="REMAP_NAMEO5" select="''"/>
<xsl:param name="REMAP_NAMEN5" select="''"/>
<xsl:param name="REMAP_NAMEO6" select="''"/>
<xsl:param name="REMAP_NAMEN6" select="''"/>
<xsl:param name="REMAP_NAMEO7" select="''"/>
<xsl:param name="REMAP_NAMEN7" select="''"/>
<xsl:param name="REMAP_NAMEO8" select="''"/>
<xsl:param name="REMAP_NAMEN8" select="''"/>
<xsl:param name="REMAP_NAMEO9" select="''"/>
<xsl:param name="REMAP_NAMEN9" select="''"/>
<xsl:param name="REMAP_NAMEO10" select="''"/>
<xsl:param name="REMAP_NAMEN10" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEO1" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEN1" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEO2" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEN2" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEO3" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEN3" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEO4" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEN4" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEO5" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEN5" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEO6" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEN6" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEO7" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEN7" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEO8" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEN8" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEO9" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEN9" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEO10" select="''"/>
<xsl:param name="REMAP_CONSTRAINT_NAMEN10" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEO1" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEN1" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEO2" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEN2" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEO3" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEN3" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEO4" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEN4" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEO5" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEN5" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEO6" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEN6" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEO7" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEN7" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEO8" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEN8" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEO9" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEN9" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEO10" select="''"/>
<xsl:param name="REMAP_TYPE_NAMEN10" select="''"/>
<!-- Templates -->
<xsl:template match="@*|node()">
<!-- *******************************************************************
copy everything from the input file
******************************************************************** -->
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="ROW">
<!-- *******************************************************************
Template: ROW
If the user specified OBJECT_ROW to select only certain rows,
this template screens out all rows except those selected.
Usually nothing is specified and OBJECT_ROW1 has its default value 0.
The default is to copy all rows to the output doc.
******************************************************************** -->
<xsl:if test="$OBJECT_ROW1=0 or
($OBJECT_ROW1!=0 and position()=$OBJECT_ROW1) or
($OBJECT_ROW2!=0 and position()=$OBJECT_ROW2) or
($OBJECT_ROW3!=0 and position()=$OBJECT_ROW3) or
($OBJECT_ROW4!=0 and position()=$OBJECT_ROW4) or
($OBJECT_ROW5!=0 and position()=$OBJECT_ROW5) or
($OBJECT_ROW6!=0 and position()=$OBJECT_ROW6) or
($OBJECT_ROW7!=0 and position()=$OBJECT_ROW7) or
($OBJECT_ROW8!=0 and position()=$OBJECT_ROW8) or
($OBJECT_ROW9!=0 and position()=$OBJECT_ROW9) or
($OBJECT_ROW10!=0 and position()=$OBJECT_ROW10)">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:if>
</xsl:template>
<xsl:template match="TYPEMD/SCHEMA_OBJ/OWNER_NAME | TYPEMD/OWNER_NAME">
<!-- *******************************************************************
Template: OWNER_NAME for type metadata
This template does NOT remap typeowner SYS
******************************************************************** -->
<xsl:choose>
<xsl:when test=".='SYS'">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="RemapSchema">
<xsl:with-param name="Val" select="."/>
<xsl:with-param name="Elem" select="name()"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="OWNER_NAME | OWNER_NAME2 | GRANTEE | GRANTOR | IMPSCHEMA | PFSCHMA | INDTYPE_OWNER | PARENT_OWNER | SCLASS_OWNER | POWNER | SCHEMA | USER_NAME">
<!-- *******************************************************************
Template: OWNER_NAME | OWNER_NAME2... - remap the owner name elements
******************************************************************** -->
<xsl:call-template name="RemapSchema">
<xsl:with-param name="Val" select="."/>
<xsl:with-param name="Elem" select="name()"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="SCHEMA_OBJ/NAME | BASE_OBJ/NAME | SYNONYM_T/NAME | ROLLBACK_T/NAME | JIJOIN_TABS_ITEM/NAME | CONSTRAINT_T/CON0/NAME | CONSTRAINT_T/CON1/NAME | REF_CONSTRAINT_T/CON2/NAME | POLICY_NAME | XS_OBJ/NAME | CLSTJOIN_ITEM/TAB1/NAME | CLSTJOIN_ITEM/TAB2/NAME">
<!-- *******************************************************************
Template: SCHEMA_OBJ/NAME |BASE_OBJ/NAME - remap object/base object name
SYNONYM_T/NAME - object denoted by the synonym
TABLESPACE_T/NAME - tablespace name
ROLLBACK_T/NAME - rollback segment name
JIJOIN_TABS_ITEM/NAME - bitmap join index
CONSTRAINT_T/CON0/NAME - constraint name
CONSTRAINT_T/CON1/NAME - constraint name
REF_CONSTRAINT_T/CON2/NAME - ref constraint name
POLICY_NAME - Triton security policy name
XS_OBJ/NAME
CLSTJOIN_ITEM/TABn/NAME - name in clustering join clause
******************************************************************** -->
<xsl:choose>
<xsl:when test="string-length($REMAP_NAMEO1)=0">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="RemapName">
<xsl:with-param name="Val" select="."/>
<xsl:with-param name="Elem" select="name()"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="CON0_LIST_ITEM/NAME | CON1_LIST_ITEM/NAME | CON1_LIST_ITEM/IND/SCHEMA_OBJ/NAME">
<!-- *******************************************************************
Template:
CON0_LIST_ITEM/NAME - constraint name in table definition
CON1_LIST_ITEM/NAME - constraint name in table definition
CON1_LIST_ITEM/IND/SCHEMA_OBJ/NAME - index for constraint
******************************************************************** -->
<xsl:choose>
<xsl:when test="string-length($REMAP_CONSTRAINT_NAMEO1)=0">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="RemapConstraintName">
<xsl:with-param name="Val" select="."/>
<xsl:with-param name="Elem" select="name()"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="LONG_NAME | MVIEW/VNAME |MVIEWLOG/MASTER | SYN_LONG_NAME | OBJ_LONG_NAME | XS_OBJ/NAME">
<!-- *******************************************************************
Template: LONG_NAME - remap object longname
******************************************************************** -->
<xsl:call-template name="RemapName">
<xsl:with-param name="Val" select="."/>
<xsl:with-param name="Elem" select="name()"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="TYPE_NAME">
<!-- *******************************************************************
Template: TYPE_NAME - remap object type name
******************************************************************** -->
<xsl:call-template name="RemapTypeName">
<xsl:with-param name="Val" select="."/>
<xsl:with-param name="Elem" select="name()"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="RemapSchema">
<xsl:param name="Val"/>
<xsl:param name="Elem"/>
<!-- *******************************************************************
Template: RemapSchema - common remap schema template
Parameters:
Val = current owner name value
Elem = element node to remap (e.g., OWNER_NAME, OWNER_NAME2, etc.)
******************************************************************** -->
<xsl:choose>
<xsl:when test="string-length($REMAP_SCHEMAO1)=0">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:when>
<xsl:when test="$Val=$REMAP_SCHEMAO1">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_SCHEMAN1"/>
</xsl:element>
<xsl:if test="$Elem='OWNER_NAME'">
<xsl:element name="OLD_OWNER_NAME">
<xsl:value-of select="$REMAP_SCHEMAO1"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:when test="$Val=$REMAP_SCHEMAO2">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_SCHEMAN2"/>
</xsl:element>
<xsl:if test="$Elem='OWNER_NAME'">
<xsl:element name="OLD_OWNER_NAME">
<xsl:value-of select="$REMAP_SCHEMAO2"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:when test="$Val=$REMAP_SCHEMAO3">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_SCHEMAN3"/>
</xsl:element>
<xsl:if test="$Elem='OWNER_NAME'">
<xsl:element name="OLD_OWNER_NAME">
<xsl:value-of select="$REMAP_SCHEMAO3"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:when test="$Val=$REMAP_SCHEMAO4">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_SCHEMAN4"/>
</xsl:element>
<xsl:if test="$Elem='OWNER_NAME'">
<xsl:element name="OLD_OWNER_NAME">
<xsl:value-of select="$REMAP_SCHEMAO4"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:when test="$Val=$REMAP_SCHEMAO5">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_SCHEMAN5"/>
</xsl:element>
<xsl:if test="$Elem='OWNER_NAME'">
<xsl:element name="OLD_OWNER_NAME">
<xsl:value-of select="$REMAP_SCHEMAO5"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:when test="$Val=$REMAP_SCHEMAO6">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_SCHEMAN6"/>
</xsl:element>
<xsl:if test="$Elem='OWNER_NAME'">
<xsl:element name="OLD_OWNER_NAME">
<xsl:value-of select="$REMAP_SCHEMAO6"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:when test="$Val=$REMAP_SCHEMAO7">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_SCHEMAN7"/>
</xsl:element>
<xsl:if test="$Elem='OWNER_NAME'">
<xsl:element name="OLD_OWNER_NAME">
<xsl:value-of select="$REMAP_SCHEMAO7"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:when test="$Val=$REMAP_SCHEMAO8">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_SCHEMAN8"/>
</xsl:element>
<xsl:if test="$Elem='OWNER_NAME'">
<xsl:element name="OLD_OWNER_NAME">
<xsl:value-of select="$REMAP_SCHEMAO8"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:when test="$Val=$REMAP_SCHEMAO9">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_SCHEMAN9"/>
</xsl:element>
<xsl:if test="$Elem='OWNER_NAME'">
<xsl:element name="OLD_OWNER_NAME">
<xsl:value-of select="$REMAP_SCHEMAO9"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:when test="$Val=$REMAP_SCHEMAO10">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_SCHEMAN10"/>
</xsl:element>
<xsl:if test="$Elem='OWNER_NAME'">
<xsl:element name="OLD_OWNER_NAME">
<xsl:value-of select="$REMAP_SCHEMAO10"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="RemapName">
<xsl:param name="Val"/>
<xsl:param name="Elem"/>
<!-- *******************************************************************
Template: RemapName - common remap name template
Parameters:
Val = current owner name value
Elem = element node to remap (e.g., LONG_NAME, OBJ_LONG_NAMEetc.)
******************************************************************** -->
<xsl:choose>
<xsl:when test="$Val=$REMAP_NAMEO1">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN1"/>
</xsl:element>
<xsl:if test="$Elem='NAME'">
<xsl:element name="OLD_NAME">
<xsl:value-of select="$REMAP_NAMEO1"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:when test="$Val=$REMAP_NAMEO2">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN2"/>
</xsl:element>
<xsl:if test="$Elem='NAME'">
<xsl:element name="OLD_NAME">
<xsl:value-of select="$REMAP_NAMEO2"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:when test="$Val=$REMAP_NAMEO3">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN3"/>
</xsl:element>
<xsl:if test="$Elem='NAME'">
<xsl:element name="OLD_NAME">
<xsl:value-of select="$REMAP_NAMEO3"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:when test="$Val=$REMAP_NAMEO4">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN4"/>
</xsl:element>
<xsl:if test="$Elem='NAME'">
<xsl:element name="OLD_NAME">
<xsl:value-of select="$REMAP_NAMEO4"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:when test="$Val=$REMAP_NAMEO5">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN5"/>
</xsl:element>
<xsl:if test="$Elem='NAME'">
<xsl:element name="OLD_NAME">
<xsl:value-of select="$REMAP_NAMEO5"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:when test="$Val=$REMAP_NAMEO6">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN6"/>
</xsl:element>
<xsl:if test="$Elem='NAME'">
<xsl:element name="OLD_NAME">
<xsl:value-of select="$REMAP_NAMEO6"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:when test="$Val=$REMAP_NAMEO7">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN7"/>
</xsl:element>
<xsl:if test="$Elem='NAME'">
<xsl:element name="OLD_NAME">
<xsl:value-of select="$REMAP_NAMEO7"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:when test="$Val=$REMAP_NAMEO8">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN8"/>
</xsl:element>
<xsl:if test="$Elem='NAME'">
<xsl:element name="OLD_NAME">
<xsl:value-of select="$REMAP_NAMEO8"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:when test="$Val=$REMAP_NAMEO9">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN9"/>
</xsl:element>
<xsl:if test="$Elem='NAME'">
<xsl:element name="OLD_NAME">
<xsl:value-of select="$REMAP_NAMEO9"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:when test="$Val=$REMAP_NAMEO10">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN10"/>
</xsl:element>
<xsl:if test="$Elem='NAME'">
<xsl:element name="OLD_NAME">
<xsl:value-of select="$REMAP_NAMEO10"/>
</xsl:element>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="RemapTypeName">
<xsl:param name="Val"/>
<xsl:param name="Elem"/>
<!-- *******************************************************************
Template: RemapTypeName - common remap type name template
Parameters:
Val = current owner name value
Elem = element node to remap (TYPE_NAME)
******************************************************************** -->
<xsl:choose>
<xsl:when test="$Val=$REMAP_TYPE_NAMEO1">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_TYPE_NAMEN1"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_TYPE_NAMEO2">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_TYPE_NAMEN2"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_TYPE_NAMEO3">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_TYPE_NAMEN3"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_TYPE_NAMEO4">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_TYPE_NAMEN4"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_TYPE_NAMEO5">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_TYPE_NAMEN5"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_TYPE_NAMEO6">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_TYPE_NAMEN6"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_TYPE_NAMEO7">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_TYPE_NAMEN7"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_TYPE_NAMEO8">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_TYPE_NAMEN8"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_TYPE_NAMEO9">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_TYPE_NAMEN9"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_TYPE_NAMEO10">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_TYPE_NAMEN10"/>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="RemapConstraintName">
<xsl:param name="Val"/>
<xsl:param name="Elem"/>
<!-- *******************************************************************
Template: RemapConstraintName - common remap constraint name template
Parameters:
Val = current owner name value
Elem = element node to remap
******************************************************************** -->
<xsl:choose>
<xsl:when test="$Val=$REMAP_CONSTRAINT_NAMEO1">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_CONSTRAINT_NAMEN1"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_CONSTRAINT_NAMEO2">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_CONSTRAINT_NAMEN2"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_CONSTRAINT_NAMEO3">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_CONSTRAINT_NAMEN3"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_CONSTRAINT_NAMEO4">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_CONSTRAINT_NAMEN4"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_CONSTRAINT_NAMEO5">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_CONSTRAINT_NAMEN5"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_CONSTRAINT_NAMEO6">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_CONSTRAINT_NAMEN6"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_CONSTRAINT_NAMEO7">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_CONSTRAINT_NAMEN7"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_CONSTRAINT_NAMEO8">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_CONSTRAINT_NAMEN8"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_CONSTRAINT_NAMEO9">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_CONSTRAINT_NAMEN9"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_CONSTRAINT_NAMEO10">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_CONSTRAINT_NAMEN10"/>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- output string, converting QUOTE_SYMBOL. This template is same as SubstQuot
in kucommon.xsl for DDL transform. -->
<xsl:template name="SubstQuot">
<xsl:param name="String" select="''"/>
<xsl:variable name="Remain" select='substring-after($String,"&")'/>
<!-- *******************************************************************
Template: SubstQuot
Parameters:
String - string to output, which may have replaced double quotes
(to pass the string as a transform parameter).
Substitution :
" -> "
******************************************************************** -->
<xsl:choose>
<xsl:when test="string-length($Remain)>0">
<xsl:value-of select='substring-before($String,"&")'/>
<xsl:choose>
<xsl:when test='substring($Remain,1,4)="amp;"'>
<xsl:text>&</xsl:text>
<xsl:call-template name="SubstQuot">
<xsl:with-param name="String" select="substring($Remain,5)"/>
</xsl:call-template>
</xsl:when>
<xsl:when test='substring($Remain,1,5)="quot;"'>
<xsl:text>"</xsl:text>
<xsl:call-template name="SubstQuot">
<xsl:with-param name="String" select="substring($Remain,6)"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<!-- We really shouldn't get here. If we do, it means we are doing
SubstQuot on a string which had not undergone quote substitution.
So we'll just produce the '$' and copy out the remaining string -->
<xsl:text>&</xsl:text>
<xsl:value-of select="$Remain"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$String"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
OHA YOOOO