MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/rdbms/xml/schema/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/rdbms/xml/schema/xsprin.xsd.11.1

<?xml version="1.0"?>
<!--
NAME
    xsprin.xsd
DESCRIPTION
   Register XS Principal Schema 

MODIFIED        MM/DD/YY
   rbhatti      11/01/07 - Schema cleanup for <any> tag
   rbhatti      10/16/07 - Schema change for roleType element
   sgul         03/20/07 - Schema change for Bug 5900813
   taahmed      03/12/07 - enable xml translation
   jnarasin     03/12/07 - Add scope attribute for dynamic role
   jsamuel      01/25/07 - Upgraded Principal Schema with user status attribute
   pknaggs      11/07/06 - Remove principal targetNamespace (bug 5632273)
   jsamuel      11/12/06 - merge sqlusertype with rootusertype
   pknaggs      11/07/06 - Make targetNamespace optional (bug 5632273)
   pthornto     09/14/06 - Initial version
 -->
<schema targetNamespace="http://xmlns.oracle.com/xs"
        xmlns="http://www.w3.org/2001/XMLSchema"
        xmlns:xdb="http://xmlns.oracle.com/xdb"
        xmlns:xdbprin="http://xmlns.oracle.com/xs"
        xmlns:xlink="http://www.w3.org/1999/xlink"
        xmlns:sc="http://xmlns.oracle.com/xs"
        elementFormDefault="qualified" version="1.0">

       <annotation>
        <documentation>
          Schema describes the structure of Principal, User, and Role documents.
        </documentation>
       </annotation>

       <import
         namespace="http://www.w3.org/XML/1998/namespace"
         schemaLocation="http://www.w3.org/2001/csx.xml.xsd"/>
       <import                                                  
         namespace="http://xmlns.oracle.com/xdb"
         schemaLocation="http://xmlns.oracle.com/xdb/csx.xmltr.xsd"/>   
       <import
         namespace="http://www.w3.org/1999/xlink"
         schemaLocation="http://www.w3.org/1999/csx.xlink.xsd"/>

       <complexType name="effectiveDatesType">
        <attribute name="start_date" type="dateTime" use="required"/>
        <attribute name="end_date" type="dateTime" use="optional"/> 
       </complexType>

       <complexType name="roleGrantType">
         <sequence>
         <element name="effectiveDates" type="xdbprin:effectiveDatesType" 
                        minOccurs="0" maxOccurs="1"/>
         </sequence>
         <attribute ref="xlink:type" use="required"/>
         <attribute ref="xlink:href" use="required"/>
         <attribute name="justification" type="string" use="optional"/>
       </complexType>

       <complexType name="principalType">
         <sequence>
         <element ref="sc:title" minOccurs="0" maxOccurs="unbounded" xdb:maxOccurs="1" xdb:translate="true"/>
         <element ref="sc:description" minOccurs="0" maxOccurs="unbounded" xdb:maxOccurs="1" xdb:translate="true"/>
         <element name="UID" type="integer" minOccurs="0" maxOccurs="1"/>
         <element name="GUID" type="hexBinary" minOccurs="0" maxOccurs="1"/>
         <element name="externalSource" type="string" minOccurs="0"/>
         <element name="roleGrant" type="xdbprin:roleGrantType" minOccurs="0"
                       maxOccurs="unbounded"/>
         </sequence>
       </complexType>

       <complexType name="proxyUserType">
           <sequence maxOccurs="unbounded">
             <element name="proxyRole" type="string"/>
           </sequence>
         <attribute name="user" type="anyURI" use="required"/>
       </complexType>

    

 <complexType name="userType">
         <complexContent>
           <extension base="xdbprin:principalType">
             <sequence>
               <element name="userName" type="string" minOccurs="1"/>
               <element name="proxyUser" type="xdbprin:proxyUserType" minOccurs="0" maxOccurs="unbounded"/>
               <element name="effectiveDates" type="xdbprin:effectiveDatesType" 
                        minOccurs="0" maxOccurs="1"/>
               <element name="schema" type="string" minOccurs="0" maxOccurs="1"/>
               <element name="tableSpace" type="string" minOccurs="0" maxOccurs="1"/>
               <element name="profile" type="string" minOccurs="0" maxOccurs="1"/>
               <element name="credential" type="string" minOccurs="0" maxOccurs="1"/>
               <element name="failedlogins" type="hexBinary" minOccurs="0" maxOccurs="1"/>
               <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
             </sequence>
             <attribute name="surName" type="string" use="optional"/>
             <attribute name="commonName" type="string" use="optional"/>
             <attribute name="DistinguishedName" type="string" use="optional"/>
             <attribute name="KerberosPrincipalName" type="string" use="optional"/>
             <attribute name="email" type="string" use="optional"/>
             <attribute name="audio" type="hexBinary" use="optional"/>
             <attribute name="businessCategory" type="string" use="optional"/>
             <attribute name="carLicense" type="string" use="optional"/>
             <attribute name="departmentNumber" type="string" use="optional"/>
             <attribute name="displayName" type="string" use="optional"/>
             <attribute name="employeeNumber" type="string" use="optional"/>
             <attribute name="employeeType" type="string" use="optional"/>
             <attribute name="givenName" type="string" use="optional"/>
             <attribute name="homePhone" type="string" use="optional"/>
             <attribute name="homePostalAddress" type="string" use="optional"/>
             <attribute name="initials" type="string" use="optional"/>
             <attribute name="jpegPhoto" type="hexBinary" use="optional"/>
             <attribute name="labeledURI" type="string" use="optional"/>
             <attribute name="mail" type="string" use="optional"/>
             <attribute name="manager" type="string" use="optional"/>
             <attribute name="mobile" type="string" use="optional"/>
             <attribute name="organization" type="string" use="optional"/>
             <attribute name="pager" type="string" use="optional"/>
             <attribute name="photo" type="string" use="optional"/>
             <attribute name="roomNumber" type="string" use="optional"/>
             <attribute name="secretary" type="string" use="optional"/>
             <attribute name="userCertificate" type="string" use="optional"/>
             <attribute name="x500uniqueIdentifier" type="string" use="optional"/>
             <attribute name="preferredLanguage" type="string" use="optional"/>
             <attribute name="userSMIMECertificate" type="string" use="optional"/>
             <attribute name="userPKCS12" type="string" use="optional"/>
             <attribute name="description" type="string" use="optional"/>
             <attribute name="destinationIndicator" type="string" use="optional"/>
             <attribute name="facsimileTelephoneNumber" type="string" use="optional"/>
             <attribute name="internationaliSDNNumber" type="string" use="optional"/>
             <attribute name="locality" type="string" use="optional"/>
             <attribute name="organizationalUnit" type="string" use="optional"/>
             <attribute name="physicalDeliveryOfficeName" type="string" use="optional"/>
             <attribute name="postalAddress" type="string" use="optional"/>
             <attribute name="postalCode" type="string" use="optional"/>
             <attribute name="postOfficeBox" type="string" use="optional"/>
             <attribute name="preferredDeliveryMethod" type="string" use="optional"/>
             <attribute name="registeredAddress" type="string" use="optional"/>
             <attribute name="seeAlso" type="string" use="optional"/>
             <attribute name="state" type="string" use="optional"/>
             <attribute name="street" type="string" use="optional"/>
             <attribute name="telephoneNumber" type="string" use="optional"/>
             <attribute name="teletexTerminalIdentifier" type="string" use="optional"/>
             <attribute name="telexNumber" type="string" use="optional"/>
             <attribute name="title" type="string" use="optional"/>
             <attribute name="x121Address" type="string" use="optional"/>     
             <attribute name="user_status">    
                <simpleType>       
                        <restriction base="string">      
                        <enumeration value="Active"/>       
                        <enumeration value="Inactive"/>
                        <enumeration value="PasswordExpired"/>
                        <enumeration value="Locked"/>
                </restriction>
                </simpleType>
            </attribute>                 
          </extension>
         </complexContent>
        </complexType>

       <complexType name="baseRoleType">
         <complexContent>
           <extension base="xdbprin:principalType">
            <sequence>
             <element name="name" type="string"/>
            </sequence>
           <attribute name="enable" type="boolean" default="false"/>
           </extension>
         </complexContent>
       </complexType>

       <complexType name="roleType">
         <complexContent>
           <extension base="xdbprin:baseRoleType">
            <sequence>
             <element name="effectiveDates" type="xdbprin:effectiveDatesType"
                             minOccurs="0"/>
             <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
            </sequence>
           </extension>
         </complexContent>
       </complexType>

       <complexType name="dynamicRoleType">
         <complexContent>
           <extension base="xdbprin:baseRoleType">
             <sequence>
              <element name="duration" type="integer" minOccurs="0"/>
              <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
             </sequence>
             <attribute name="system" type="boolean" default="false"/>
             <attribute name="scope" default="session">
               <simpleType>
                 <restriction base="string">
                   <enumeration value="session"/>
                   <enumeration value="request"/>
                 </restriction>
               </simpleType>
             </attribute>           
           </extension>
         </complexContent>
       </complexType>

       <complexType name="functionRoleType">
         <complexContent>
           <extension base="xdbprin:baseRoleType">
           <sequence>
             <element name="owner" type="string"/>
             <element name="packageName" type="string"/>
             <element name="functionName" type="string"/>
             <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
           </sequence>
           </extension>
         </complexContent>
       </complexType>

       <element name="title">
         <complexType>
           <simpleContent>
             <extension base="string">
               <attribute ref="xml:lang"/>
               <attribute ref="xdb:srclang"/>
             </extension>
           </simpleContent>
         </complexType>
       </element>
       <element name="description">
         <complexType>
           <simpleContent>
             <extension base="string">
               <attribute ref="xml:lang"/>
               <attribute ref="xdb:srclang"/>
             </extension>
           </simpleContent>
         </complexType>
       </element>

       <element name="principal" type="xdbprin:principalType" abstract="true" xdb:defaultTable="XS$PRINCIPALS"/>
       <element name="user" type="xdbprin:userType" substitutionGroup="xdbprin:principal" xdb:defaultTable="XS$PRINCIPALS"/>
       <element name="role" type="xdbprin:roleType" substitutionGroup="xdbprin:principal" xdb:defaultTable="XS$PRINCIPALS"/>
       <element name="functionRole" type="xdbprin:functionRoleType" substitutionGroup="xdbprin:principal"  xdb:defaultTable="XS$PRINCIPALS"/>
       <element name="dynamicRole" type="xdbprin:dynamicRoleType" substitutionGroup="xdbprin:principal" xdb:defaultTable="XS$PRINCIPALS"/>

</schema>

OHA YOOOO