C Resource Catalog Properties and Files

This appendix provides reference information about the configuration, location, and attributes of the default catalog definition file. This information is useful while performing the tasks described in Chapter 7, "Enabling Runtime Editing of Pages Using Oracle Composer."

This appendix includes the following sections:

C.1 Configuration and Location of Catalog Definitions

The rcv-config section of your adf-config.xml file defines the name of the default catalog. The rcv-config element is not available by default in your application's adf-config.xml file. You must add it if you want to change the name of the default catalog or, if you have chosen to implement multiple catalogs, specify a catalog selector class.

<rcv-config xmlns="http://xmlns.oracle.com/adf/rcs/viewer/adf-config">
  <catalog-selector class-name=""/>
  <default-catalog catalog-name="default-catalog"/>
</rcv-config>

The Resource Catalog service stores catalog definition files in MDS at the resource-catalog-root directory. The resource-catalog-root is defined as an MDS namespace, hence the exact location depends on your MDS configuration. The default resource-catalog-root is defined by the mds-package-prefix attribute in the adf-rcs-config element in your adf-config.xml:

<adf-rcs-config xmlns="http://xmlns.oracle.com/adf/rcs/adf-config>
 <rcs-config mds-package-prefix="/oracle/adf/rc/metadata"/>
</adf-rcs-config>

The default Resource Catalog root is defined as:

APPLICATION_ROOT/mds/oracle/adf/rc/metadata

When you create or access catalogs using the Resource Catalog service APIs, the fully qualified MDS reference for the catalog (its storage location in the MDS repository) is dynamically constructed by appending the catalog identifier to the resource-catalog-root as follows:

resource-catalog-root/catalog_id.xml

If the value of resource-catalog-root is /oracle/adf/rc/metadata then all your catalog definitions must be stored within the /oracle/adf/rc/metadata MDS package.

If you create a catalog definition file and save it in MDS at /oracle/adf/rc/metadata/myFirstCatalog.xml, then that catalog's identifier would be myFirstCatalog. If this is to be the default catalog for your application, then catalog-name should be set to myFirstCatalog in adf-config.xml.

If your application requires multiple catalogs, you can organize them into sub packages. In this case, you might create a catalog definition file in MDS at /oracle/adf/rc/metadata/hr/personalization.xml. That catalog's identifier would be hr/personalization. If this is to be the default catalog for your application, then catalog-name should be set to hr/personalization.

C.2 Default Catalog Definition

Example C-1 shows the default catalog definition file to illustrate the most common elements.

Example C-1 Example of a Catalog Definition

<?xml version = '1.0' encoding = 'UTF-8'?>
<catalogDefinition xmlns="http://xmlns.oracle.com/adf/rcs/catalog"
                   id="catalogDefinition"
                   name="Default Resource Catalog"
                   description="Default resource catalog definition containing sample entries">   
  <contents>
    <!-- **********************************************************************
    * Custom folder exposing ADF Faces components                             *
    * Comment out this element if you want to remove it from the catalog.     *
    *********************************************************************** -->
    <customFolder id="facesComponents" name="ADF Faces Components"
                  description="ADF Faces components you can add to application pages"
                 factoryClass="oracle.adfinternal.view.page.editor.componentcatalog.adapter.ComponentObjectFactory"/>
    <!-- **********************************************************************
    * Dynamically include the portlets custom folder into the catalog at      *
    * runtime. The custom folder will only be included if the portlet runtime *
    * jar files are included in the application classpath.                    *
    *********************************************************************** -->
    <customContent id="portletContent"
 contentProviderClass="oracle.adf.rc.webcenter.WebCenterContentProvider"/>
    <!-- **********************************************************************
    * Uncomment the following <customFolder> element if you have configured   *
    * the Document Library service in your application and want to include    *
    * documents in the catalog.                                               *  
    *********************************************************************** -->    
<!--
    <customFolder id="doclibDocuments"
                  name="Documents"
                  description="Documents from the Document Library Service"
                  factoryClass="oracle.webcenter.content.model.rc.CustomFolderContextFactory"/>
-->
    <!-- **********************************************************************
    * Uncomment the following <resource> element if you have configured the   *
    * Document Library service in your application and want to include the    *
    * Document Library main view in the catalog.                              *
    *                                                                         *    
    * NOTE: application.classpath is an implicitly defined "repository" for   *
    *       accessing ADF Libraries that are included in your classpath       *
    *********************************************************************** -->
