libreccm-legacy/ccm-sci-bundle/doc/app-schemas/app-schemas.html

1057 lines
36 KiB
HTML

<html>
<head>
<!--
**** WARNING ****
This file was automatically created by htmltoc.pl
Do not edit - all changes will be lost
**** WARNING ****
-->
<title>APLAWS-II: Application Schemas</title>
<style>
.schema {
border: 1px solid black;
margin: 1em;
padding: 1em;
background: rgb(192,230,230);
}
</style>
</head>
<body bgcolor="white" text="black">
<h1>APLAWS-II: Application Schemas</h1>
<p>
<big><strong><em>Final 1 November 2003</em></strong></big>
</p>
<a name="toc"></a><table align="center">
<tr bgcolor="#ffdfff">
<td align="left">1</td>
<!--<td>....</td>-->
<td><a href="#1">Introduction</a></td>
</tr>
<tr bgcolor="#ffdfff">
<td align="left">2</td>
<!--<td>....</td>-->
<td><a href="#2">Navigation</a></td>
</tr>
<tr bgcolor="#ffdfff">
<td align="left">3</td>
<!--<td>....</td>-->
<td><a href="#3">Directory</a></td>
</tr>
<tr bgcolor="#ffdfff">
<td align="left">4</td>
<!--<td>....</td>-->
<td><a href="#4">Services</a></td>
</tr>
<tr bgcolor="#ffdfff">
<td align="left">5</td>
<!--<td>....</td>-->
<td><a href="#5">Site Map</a></td>
</tr>
<tr bgcolor="#ffdfff">
<td align="left">6</td>
<!--<td>....</td>-->
<td><a href="#6">Portals</a></td>
</tr>
<tr bgcolor="#ffdfff">
<td align="left">7</td>
<!--<td>....</td>-->
<td><a href="#7">Forums</a></td>
</tr>
<tr bgcolor="#ffdfff">
<td align="left">8</td>
<!--<td>....</td>-->
<td><a href="#8">Search</a></td>
</tr>
<tr bgcolor="#ffdfff">
<td align="left">9</td>
<!--<td>....</td>-->
<td><a href="#9">A-Z</a></td>
</tr>
</table>
<h2><a name="1" href="#toc">1 Introduction</a></h2>
<p>
This document provides the XML Schemas for the principle public facing
applications in APLAWS. The schemas describe the XML that is generated
by UI components prior to being fed into the XSLT transformer. Since the
precise combination of components that can be present in a particular
JSP page can vary from install to install, these schemas don't document
an entire page, but rather, each individual component that can be plugged
into a page.
</p>
<p>
The official specification for XML schemas can be found at the
<a href="http://www.w3.org/XML/Schema">W3C</a> site. For a gentler introduction, the O'Reilly
<a href="http://www.oreilly.com/catalog/xmlschema/">XML Schema book</a> is recommended reading.
</p>
<h2><a name="2" href="#toc">2 Navigation</a></h2>
<p>
Category navigation components may be present on any
page in the site, since they provide things such as
the list of top level categories, breadcrumb trail,
etc.
</p>
<pre class="schema">
&lt;xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gen="http://xmlns.redhat.com/core/bebop/generator/1.0"
xmlns="http://xmlns.redhat.com/atoz/1.0"
elementFormDefault="qualified"
targetNamespace="http://xmlns.redhat.com/atoz/1.0"&gt;
&lt;xs:element name="categoryRoot"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
Outputs the root navigation category
&lt;/xs:documentation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.navigation.ui.category.Root&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="category" type="category" minOccurs="1" maxOccurs="1"/&gt;
&lt;/sequence&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="categoryTopLevel"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
Outputs the first level navigation categories (ie immediate
children of the root).
&lt;/xs:documentation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.navigation.ui.category.TopLevel&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="category" type="category" minOccurs="0" maxOccurs="unbounded"/&gt;
&lt;/sequence&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="categorySiblings"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
Outputs siblings of the category category (ie, those categories
at the same level as the current category.
&lt;/xs:documentation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.navigation.ui.category.Siblings&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="category" type="category" minOccurs="0" maxOccurs="unbounded"/&gt;
&lt;/sequence&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="categoryChildren"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
Outputs immediate children of the current category
&lt;/xs:documentation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.navigation.ui.category.Children&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="category" type="category" minOccurs="0" maxOccurs="unbounded"/&gt;
&lt;/sequence&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="categoryPath"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
Outputs the categories on a path between the root navigation
category (exclusive) and the current category (inclusive).
&lt;/xs:documentation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.navigation.ui.category.Path&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="category" type="category" minOccurs="1" maxOccurs="unbounded"/&gt;
&lt;/sequence&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="categoryMenu"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
Outputs the immediate children of all categories between the
root navigation category &amp; the current category (both inclusive).
This is intended for showing a contextually-expanded tree to
the current category.
&lt;/xs:documentation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.navigation.ui.category.Menu&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="category" type="nestedCategory" minOccurs="0" maxOccurs="unbounded"/&gt;
&lt;/sequence&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="categoryHierarchy"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
Outputs all categories, starting from the root navigation category
and recursing.
&lt;/xs:documentation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.navigation.ui.category.Hierarchy&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="category" type="nestedCategory" minOccurs="0" maxOccurs="unbounded"/&gt;
&lt;/sequence&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:complexType name="category"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
Represents the information for a single category. When
generating links to the category page, the url attribute
is the preferred method. The id attribute is merely
present for informational purposes.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="id" type="xs:integer"/&gt;
&lt;xs:attribute name="title" type="xs:string"/&gt;
&lt;xs:attribute name="description" type="xs:string" use="optional"/&gt;
&lt;xs:attribute name="url" type="xs:anyURI"/&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="nestedCategory"&gt;
&lt;xs:extension base="category"&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="category" type="nestedCategory" minOccurs="0" maxOccurs="unbounded"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexType
&lt;/xs:schema&gt;</pre>
<h2><a name="3" href="#toc">3 Directory</a></h2>
<p>
The directory page in APLAWS, commonly found at /content/directory.jsp
contains a summary of top two levels of navigation categories.
</p>
<pre class="schema">
&lt;xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gen="http://xmlns.redhat.com/core/bebop/generator/1.0"
xmlns="http://www.arsdigita.com/cms/1.0"
elementFormDefault="qualified"
targetNamespace="http://www.arsdigita.com/cms/1.0"&gt;
&lt;xs:element name="directory"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
The directory component displays a summary of the first two
levels of the navigation category heirarchy. The categoryID
attribute can be used to link to
$context-prefix/navigation/category.jsp?categoryID=XXX
&lt;/xs:documentation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.navigation.ui.DirectoryComponent&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="directoryL1Category" minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="directoryL2Category" minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name="title" type="xs:string"&gt;
&lt;xs:attribute name="description" type="xs:string" use="optional"&gt;
&lt;xs:attribute name="categoryID" type="xs:integer"&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="directoryItem" minOccurs="0" maxOccurs="3"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
The first two items are instances of the 'Fixed Promo'
content type in the current category. The third item
is a 'Fixed Promo' item from the subcategory.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name="title" type="xs:string"&gt;
&lt;xs:attribute name="path" type="xs:anyURI"&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:attribute name="title" type="xs:string"&gt;
&lt;xs:attribute name="description" type="xs:string" use="optional"&gt;
&lt;xs:attribute name="categoryID" type="xs:integer"&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/sequence&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
</pre>
<h2><a name="4" href="#toc">4 Services</a></h2>
<p>
The services page in APLAWS, commonly found at /content/services.jsp,
is little more than a placeholder for designers to hook on to.
</p>
<pre class="schema">
&lt;xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gen="http://xmlns.redhat.com/core/bebop/generator/1.0"
xmlns="http://www.arsdigita.com/aplaws/1.0"
elementFormDefault="qualified"
targetNamespace="http://www.arsdigita.com/aplaws/1.0"&gt;
&lt;xs:element name="services"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
The services component is just a place holder for hooking onto
in XSLT. At this time it contains no content.
&lt;/xs:documentation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.aplaws.ui.ServicesComponent&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
</pre>
<h2><a name="5" href="#toc">5 Site Map</a></h2>
<p>
The sitemap page in APLAWS, commonly found at /content/sitemap.jsp
is little more than a placeholder for designers to hook on to.
</p>
<pre class="schema">
&lt;xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gen="http://xmlns.redhat.com/core/bebop/generator/1.0"
xmlns="http://www.arsdigita.com/aplaws/1.0"
elementFormDefault="qualified"
targetNamespace="http://www.arsdigita.com/aplaws/1.0"&gt;
&lt;xs:element name="sitemap"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
The sitemap component is just a place holder for hooking onto
in XSLT. At this time it contains no content.
&lt;/xs:documentation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.aplaws.ui.SitemapComponent&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
</pre>
<h2><a name="6" href="#toc">6 Portals</a></h2>
<p>
The portals schema describes the generic framework for browsing
workspaces &amp; portals. Each portlet type will have its own schema
to describe what XML it generates.
</p>
<pre class="schema">
&lt;xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.uk.arsdigita.com/portal/1.0"
xmlns:portlet="http://www.uk.arsdigita.com/portlet/1.0"
xmlns:debug="http://xmlns.redhat.com/waf/bebop/debug/1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
elementFormDefault="qualified"
targetNamespace="http://www.uk.arsdigita.com/portal/1.0"&gt;
&lt;xs:element name="workspace"&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="workspaceDetails" type="workspaceDetails"&gt;
&lt;xs:element name="portalList" type="portalList"&gt;
&lt;xs:element name="bebop:portal" type="portalDisplay"&gt;
&lt;/xs:sequence&gt;
&lt;/xs:element&gt;
&lt;xs:complexType name="workspaceDetails"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
This outputs metadata about the workspace along with a
summary of permissions.
&lt;/xs:documentation&gt;
&lt;xs:appinfo&gt;
&lt;debug:class&gt;com.arsdigita.london.portal.ui.WorkspaceDetails&lt;/debug:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="objectType" minOccurs="1" maxOccurs="1"/&gt;
&lt;xs:element name="title" minOccurs="1" maxOccurs="1"/&gt;
&lt;xs:element name="description" minOccurs="0" maxOccurs="1"/&gt;
&lt;xs:element name="primaryURL" minOccurs="1" maxOccurs="1"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attribute name="oid" type="xs:string"/&gt;
&lt;xs:attribute name="canEdit" type="xs:boolean"/&gt;
&lt;xs:attribute name="canAdmin" type="xs:boolean"/&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="portalList"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
This component generates a summary list of all portals
in a workspace. One use of this is to generate a set
of tabbed panes for switching between portals.
&lt;/xs:documentation&gt;
&lt;xs:appinfo&gt;
&lt;debug:class&gt;com.arsdigita.london.portal.ui.PortalList&lt;/debug:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="portalDetails" minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="objectType" minOccurs="1" maxOccurs="1"/&gt;
&lt;xs:element name="title" minOccurs="1" maxOccurs="1"/&gt;
&lt;xs:element name="description" minOccurs="0" maxOccurs="1"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attribute name="oid" type="xs:string"/&gt;
&lt;xs:attribute name="isSelected" type="xs:boolean"/&gt;
&lt;xs:attribute name="selectAction" type="xs:url"/&gt;
&lt;xs:attribute name="deleteAction" type="xs:url" use="optional"/&gt;
&lt;xs:attribute name="moveLeftAction" type="xs:url" use="optional"/&gt;
&lt;xs:attribute name="moveRightAction" type="xs:url" use="optional"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="bebop:form"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="portalDisplay"&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;debug:class&gt;com.arsdigita.london.portal.ui.PersistentPortal&lt;/debug:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="" minOccurs="" maxOccurs=""&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;/xs:schema&gt;
</pre>
<h2><a name="7" href="#toc">7 Forums</a></h2>
<p>
The schema for forums only describes the components that are used to
present information about messages. It does not cover the Bebop forms
and administrative UI components.
</p>
<pre class="schema">
&lt;xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gen="http://xmlns.redhat.com/core/bebop/generator/1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
xmlns="http://xmlns.redhat.com/forums/1.0"
elementFormDefault="qualified"
targetNamespace="http://xmlns.redhat.com/forums/1.0"&gt;
&lt;xs:element name="forum" type="forumComponent"&gt;
&lt;xs:complexType name="forumComponent"&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.forum.ui.ForumComponent&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="forumMode" minOccurs="0" maxOccurs="unbounded" type="forumMode"/&gt;
&lt;xs:choice&gt;
&lt;xs:choice&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.forum.ui.ForumUserView&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="forumOptions" type="forumOptions"/&gt;
&lt;xs:element name="topicSelector" type="topicSelector"/&gt;
&lt;xs:element name="threadList" type="threadList"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:element name="bebop:form" type="bebopForm"&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.forum.ui.NewPostForm&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;/xs:element&gt;
&lt;/xs:choice&gt;
&lt;xs:choice&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.forum.ui.CategoryView&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="topicOptions" type="topicOptions"/&gt;
&lt;xs:element name="topicList" type="topicList"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:element name="bebop:form" type="bebopForm"&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.forum.ui.CategoryAddForm&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;/xs:element&gt;
&lt;/xs:choice&gt;
&lt;xs:sequence&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.forum.ui.ForumAlertsView&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="forumAlerts" type="forumAlerts"/&gt;
&lt;xs:element name="threadAlerts" type="threadAlerts"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:sequence&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.forum.ui.admin.ModerationView&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="bebop:form" type="bebopForm"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:choice&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="threadComponent"&gt;
&lt;xs:choice&gt;
&lt;xs:element name="bebop:form" type="bebopForm"&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.forum.ui.EditPostForm&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;/xs:element&gt;
&lt;xs:element name="bebop:form" type="bebopForm"&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.forum.ui.ReplyToPostForm&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;/xs:element&gt;
&lt;xs:element name="bebop:form" type="bebopForm"&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.forum.ui.RejectionForm&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;/xs:element&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="threadOptions" type="threadOptions"/&gt;
&lt;xs:element name="threadDisplay" type="threadDisplay"/&gt;
&lt;/xs:element&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="forumMode"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
A forum mode refers to one of the alternate
views onto the forum application. The url
attributes provides the link for switching
into the mode.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="mode" type="xs:string"/&gt;
&lt;xs:attribute name="url" type="xs:anyURI"/&gt;
&lt;xs:attribute name="selected" type="xs:boolean"/&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="forumOptions"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
A set of links relating to operations
in the thread list, such as posting
a new message.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="bebop:link" type="bebopLink"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="topicSelector"&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.forum.ui.TopicSelector&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="topic"&gt;
&lt;xs:sequence&gt;
XXX DOR
&lt;/xs:sequence&gt;
&lt;/xs:element&gt;
&lt;xs:sequence&gt;
&lt;xs:attribute name="baseURL" type="xs:anyURI"/&gt;
&lt;xs:attribute name="param" type="xs:string"/&gt;
&lt;xs:attribute name="anyTopicID" type="xs:integer"/&gt;
&lt;xs:attribute name="noTopicID" type="xs:integer"/&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="threadList"&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.forum.ui.ThreadList&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="paginator" type="paginator"/&gt;
&lt;xs:element name="thread" minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:sequence&gt;
XXX DOR
&lt;/xs:sequence&gt;
&lt;xs:attribute name="url" type="xs:anyURI"/&gt;
&lt;/xs:element&gt;
&lt;xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="topicOptions"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
A set of links relating to operations
in the topic list, such as creating
a new topic.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="bebop:link" type="bebopLink"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="topicList"&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.forum.ui.TopicList&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="topicSummary" minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="id"/&gt;
&lt;xs:element name="name"/&gt;
&lt;xs:element name="latestPost"/&gt;
&lt;xs:element name="numThreads"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:element&gt;
&lt;xs:element name="noTopicSummary"&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="latestPost"/&gt;
&lt;xs:element name="numThreads"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attribute name="url" type="xs:anyURI"/&gt;
&lt;/xs:element&gt;
&lt;xs:sequence&gt;
&lt;xs:attribute name="param" type="xs:string"/&gt;
&lt;xs:attribute name="baseURL" type="xs:anyURI"/&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="threadAlertList"&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.forum.ui.ThreadAlertList&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="threadAlert" minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:sequence&gt;
XXX DOR
&lt;/xs:sequence&gt;
&lt;xs:attribute name="url" type="xs:anyURI"/&gt;
&lt;/xs:element&gt;
&lt;xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="forumAlerts"&gt;
&lt;xs:element name="bebop:form" type="bebopForm"/&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="threadAlerts"&gt;
&lt;xs:element name="bebop:form" type="bebopForm"/&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="threadOptions"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
A set of links relating to operations
in the thread list, such as alert
subscribe
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="bebop:link" type="bebopLink"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="threadDisplay"&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.forum.ui.ThreadList&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="paginator" type="paginator"/&gt;
&lt;xs:element name="message" minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:sequence&gt;
XXX DOR
&lt;/xs:sequence&gt;
&lt;xs:attribute name="approveURL" type="xs:anyURI" use="optional"/&gt;
&lt;xs:attribute name="rejectURL" type="xs:anyURI" use="optional"/&gt;
&lt;xs:attribute name="deleteURL" type="xs:anyURI" use="optional"/&gt;
&lt;xs:attribute name="editURL" type="xs:anyURI" use="optional"/&gt;
&lt;xs:attribute name="replyURL" type="xs:anyURI"/&gt;
&lt;/xs:element&gt;
&lt;xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="paginator"&gt;
&lt;xs:attribute name="param" type="xs:string"/&gt;
&lt;xs:attribute name="baseURL" type="xs:anyURI"/&gt;
&lt;xs:attribute name="pageNumber" type="xs:integer"/&gt;
&lt;xs:attribute name="pageCount" type="xs:integer"/&gt;
&lt;xs:attribute name="pageSize" type="xs:integer"/&gt;
&lt;xs:attribute name="objectBegin" type="xs:long"/&gt;
&lt;xs:attribute name="objectEnd" type="xs:long"/&gt;
&lt;xs:attribute name="objectCount" type="xs:long"/&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="bebopForm"&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="bebopLink"&gt;
&lt;/xs:complexType&gt;
&lt;/xs:schema&gt;
</pre>
<h2><a name="8" href="#toc">8 Search</a></h2>
<p>
The schema for search describes the XML document used to represent
the result list and the filter metadata which can be used to build
a query form in HTML.
</p>
<pre class="schema">
&lt;xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gen="http://xmlns.redhat.com/core/bebop/generator/1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
xmlns="http://xmlns.redhat.com/core/search/1.0"
elementFormDefault="qualified"
targetNamespace="http://xmlns.redhat.com/core/search/1.0"&gt;
&lt;xs:element name="query" type="query"/&gt;
&lt;xs:element name="results" type="results"/&gt;
&lt;xs:complexType name="results"&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.search.ui.ResultsPane&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="paginator"&gt;
&lt;xs:attribute name="param" type="xs:string"/&gt;
&lt;xs:attribute name="baseURL" type="xs:anyURI"/&gt;
&lt;xs:attribute name="pageNumber" type="xs:integer"/&gt;
&lt;xs:attribute name="pageCount" type="xs:integer"/&gt;
&lt;xs:attribute name="pageSize" type="xs:integer"/&gt;
&lt;xs:attribute name="objectBegin" type="xs:long"/&gt;
&lt;xs:attribute name="objectEnd" type="xs:long"/&gt;
&lt;xs:attribute name="objectCount" type="xs:long"/&gt;
&lt;/xs:element&gt;
&lt;xs:element name="documents"&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="object" minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:attribute name="oid" type="xs:string"/&gt;
&lt;xs:attribute name="url" type="xs:string"/&gt;
&lt;xs:attribute name="score" type="xs:string"/&gt;
&lt;xs:attribute name="title" type="xs:string"/&gt;
&lt;xs:attribute name="summary" type="xs:string" use="optional"/&gt;
&lt;xs:attribute name="locale" type="xs:string"/&gt;
&lt;xs:attribute name="creationDate" type="xs:string" use="optional"/&gt;
&lt;xs:attribute name="creationParty" type="xs:string" use="optional"/&gt;
&lt;xs:attribute name="lastModifiedDate" type="xs:string" use="optional"/&gt;
&lt;xs:attribute name="lastModifiedParty" type="xs:string" use="optional"/&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="query"&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.search.ui.BaseQueryComponent&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="terms"&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="error" minOccurs="0" maxOccurs="unbounded"&gt;
&lt;/xs:sequence&gt;
&lt;xs:attribute name="param" type="xs:string"/&gt;
&lt;xs:attribute name="value" type="xs:string"/&gt;
&lt;/xs:element&gt;
&lt;xs:element name="filter" minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="error" minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:choice&gt;
&lt;xs:element name="category" type="category" minOccurs="0" maxOccurs="unbounded"/&gt;
&lt;xs:element name="objectType" type="objectType" minOccurs="0" maxOccurs="unbounded"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:sequence&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="category"&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.search.ui.filters.CategoryFilterWidget&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="oid" type="xs:string"/&gt;
&lt;xs:attribute name="title" type="xs:string"/&gt;
&lt;xs:attribute name="description" type="xs:string"/&gt;
&lt;xs:attribute name="isSelected" type="xs:string" use="optional"/&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="objectType"&gt;
&lt;xs:annotation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.search.ui.filters.ObjectTypeFilterWidget&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="name" type="xs:string"/&gt;
&lt;xs:attribute name="isSelected" type="xs:string" use="optional"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:schema&gt;
</pre>
<h2><a name="9" href="#toc">9 A-Z</a></h2>
<p>
The A-Z application is a framework for providing a list of
topics and items paginated by letter.
</p>
<pre class="schema">
&lt;xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gen="http://xmlns.redhat.com/core/bebop/generator/1.0"
xmlns="http://xmlns.redhat.com/atoz/1.0"
elementFormDefault="qualified"
targetNamespace="http://xmlns.redhat.com/atoz/1.0"&gt;
&lt;xs:element name="atoz"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
The AtoZ provides a pluggable letter paginated
listing of topics and optionally items with a
topic
&lt;/xs:documentation&gt;
&lt;xs:appinfo&gt;
&lt;gen:class&gt;com.arsdigita.london.atoz.ui.AtoZPane&lt;/gen:class&gt;
&lt;/xs:appinfo&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element name="letter" minOccurs="26" maxOccurs="26"&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name="isSelected" type="xs:boolean"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="provider" type="provider" minOccurs="0" maxOccurs="unbounded"/&gt;
&lt;/sequence&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:complexType name="entryList"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
This type is a base for an element containing
child entries, either topics or items.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:sequence&gt;
&lt;xs:choice&gt;
&lt;xs:element name="atomicEntry" type="atomicEntry"/&gt;
&lt;xs:element name="compoundEntry" type="compoundEntry"/&gt;
&lt;/xs:choice&gt;.
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="provider"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
A provider is a module which generates A-Z entries.
A category provider may generate a list of items
corresponding to navigation categories.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:extension base="entryList"&gt;
&lt;xs:attribute name="title" type="xs:string"/&gt;
&lt;xs:attribute name="description" type="xs:string" use="optional"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="atomicEntry"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
An atomic entry is a leaf-node in the A-Z, representing
a single item (or page of content) in the A-Z. As such
it has a URL pointing to the location of the item.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="title" type="xs:string"/&gt;
&lt;xs:attribute name="description" type="xs:string" use="optional"/&gt;
&lt;xs:attribute name="url" type="xs:anyURI"/&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="compoundEntry"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation xml:lang="en"&gt;
A compound entry can be thought of as a topic,
with a title and description. It will contain
a number of child entries, representing either
sub-topics or items.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:extension base="entryList"&gt;
&lt;xs:attribute name="title" type="xs:string"/&gt;
&lt;xs:attribute name="description" type="xs:string" use="optional"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexType&gt;
&lt;/xs:schema&gt;
</pre>
<hr align="center" width="80%">
<p>
Written by Daniel Berrange (berrange@redhat.com)
Generated by htmltoc.pl.<br>
</p>
</body>
</html>