app_segment_rule.xsd XML Schema File

The app_segment_rule.xsd XML schema file contains mapping rules that define the physical table to logical table mapping.

The following is an annotated version of the app_segment_rule.xsd XML schema file.

<?xml version="1.0" encoding="utf-8" ?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
 <xs:complexType name="alias_t">
  <xs:attribute name="aliasTableName" type="xs:string" use="required" /> 
 </xs:complexType>
 <xs:complexType name="aliasTableList_t">
  <xs:sequence>
   <xs:element name="AliasTable" type="alias_t" minOccurs="1" maxOccurs=
   "unbounded" /> 
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="subjectArea_t">
  <xs:attribute name="subjectAreaName" type="xs:string" use="required" />
  <xs:attribute name="table" type="xs:string" use="optional" /> 
 </xs:complexType>
 <xs:complexType name="subjectAreaList_t">
  <xs:sequence>
   <xs:element name="OTBISubjectArea" type="subjectArea_t" minOccurs="1"
   maxOccurs="unbounded" /> 
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="columnmapping_t">

<!-- voColumnName specifies the ADF view object column name -->

  <xs:attribute name="voColumnName" type="xs:string" use="required" />

<!-- logicalDimColumnName specifies the logical column name -->

  <xs:attribute name="logicalDimColumnName" type="xs:string" use="required" />
 </xs:complexType>
 <xs:complexType name="columnMappingsList_t">
  <xs:sequence>

<!-- ColumnMapping specifies the set of column mappings -->

   <xs:element name="ColumnMapping" type="columnmapping_t" minOccurs="1"
   maxOccurs="unbounded" /> 
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="tableName_t">
  <xs:attribute name="name" type="xs:string" /> 
 </xs:complexType>
 <xs:complexType name="relatedLogicalTablesList_t">
  <xs:sequence>
   <xs:element name="LogicalTable" type="tableName_t" minOccurs="1"
   maxOccurs="unbounded" /> 
  </xs:sequence>
 </xs:complexType>

<!-- Base VO to which DFF alias needs to be joined. -->

 <xs:complexType name="joinWith_t">
  <xs:attribute name="voName" type="xs:string" use="required"/>
 </xs:complexType>

<!-- Logical Dimension to which DFF alias needs to be mapped. -->

 <xs:complexType name="mapTo_t">
  <xs:attribute name="logTabName" type="xs:string" use="required"/>
 </xs:complexType>

<!-- Specifies DFF alias name. -->

 <xs:complexType name="createAlias_t">
  <xs:sequence>
   <xs:element name="JoinWith" type="joinWith_t" minOccurs="1"
   maxOccurs="unbounded"/>
   <xs:element name="MapTo" type="mapTo_t" minOccurs="1" maxOccurs="unbounded"/>
  </xs:sequence>

<!-- Specifies DFF alias name. -->

  <xs:attribute name="name" type="xs:string" use="required"/>
 </xs:complexType>

<!-- Specifies set of LTSes. -->

 <xs:complexType name="ltsObject_t">
  <xs:attribute name="ltsName" type="xs:string"/>
 </xs:complexType>
  <xs:complexType name="ltsObjects_t">
  <xs:sequence>
   <xs:element name="Lts" type="ltsObject_t" minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="labelToDimMap_t">
  <xs:sequence>

<!-- For mapping the _ and _c suffixed value and value set columns in the code,
combine flattened fact view objectS corresponding to the segment mapped to the
logical table -->

   <xs:element name="FlattenedFlexVOColumnMappings" type="columnMappingsList_t"
   minOccurs="0" maxOccurs="1" />

<!-- TableSpecificColumnMappingOverrides is for future use -->

   <xs:element name="TableSpecificColumnMappingOverrides"
   type="columnMappingsList_t" minOccurs="0" maxOccurs="1" />

<!-- TableSpecificOTBISubjectAreas specifies the Oracle Transactional Business
Intelligence subjects areas. The unqualified segment Logical Tables Dim - GL
Segment 1 - 10 are dragged to these subject areas. For other use cases, specify
your own repository subject areas. -->

   <xs:element name="TableSpecificOTBISubjectAreas" type="subjectAreaList_t"
   minOccurs="0" maxOccurs="1" />

<!-- DFFBaseVOAliases specifies the alias view objects of the base view object
mapped to the same logical table. For each of these view objects, the
Administration Tool creates an alias of the DFF view object and joins it to the
base view object alias. -->

   <xs:element name="DFFBaseVOAliases" type="aliasTableList_t" minOccurs="0"
   maxOccurs="1" />
  </xs:sequence>