<!--
    <resource id="doclibMainView"
              name="Document Library Task Flow"
              description="Main view of the Document Library Service"
              repository="application.classpath"
              path="doclib-service-view.jar/ADF_TaskFlow/oracle+webcenter+doclib+view+jsf+taskflows+mainView.xml#doclib-document-library"/>
-->          
    <!-- **********************************************************************
    * To create a link to a task flow in an ADF Library:                      *
    * 1) add a <resource> tag to your catalog definition & set the            *
    *    "repository" attribute to "application.classpath"                    *
    *    (see doclibMainView above)                                           *
    * 3) set the "repository" attribute to the name of your file system       *
    *    connection.                                                          *
    * 4) set the "path" attribute for the task flow you are interested in.    *
    *    The path is of the following form:                                   *
    *                                                                         *
    *    path_to_jar/ADF_TaskFlow/task_flow_path                              *
    *                                                                         *
    * To obtain the task_flow_path, use the file system connection from (1)   *
    * and navigate to the task flow in your ADF Library. Mouse-over your task *
    * flow so its tool-tip is displayed. The tool-tip shows he fully qualified*
    * ID of the task flow. Take this value and replace all occurrances of "/" *
    * with "+". For example:                                                  *
    *                                                                         *
    * Tool-tip:      
 oracle/webcenter/collab/announcement/view/taskflows/main-view-definition.xml#announcement-main-view
    * Task_flow_path:
 oracle+webcenter+collab+announcement+view+taskflows+main-view-definition.xml#announcement-main-view 
    *********************************************************************** -->
   </contents>
</catalogDefinition>

C.3 XML Schema

Example C-2 provides the catalog definition XML schema for your reference.

Example C-2 XML Schema for Catalog Definition

<xsd:schema elementFormDefault="qualified"
            targetNamespace="http://xmlns.oracle.com/adf/rcs/catalog"
            xmlns:rcs="http://xmlns.oracle.com/adf/rcs/catalog"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="1.0">
  <xsd:annotation>
    <xsd:appinfo>
      <jaxb:schemaBindings>
        <jaxb:package name="oracle.adfinternal.rc.catalog.xml"/>
      </jaxb:schemaBindings>
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:complexType name="descriptorType">
    <xsd:attribute name="attributeId" type="xsd:string" use="required"/>
    <xsd:attribute name="labelKey" type="xsd:string" use="required"/>
    <xsd:attribute name="shortLabelKey" type="xsd:string"/>
    <xsd:attribute name="searchable" type="xsd:boolean" default="true"/>
    <xsd:attribute name="multivalue" type="xsd:boolean" default="false"/>
    <xsd:attribute name="endUserVisible" type="xsd:boolean" default="true"/>
    <xsd:attribute name="resourceBundle" type="xsd:string"/>
  </xsd:complexType>
  <xsd:complexType name="schemaType">
    <xsd:sequence>
      <xsd:element name="descriptor" type="rcs:descriptorType" 
       minOccurs="1" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="resourceBundle" type="xsd:string"/>
  </xsd:complexType>
  <xsd:complexType name="attributeType">
    <xsd:attribute name="attributeId" type="xsd:string" use="required"/>
    <xsd:attribute name="value" type="xsd:string" use="required"/>
    <xsd:attribute name="isKey" type="xsd:boolean" use="required"/>
    <xsd:attribute name="resourceBundle" type="xsd:string"/>
  </xsd:complexType>
  <xsd:complexType name="attributesType">
    <xsd:sequence>
      <xsd:element name="attribute" type="rcs:attributeType" 
       minOccurs="1" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="resourceBundle" type="xsd:string"/>
  </xsd:complexType>
  <xsd:complexType name="itemType">
    <xsd:sequence>
      <xsd:element name="attributes" type="rcs:attributesType" 
       minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:string"/>
    <xsd:attribute name="name" type="xsd:string"/>
    <xsd:attribute name="description" type="xsd:string"/>
  </xsd:complexType>
  <xsd:complexType name="resourceType">
    <xsd:complexContent>
      <xsd:extension base="rcs:itemType">
        <xsd:attribute name="repository" type="xsd:string"/>
        <xsd:attribute name="path" type="xsd:string"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="repositoryType">
    <xsd:complexContent>
      <xsd:extension base="rcs:itemType">
        <xsd:attribute name="repository" type="xsd:string"/>
        <xsd:attribute name="path" type="xsd:string"/>
        <xsd:attribute name="includeSubfolders" type="xsd:boolean"
         default="true"/>
      </xsd:extension>          
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="dynamicFolderSourceType">
    <xsd:attribute name="repository" type="xsd:string"/>
    <xsd:attribute name="path" type="xsd:string"/>
    <xsd:attribute name="includeSubfolders" type="xsd:boolean" default="true"/>
  </xsd:complexType>
  <xsd:complexType name="dynamicFolderType">
    <xsd:complexContent>
      <xsd:extension base="rcs:itemType">
        <xsd:sequence>
          <xsd:element name="source" type="rcs:dynamicFolderSourceType" 
                       minOccurs="1" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="expression" type="xsd:string"/>
      </xsd:extension>          
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:group name="folderContentGroup">
    <xsd:choice>
      <xsd:element name="folder" type="rcs:folderType"/>
      <xsd:element name="repository" type="rcs:repositoryType"/>
      <xsd:element name="resource" type="rcs:resourceType" /> 
      <xsd:element name="dynamicFolder" type="rcs:dynamicFolderType" />
    </xsd:choice>
  </xsd:group>
   <xsd:complexType name="contentsType">
       maxOccurs="unbounded" /> 
      <xsd:group ref = "rcs:folderContentGroup" minOccurs="0"
   </xsd:complexType>
  <xsd:complexType name="folderType">
    <xsd:complexContent>
      <xsd:extension base="rcs:itemType">
        <xsd:sequence>
          <xsd:element name="contents" type="rcs:contentsType"
                       minOccurs="1" maxOccurs="1"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="catalogType">
    <xsd:complexContent>
      <xsd:extension base="rcs:folderType">
        <xsd:sequence>
          <xsd:element name="schema" type="rcs:schemaType" minOccurs="0"
           maxOccurs="1"/>
        </xsd:sequence>
        <xsd:attribute name="contact" type="xsd:string"/>
        <xsd:attribute name="definitionFilter" type="xsd:string"/>
        <xsd:attribute name="resourceBundle" type="xsd:string"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="catalogDefinition" type="rcs:catalogType"/>
