MINI MINI MANI MO
<?xml version="1.0"?>
<!-- Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. -->
<!--
NAME
kuemodtb.xsl
DESCRIPTION
XSLT stylesheet to modify Diff Document when used as input to kuetable.xsl
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
lbarton 03/12/13 - lrg 8879853: add REMAP_NAME parameter to
MODIFYSTREAMSXML
rapayne 02/21/13 - add support for REMAP_SCHEMA.
lbarton 01/15/13 - bug 14202396: implement REMAP_COLUMN_NAME in MODIFY
transform
lbarton 01/15/13 - creation
-->
<xsl:stylesheet version="1.0" xmlns:sxml="http://xmlns.oracle.com/ku" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Top-level parameters -->
<xsl:param name="REMAP_COLUMN_NAMEO1" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEN1" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEO2" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEN2" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEO3" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEN3" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEO4" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEN4" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEO5" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEN5" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEO6" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEN6" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEO7" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEN7" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEO8" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEN8" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEO9" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEN9" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEO10" select="''"/>
<xsl:param name="REMAP_COLUMN_NAMEN10" select="''"/>
<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="''"/>
<!-- 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="sxml:RELATIONAL_TABLE/sxml:COL_LIST/sxml:COL_LIST_ITEM/sxml:NAME">
<!-- *******************************************************************
Template: sxml:RELATIONAL_TABLE/sxml:COL_LIST/sxml:COL_LIST_ITEM/sxml:NAME
This is used to insert a REMAP_COLUMN_NAME element
containing the desired new name.
******************************************************************** -->
<xsl:choose>
<xsl:when test="string-length($REMAP_COLUMN_NAMEO1)=0">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="RemapColumnName">
<xsl:with-param name="Val" select="."/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="RemapColumnName">
<xsl:param name="Val"/>
<!-- *******************************************************************
Template: RemapColumnName - common remap column name template
Parameters:
Val = current owner name value
The existing element is left alone.
A new REMAP_COLUMN_NAME element is inserted with the remapped value.
******************************************************************** -->
<xsl:choose>
<xsl:when test="$Val=$REMAP_COLUMN_NAMEO1">
<xsl:element name="REMAP_COLUMN_NAME">
<xsl:value-of select="$REMAP_COLUMN_NAMEN1"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_COLUMN_NAMEO2">
<xsl:element name="REMAP_COLUMN_NAME">
<xsl:value-of select="$REMAP_COLUMN_NAMEN2"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_COLUMN_NAMEO3">
<xsl:element name="REMAP_COLUMN_NAME">
<xsl:value-of select="$REMAP_COLUMN_NAMEN3"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_COLUMN_NAMEO4">
<xsl:element name="REMAP_COLUMN_NAME">
<xsl:value-of select="$REMAP_COLUMN_NAMEN4"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_COLUMN_NAMEO5">
<xsl:element name="REMAP_COLUMN_NAME">
<xsl:value-of select="$REMAP_COLUMN_NAMEN5"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_COLUMN_NAMEO6">
<xsl:element name="REMAP_COLUMN_NAME">
<xsl:value-of select="$REMAP_COLUMN_NAMEN6"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_COLUMN_NAMEO7">
<xsl:element name="REMAP_COLUMN_NAME">
<xsl:value-of select="$REMAP_COLUMN_NAMEN7"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_COLUMN_NAMEO8">
<xsl:element name="REMAP_COLUMN_NAME">
<xsl:value-of select="$REMAP_COLUMN_NAMEN8"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_COLUMN_NAMEO9">
<xsl:element name="REMAP_COLUMN_NAME">
<xsl:value-of select="$REMAP_COLUMN_NAMEN9"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_COLUMN_NAMEO10">
<xsl:element name="REMAP_COLUMN_NAME">
<xsl:value-of select="$REMAP_COLUMN_NAMEN10"/>
</xsl:element>
</xsl:when>
</xsl:choose>
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="MOWNER">
<xsl:choose>
<xsl:when test=".=$REMAP_SCHEMAO1">
<MOWNER>
<xsl:value-of select="$REMAP_SCHEMAN1"/>
</MOWNER>
</xsl:when>
<xsl:when test=".=$REMAP_SCHEMAO2">
<MOWNER>
<xsl:value-of select="$REMAP_SCHEMAN2"/>
</MOWNER>
</xsl:when>
<xsl:when test=".=$REMAP_SCHEMAO3">
<MOWNER>
<xsl:value-of select="$REMAP_SCHEMAN3"/>
</MOWNER>
</xsl:when>
<xsl:when test=".=$REMAP_SCHEMAO4">
<MOWNER>
<xsl:value-of select="$REMAP_SCHEMAN4"/>
</MOWNER>
</xsl:when>
<xsl:when test=".=$REMAP_SCHEMAO5">
<MOWNER>
<xsl:value-of select="$REMAP_SCHEMAN5"/>
</MOWNER>
</xsl:when>
<xsl:when test=".=$REMAP_SCHEMAO6">
<MOWNER>
<xsl:value-of select="$REMAP_SCHEMAN6"/>
</MOWNER>
</xsl:when>
<xsl:when test=".=$REMAP_SCHEMAO7">
<MOWNER>
<xsl:value-of select="$REMAP_SCHEMAN7"/>
</MOWNER>
</xsl:when>
<xsl:when test=".=$REMAP_SCHEMAO8">
<MOWNER>
<xsl:value-of select="$REMAP_SCHEMAN8"/>
</MOWNER>
</xsl:when>
<xsl:when test=".=$REMAP_SCHEMAO9">
<MOWNER>
<xsl:value-of select="$REMAP_SCHEMAN9"/>
</MOWNER>
</xsl:when>
<xsl:when test=".=$REMAP_SCHEMAO10">
<MOWNER>
<xsl:value-of select="$REMAP_SCHEMAN10"/>
</MOWNER>
</xsl:when>
<xsl:otherwise>
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="SOWNER">
<xsl:choose>
<xsl:when test=".=$REMAP_SCHEMAO1">
<SOWNER>
<xsl:value-of select="$REMAP_SCHEMAN1"/>
</SOWNER>
</xsl:when>
<xsl:when test=".=$REMAP_SCHEMAO2">
<SOWNER>
<xsl:value-of select="$REMAP_SCHEMAN2"/>
</SOWNER>
</xsl:when>
<xsl:when test=".=$REMAP_SCHEMAO3">
<SOWNER>
<xsl:value-of select="$REMAP_SCHEMAN3"/>
</SOWNER>
</xsl:when>
<xsl:when test=".=$REMAP_SCHEMAO4">
<SOWNER>
<xsl:value-of select="$REMAP_SCHEMAN4"/>
</SOWNER>
</xsl:when>
<xsl:when test=".=$REMAP_SCHEMAO5">
<SOWNER>
<xsl:value-of select="$REMAP_SCHEMAN5"/>
</SOWNER>
</xsl:when>
<xsl:when test=".=$REMAP_SCHEMAO6">
<SOWNER>
<xsl:value-of select="$REMAP_SCHEMAN6"/>
</SOWNER>
</xsl:when>
<xsl:when test=".=$REMAP_SCHEMAO7">
<SOWNER>
<xsl:value-of select="$REMAP_SCHEMAN7"/>
</SOWNER>
</xsl:when>
<xsl:when test=".=$REMAP_SCHEMAO8">
<SOWNER>
<xsl:value-of select="$REMAP_SCHEMAN8"/>
</SOWNER>
</xsl:when>
<xsl:when test=".=$REMAP_SCHEMAO9">
<SOWNER>
<xsl:value-of select="$REMAP_SCHEMAN9"/>
</SOWNER>
</xsl:when>
<xsl:when test=".=$REMAP_SCHEMAO10">
<SOWNER>
<xsl:value-of select="$REMAP_SCHEMAN10"/>
</SOWNER>
</xsl:when>
<xsl:otherwise>
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:otherwise>
</xsl:choose>
</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="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 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:when>
<xsl:when test="$Val=$REMAP_NAMEO2">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN2"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_NAMEO3">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN3"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_NAMEO4">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN4"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_NAMEO5">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN5"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_NAMEO6">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN6"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_NAMEO7">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN7"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_NAMEO8">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN8"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_NAMEO9">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN9"/>
</xsl:element>
</xsl:when>
<xsl:when test="$Val=$REMAP_NAMEO10">
<xsl:element name="{$Elem}">
<xsl:value-of select="$REMAP_NAMEN10"/>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
OHA YOOOO