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/kuemodtb.xsl

<?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