</xsd:schema>

C.4 Catalog Definition Attributes

The catalog definition schema provides a rich set of elements through which you can specify the structure and content of your resource catalogs.

This section contains the following subsections:

For an example of creating a custom catalog definition file, see Section 12.3, "Creating a Custom Resource Catalog."

C.4.1 catalogDefinition

The catalogDefinition element defines the overall characteristics of the catalog, such as the location of translated strings.

Example C-3 illustrates the use of catalogDefinition.

Example C-3 Example of catalogDefinition

<catalogDefinition xmlns="http://xmlns.oracle.com/adf/rcs/catalog"
                 id="PersonalSpaceCatalog"
                 name="Personal WebCenter Catalog"
                 description="Resource Catalog definiton for Personal WebCenter"
                 resourceBundle="oracle.webcenter.webcenterapp.internal.model.
                                 rc.resource.PersonalSpaceCatalogBundle"
                 definitionFilter="oracle.webcenter.webcenterapp.internal.model.
                                   rc.PersonalSpaceCatalogFilter">

Table C-1 describes the keywords of the catalogDefinition element. For information about including attributes for elements, see Section C.4.4, "attributes."

Table C-1 catalogDefinition Keywords

Keyword Description
xmlns
http://xmlns.oracle.com/adf/rcs/catalog
id

The identifier used when referring to this catalog definition.

name

The displayed name of the catalog definition.

description

Is text that describes the catalog definition.

resourceBundle

The name of the resource bundle to be used for obtaining translated attribute values, where <attribute.... isKey="true"/>. The resourceBundle attribute can also be used at lower levels in the document, such as on individual attributes elements. Refer to the XSD for further details.

definitionFilter

The fully qualified name of a Java class that implements the oracle.adf.rc.spi.plugin.catalog.CatalogDefinitionFilter. You can use a definition filter to dynamically exclude entries from a catalog at runtime. One common use of a definition filter is to provide different views of the same catalog to users with different roles. For example, Oracle WebCenter Spaces uses a definition filter to hide entries for services that the administrator has disabled.


C.4.2 dynamicFolder

