MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/rdbms/xml/xsl/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/rdbms/xml/xsl/kumodcom.xsl

<?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,"&amp;")'/>
  <!-- *******************************************************************
Template: SubstQuot
Parameters:
 String - string to output, which may have replaced double quotes
          (to pass the string as a transform parameter).
Substitution :
 &quot -> "
******************************************************************** -->
  <xsl:choose>
   <xsl:when test="string-length($Remain)>0">
    <xsl:value-of select='substring-before($String,"&amp;")'/>
    <xsl:choose>
     <xsl:when test='substring($Remain,1,4)="amp;"'>
      <xsl:text>&amp;</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>&amp;</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