<!-- RelatedLogicalTables specifies the list of logical tables to which the DFF
view object must be mapped in addition to the logical table mentioned in the 
logicalDimTableName attribute. --> 
 
   <xs:element name="RelatedLogicalTables" type="relatedLogicalTablesList_t"
   minOccurs="0" maxOccurs="1" /> 

<!-- Use this tag to create an alias of the VO, join it with several other
VOs, and map to a specified set of logical tables-->
   <xs:element name="CreateAlias" type="createAlias_t" 
   minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>

<!-- segmentLabelName is for future use -->

  <xs:attribute name="segmentLabelName" type="xs:string" use="optional" />

<!-- logicalDimTableName specifies the logical table to which the ADF view object
is mapped. ADF database properties contain the mapping between the ADF view object 
("BIObject_'ADF VO Name'") and logical table mentioned here. -->

  <xs:attribute name="logicalDimTableName" type="xs:string" use="required" />

<!-- In role playing dimensions, the logical table specified in the
roleMasterLogicalTableName attribute is used as the master logical table. Whenever
the master logical table is mapped to a view object, the alias of this view object
is created and joined to the table referenced in the flattenedFlexVORoleAlias
attribute. The alias table name is "{ADF_VO_Name}_{Role_Playing_Logical_Table_
Name}". Logical columns are mapped to the columns of this alias table. -->

  <xs:attribute name="roleMasterLogicalTableName" type="xs:string"
  use="optional" />

<!-- flattenedFlexVORoleAlias specifies the flattened view object alias that needs
to be joined with the role playing view object alias table. -->

  <xs:attribute name="flattenedFlexVORoleAlias" type="xs:string" use="optional" /> 
 </xs:complexType>

<!-- The root element for the mapping rule document -->

 <xs:complexType name="mappingRules_t">
  <xs:sequence>

<!-- List of LTSes to be Disabled -->
   <xs:element name="LTSToBeDisabled" type="ltsObjects_t" minOccurs="0" maxOccurs="1"/> 

<!-- GlobalColumnMappings is for future use -->

   <xs:element name="GlobalColumnMappings" type="columnMappingsList_t"
   minOccurs="0" maxOccurs="1" />

<!-- GlobalOTBISubjectAreas specifies the Oracle Transactional Business
Intelligence subject areas. The unqualified segment Logical Tables Dim - GL
Segment 1 - 10 are dragged to these subject areas. The rules specified here apply
to all logical tables. For other use cases, specify your own subject areas. -->

   <xs:element name="GlobalOTBISubjectAreas" type="subjectAreaList_t"
   minOccurs="0" maxOccurs="1" />

<!-- LabelToDimensionMappings specifies the rules for a logical table -->

   <xs:element name="LabelToDimensionMappings" type="labelToDimMap_t"
   minOccurs="0" maxOccurs="unbounded" />
  </xs:sequence>

<!-- appName is the ADF Module Name from where the ADF view objects are imported. It is also used as a key for reading the properties from the ADF database. It is
sometimes known as the Category or Module Name. -->

  <xs:attribute name="appName" type="xs:string" use="required" />

<!-- businessModelName specifies the business model in the Business Model and
Mapping layer. The ADF view objects are mapped to the logical tables in this
business model. The default business model is "Core." -->

  <xs:attribute name="businessModelName" type="xs:string" default="Core"
   use="optional" />

<!-- flattenedFlexLogicalTable specifies the logical table to which the flattened
fact view object for the KFF needs to map -->

  <xs:attribute name="flattenedFlexLogicalTable" type="xs:string"
  use="optional" /> 

<!-- Determines whether VOs under this AM needs to be submitted for 
ETL extension -->

  <xs:attribute name="isETLSupported" type="xs:boolean" use="optional"/>

<!-- Specifies the unqualified Dimension Prefix for the AM -->

  <xs:attribute name="unqualifiedDimensionPrefix" type="xs:string"
  use="optional"/> 

 </xs:complexType>

<!-- This is the actual element declaration for the entire Document. -->
 
 <xs:element name="document">
  <xs:complexType>
   <xs:sequence>

<!--  MappingRules specifies the set of rules. -->

    <xs:element name="MappingRules" type="mappingRules_t" minOccurs="0"
    maxOccurs="unbounded" /> 
   </xs:sequence>
  </xs:complexType>
 </xs:element>
</xs:schema>