The dynamicFolder element defines a folder that is dynamically populated based upon the results of a query.

Dynamic folders have attributes just like any other entry. For information about including attributes for elements, see Section C.4.4, "attributes."

Example C-4 illustrates the use of dynamicFolder.

Example C-4 Example of dynamicFolder

<dynamicFolder id="dynamicFolderId"
               name="dynamicFolderName"
               description="folderDescription"
               expression="jndiSearchExpression">
  <source repository="repositoryId" path="repositoryPath"
          includeSubfolders="true"/>
  ...
</dynamicFolder>

Table C-2 describes the keywords of the dynamicFolder element.

Table C-2 dynamicFolder Keywords

Keyword Description
id

The identifier used when referring to this dynamic folder.

name

The displayed name of the dynamic folder.

description

Text that describes the dynamic folder.

expression

A JNDI query expression. This query is executed against each of the source repositories and the results merged to form the dynamic folder contents.


source

The source element defines a repository or repository folder that should be included in a search as part of a dynamic folder. Dynamic folders can have one or more source repositories.

Example C-5 Example of source element

<source repository="repositoryId" path="repositoryPath" includeSubfolders="true"/>

Table C-3 describes the keywords of the source element.

Table C-3 source Keywords

Keyword Description
repository

The identifier of a repository or connection you want to include in the search that generates the contents of the dynamic folder.

path

The path to the folder that should be included in the search.

includeSubfolders

A flag that indicates whether the search should be limited to the specified folder or include its subfolders as well.


C.4.3 folder

The folder element defines a catalog folder, used to organize content in the catalog. Folders can contain any number of entries including other folders. You can mix different types of catalog elements in the same folder.

Folders can have attributes just like any other entry. For information about including attributes for elements, see Section C.4.4, "attributes."

Example C-6 illustrates the use of the folder element.

Example C-6 Example of folder

<folder id="groupSpaceFolder">
 <attributes>
  <attribute value="GROUP_SPACE_FOLDER.TITLE" attributeId="Title" isKey="true"/>
  <attribute value="GROUP_SPACE_FOLDER.DESCRIPTION" attributeId="Description"
   isKey="true"/>
  <attribute value="GROUP_SPACE_FOLDER.KEYWORDS" attributeId="Subject"
   isKey="true"/>
 </attributes>
 <contents>
   ...
 </contents>
</folder>

Note:

In addition to folder and contents elements, customFolder and customContent elements are displayed in the default catalog definition file. These elements are used to define content generated using Resource Catalog adapters.

You can comment out existing customFolder and customContent elements in your catalog definition file if required, but not add new ones. This is because you must use Resource Catalog APIs to define content in these elements and the required APIs are not exposed in this release.

Table C-4 describes the keywords of the folder element.

Table C-4 folder Keywords

Keyword Description
id

The identifier used when referring to this folder.

name

The displayed name of the folder.

description

Text that describes the folder.


C.4.4 attributes

Entries in a resource catalog have associated attributes that describe the entry. Values for some attributes can be obtained directly from the resources or from the name and description attributes on each XML element in the catalog definition. However, these values may not always be appropriate for displaying to end users, and often they are not available in different languages. Attributes defined using the attributes element in the catalog definition let you override those available from other sources. In addition, these attributes can be defined in terms of a key to a resource bundle so the actual values displayed reflect the current user's locale.

Within the attributes element you can insert any number of individual attribute elements that define the attributes you want to apply to a resource catalog entry.

Example C-8 illustrates the use of the attributes element.

Example C-7 Example of attributes and attribute Elements

<attributes>
 <attribute value="ANNOUNCEMENTS_MAIN_VIEW.TITLE" attributeId="Title"
  isKey="true"/>
 <attribute value="ANNOUNCEMENTS_MAIN_VIEW.DESCRIPTION" attributeId="Description"
  isKey="true"/>
 <attribute value="ANNOUNCEMENTS_MAIN_VIEW.KEYWORDS" attributeId="Subject"
  isKey="true"/>
 <attribute value="oracle.webcenter.collab.announcement" 
  attributeId="WEBCENTER_SERVICE_ID" isKey="false"/>
</attributes>

Table C-5 describes the keywords of the attributes element.

Table C-5 attributes Keywords

Keyword Description
resourceBundle

The name of the resource bundle to be used for obtaining translated attribute values.


C.4.5 attribute

The attribute element defines an attribute for a resource catalog entry that corresponds to a descriptor in the schema element. For information about attributes, see Section C.4.4, "attributes." Oracle Composer uses the following attributes:

  • Title

  • Description

  • Subject

  • IconURI

  • ToolTip

You should include at least a Title and Description attribute for each catalog entry. A Subject attribute is also highly recommended to facilitate keyword searching of the resource catalog. The Title attribute overrides the name attribute on the parent element and is used to declare a display name that is translated through a resource bundle. Similarly, the Description attribute overrides the description attribute on the parent element and is used to declare a description that is translated through a resource bundle.

You can declare your own attributes by including them in the schema element. For more information, see Section C.4.8, "schema."

Example C-8 illustrates the use of the attribute element.

Example C-8 Example of attributes and attribute Elements

<attributes>
 <attribute value="ANNOUNCEMENTS_MAIN_VIEW.TITLE" attributeId="Title"
  isKey="true"/>
 <attribute value="ANNOUNCEMENTS_MAIN_VIEW.DESCRIPTION" attributeId="Description"
  isKey="true"/>
 <attribute value="ANNOUNCEMENTS_MAIN_VIEW.KEYWORDS" attributeId="Subject"
  isKey="true"/>
 <attribute value="oracle.webcenter.collab.announcement" 
  attributeId="WEBCENTER_SERVICE_ID" isKey="false"/>
</attributes>

Table C-6 describes the keywords of the attribute element.

Table C-6 attribute Keywords

Keyword Description
attributeId

The identifier of the attribute as declared in the schema element.

value

The value of the attribute.

isKey

A flag indicating whether the value is a literal value (false) or a key to a resource bundle (true). In most cases, attributes should be resource bundle keys and the values translated through a resource bundle. The resource bundle can be declared at the catalog level or on various lower level elements such as attributes.

resourceBundle

The name of the resource bundle to be used for obtaining translated attribute values.


For task flows included in your Resource Catalog, you can use the attribute element to pass task flow parameters and attributes of the enclosing Show Detail Frame component. You can do this by prefixing the attributeId values for the task flow parameters and Show Detail Frame attributes with parameter. and attr. respectively as shown in the following example:

<attributes>
  <attribute value="dark" attributeId="attr.background"
   isKey="false"/>
  <attribute value="#{myBean.myParam1}" attributeId="parameter.myParam1"
   isKey="false"/>
</attributes>

For more information, see Section 12.2.4, "How to Define Task Flow Parameters and Attributes of the Enclosing Show Detail Frames for Task Flows."

C.4.6 resource

The resource element is used to declare an individual resource, such as a task flow, in the catalog. Example C-9 illustrates the use of the resource element.

Example C-9 Example of resource

<resource id="announcements-main"  repository="application.classpath"
path="announcement-view.jar/ADF_TaskFlow/oracle+webcenter+collab+announcement+view+taskflows+main-view-definition.xml#announcement-main-view"/>
<attributes>
 <attribute value="ANNOUNCEMENTS_MAIN_VIEW.TITLE" attributeId="Title"
  isKey="true"/>
 <attribute value="ANNOUNCEMENTS_MAIN_VIEW.DESCRIPTION" attributeId="Description"
  isKey="true"/>
 <attribute value="ANNOUNCEMENTS_MAIN_VIEW.KEYWORDS" attributeId="Subject"
  isKey="true"/>
 <attribute value="oracle.webcenter.collab.announcement" 
  attributeId="WEBCENTER_SERVICE_ID" isKey="false"/>
 </attributes>
</resource>

Table C-7 describes the keywords of the resource element. For information about including attributes for elements, see Section C.4.4, "attributes."

Table C-7 resource Keywords

Keyword Description
id

The identifier for the element in the catalog. Identifiers are required and must be unique at the folder level.

name

The name of the element.

description

The text describing the element.

repository

Name of the connection used to lookup the resource.

path

The path to the resource. For a task flow in an ADF Library, the path is of the following form:

path_to_jar/ADF_TaskFlow/task_flow_path

To obtain the task_flow_path, create a file system connection in Application Connections and navigate to the task flow in your ADF Library. The tooltip for the task flow shows the fully qualified ID of the task flow. Take this value and replace all occurrences of "/" with "+".

For example:

Tooltip:

oracle/webcenter/collab/announcement/view/taskflows/main-view-definition.xml#announcement-main-view

task_flow_path:

oracle+webcenter+collab+announcement+view+taskflows+main-view-definition.xml#announcement-main-view

C.4.7 component

The component element is used to include a custom XML resource, such as a simple ADF Faces component or a YouTube video, in the catalog. The component element must be located within the contents section. You can add more than one component element in a catalog definition file.

The component element must contain a parameters element with a nested parameter element. Set the id for the parameter element to xml. Include the XML fragment inside this parameter element, within a CDATA (character data) tag. To generate an ADF Faces ID for the component at runtime, set the id on the component to # (hash symbol).

Example C-10 shows the code to add a Panel Customizable component to the Resource Catalog.

Example C-10 Panel Customizable Component in the Catalog Definition File

<!-- panelCustomizable -->
<component id="pc" factoryClass="oracle.adf.rc.component.XmlComponentFactory">
  <attributes>
    <attribute attributeId="Title" value="Box"/>
    <attribute attributeId="Description" value="Container for other objects"/>
    <attribute attributeId="IconURI" value="/adf/webcenter/panelcustomizable_qualifier.png"/>
  </attributes>
  <parameters>
    <parameter id="xml">
      <![CDATA[
        <cust:panelCustomizable id="#" xmlns:cust="http://xmlns.oracle.com/adf/faces/customizable"/>
      ]]>
    </parameter>
  </parameters>
</component>

Table C-8 describes the keywords of the component element. For information about including attributes for elements, see Section C.4.4, "attributes."

Table C-8 component Keywords

Keyword Description

id

The identifier for the element in the catalog definition.

factoryClass

The name of a Java class that implements the oracle.adf.rc.component.ComponentFactory interface and generates a resource catalog item based on a set of parameters. Each ComponentFactory implementation defines the set of parameters it requires. For example, XmlComponentFactory requires a single parameter named xml and the value of the parameter is a block of XML representing a component or components that can be inserted into a page.


For more information, see Section 12.4, "Adding XML Content to the Resource Catalog."

C.4.8 schema

The schema element contains one or more descriptor elements. The descriptor elements provide the resource catalog service with information about the attributes used within the catalog, such as whether they are searchable.

Example C-11 illustrates the use of the schema element.

Example C-11 Example of schema

<schema>
<descriptor searchable="true" labelKey="TITLE.PROMPT_KEY" endUserVisible="true"
 shortLabelKey="TITLE.SHORT_PROMPT_KEY" attributeId="Title" multivalue="false"/>
<descriptor searchable="true" labelKey="DESCRIPTION.PROMPT_KEY"
 endUserVisible="true" shortLabelKey="DESCRIPTION.SHORT_PROMPT_KEY"
 attributeId="Description" multivalue="false"/>
<descriptor searchable="true" labelKey="SUBJECT.PROMPT_KEY" endUserVisible="true"
 shortLabelKey="SUBJECT.SHORT_PROMPT_KEY" attributeId="Subject"
 multivalue="true"/>
<descriptor searchable="true" labelKey="WEBCENTER_SERVICE_ID.LABEL"
 endUserVisible="false" shortLabelKey="WEBCENTER_SERVICE_ID.SHORT_LABEL"
 attributeId="WEBCENTER_SERVICE_ID" multivalue="false"/>
<descriptor searchable="false" labelKey="TOOL_TIP.LABEL" endUserVisible="false"
 shortLabelKey="TOOL_TIP.SHORT_LABEL" attributeId="ToolTip" multivalue="false"/>
<descriptor searchable="false" labelKey="ICON_URI.LABEL" endUserVisible="false"
 shortLabelKey="ICON_URI.SHORT_LABEL" attributeId="IconURI" multivalue="false"/>
</schema>

Table C-9 describes the keywords of the descriptor element.

Table C-9 descriptor Keywords

Keyword Description
attributeId

The identifier of the attribute being described.

searchable

Indicates whether the attribute is included in resource catalog searches (true) or not (false).

multivalue

Indicates whether the attribute can have multiple values (true) or not (false).

endUserVisible

Indicates whether the attribute should be exposed to end users (true) or not (false).

resourceBundle

The name of the resource bundle used to translate the label keys.

labelKey

The resource bundle key for the attribute's label.

shortLabelKey

The resource bundle key for the attribute's short label.