Oracle Portal-to-Go Implementation Guide
Release 1.0.2.2

A86635-02

Library

Service

Contents

Index

Prev Next

8
Working with Portal-to-Go XML

This document describes the XML formats Portal-to-Go uses to represent service content and its internal objects. Topics include:

Why XML?

Extensible Markup Language (XML) is a standards-based language for creating structured documents. In an XML document, markup tags describe the content of the document, rather than its visual presentation:

<account_dept>
   <employee>
      <emp_name>Scott</emp_name>
      <emp_ID>20</emp_ID>
   </employee>
   <employee>
      <emp_name>Laura</emp_name>
      <emp_ID>30</emp_ID>
   </employee>
</account_dept>

Because it isolates content from presentation, XML is an ideal language for exchanging data between diverse platforms. Transformers, in the form of XSLT stylesheets or Java classes, render the data in the format best suited to a particular platform.

Oracle XML Parser

Portal-to-Go uses the Oracle XML Parser for Java, version 2.0.2.8. The parser supports the W3C XML 1.0 Standard Recommendation. While the parser supports various character encoding standards, Portal-to-Go uses UTF-8 character encoding.

Version 2.0.2.8 of the parser requires a version attribute in the XSL stylesheet, while prior versions do not. If you have created your own result and/or device transformers, you have to include the XML version number in the XSL stylesheet.

For example:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Without the version attribute, you will receive a runtime error in the Portal-to-Go log file in the form of "missing version attribute from the stylesheet."

The Oracle XML Parser exposes two interfaces:

To improve performance and usability, the APIs reside in a single archive. The Oracle XML Parser is provided as a .jar file comprising the following four packages:

In addition to the standard interfaces, the parser provides numerous extensions. For more information on the extension, see the Portal-to-Go API specifications.

Portal-to-Go XML Formats

In Portal-to-Go, XML serves two primary functions: to define the format of service content and to define repository objects. The content formats include the following:

The Simple Result DTD defines the format of deliverable service content. Adapter Result is an intermediary format for service content.

The object formats include:

The Provisioning DTD defines the structure of user objects. You can use the Provisioning DTD to transfer user information between Portal-to-Go and an external provisioning system.

Repository XML is not defined by a DTD, since repository objects can have extended attributes which cannot be validated. An extended attribute can be an XML document, such as XSLT, or a Java program. Transformer and adapter objects have extended attributes.

Portal-to-Go XML is intended to be extensible. You can modify the DTDs that Portal-to-Go provides, or create your own. This enables you to implement specialized functionality or to customize Portal-to-Go object characteristics.

Symbols

This document contains references for the Portal-to-Go XML formats. The references list the attributes and subelements for every element in the Simple Result and Provisioning DTDs. It uses the following DTD symbols to indicate the usage of subelements.

Symbol  Meaning 

Indicates that a subelement must appear at least once within the parent element. If the plus sign appears after a parenthetical grouping of subelements, then at least one of the listed subelements must appear within the parent element. 

Indicates that a subelement may appear only once or not at all. 

Adapter Result Format

The Adapter Result (also called raw result) format is a simplified, user interface-independent content format. Adapter Result documents must be converted to Simple Result format prior to conversion to their final target format. This intermediary step, called preprocessing, enables you to apply a service-specific transformation to the content returned by an adapter. Result transformers convert Adapter Result documents. Adapter Result format provides an efficient means of exchanging data between chained services.


Note:

Currently, only services based on the Web Integration adapter can use the Adapter Result format.  


Portal-to-Go does not specify an Adapter Result DTD. You can define the content any way you like. While the content is not validated by Portal-to-Go, it must be well-formed. The only element Portal-to-Go requires in Adapter Result content is the <AdapterResult> tag. The remaining structure of the content is important only to the transformer that processes it. For example:

<AdapterResult>
   <Value name="target">
      /parm/epayment/amex
   </Value>
   <Value name="creditcard">
      Please enter your credit card no:
   </Value>
   <Value name="expdate">
      Please enter expiration date:
   </Value>
</AdapterResult>

The sample uses a single element type, the Value tag. The first Value element contains a link to another service in the Portal-to-Go repository tree (using JNDI-naming format).

A result transformer converts the Adapter Result content as follows:

<SimpleResult>
   <SimpleForm link="/parm/epayment/amex">
      <SimpleFormItem name="creditcard" description="Please enter 
                        your credit card no:"/>
      <SimpleFormItem name="expdate" description="Please enter 
                        expiration date:"/>
   </SimpleForm>
</SimpleResult>

Simple Result Format

The elements in the Simple Result DTD represent the elements of an abstract user interface. These include text items, menus, forms, and tables. When converting source content to Simple Result format, adapters map the source content to the appropriate Simple Result element. Likewise, when converting the content from Simple Result format to the target format, transformers map the Simple Result elements to the appropriate elements in the target format.

Content Model

The Simple Result DTD defines the following content model.


Appendix A, "Simple Result DTD Notes", describes the content of the Simple Result DTD in detail and in a clear format.

Element Reference

This section describes the components of the Simple Result DTD.

SimpleResult Element

The SimpleResult element is the root element of a Portal-to-Go service request. This element contains the actual content delivered to the end user.

Attributes

name

The name of the element. This is an optional attribute.

title

The title of the element. This is an optional attribute.

link

A link for this element. This is an implied link and should not be used for mandatory links in an element. It should be used for "see also" type links only.

Subelements

(SimpleContainer

SimpleText

SimpleMenu

SimpleForm

SimpleTable

SimpleImage

SimpleBreak

SimplePhone

SimpleEmail

SimpleHref

SimpleHelp)+

SimpleContainer Element

The SimpleContainer element is used as a logical container for one or more elements.

Attributes

name

The name of the element. This is an optional attribute.

title

The title of the element. This is an optional attribute.

link

A link for this element. This is an implied link and should not be used for mandatory links in an element. It should be used for "see also" type links only.

Subelements

(SimpleText

SimpleMenu

SimpleForm

SimpleTable

SimpleImage

SimpleBreak)+

SimpleText Element

The SimpleText element contains one or more blocks of plain text.

Attributes

name

The name of the element. This is an optional attribute.

title

The title of the element. This is an optional attribute.

link

A link for this element. This is an implied link and should not be used for mandatory links in an element. It should be used for "see also" type links only.

Subelements

SimpleTextItem+

SimpleTextItem Element

The SimpleTextItem element represents a block of plain text, typically a single paragraph.

Attributes

name

The name of the element. This is an optional attribute.

title

The title of the element. This is an optional attribute.

link

A link for this element. This is an implied link and should not be used for mandatory links in an element. It should be used for "see also" type links only.

Contents

#PCDATA

SimpleMenu Element

The SimpleMenu element represents a simple menu with selectable menu items.

Attributes

name

The name of the element. This is an optional attribute.

title

The title of the element. This is an optional attribute.

link

A link for this element. This is an implied link and should not be used for mandatory links in an element. It should be used for "see also" type links only.

Subelements

SimpleMenuItem+

SimpleMenuItem Element

The SimpleMenuItem element represents a single, selectable option in a menu. The option may be another SimpleMenu element.

Attributes

name

The name of the element. This is an optional attribute.

title

The title of the element. This is an optional attribute.

link

A link for this element. This is an implied link and should not be used for mandatory links in an element. It should be used for "see also" type links only.

target

The link target for this item.

section

Used by the WIDL adapter. This is the section identifier within the WIDL file.

separator

A separator to precede or follow a menu item. Possible values:

The default is none.

SimpleForm Element

The SimpleForm element displays one or more input fields.

Attributes

name

The name of the element. This is an optional attribute.

title

The title of the element. This is an optional attribute.

link

A link for this element. This is an implied link and should not be used for mandatory links in an element. It should be used for "see also" type links only.

target

The link target for this item.

section

Used by the WIDL adapter. This is the section identifier within the WIDL file.

Subelements

(SimpleFormItem

SimpleFormSelect)+

SimpleFormItem Element

The SimpleFormItem element is a single input item in a form. The content of this element, which is in parsable character format, specifies default values for the form item.

Attributes

name

The name of the element. This is an optional attribute.

title

The title of the element. This is an optional attribute.

link

A link for this element. This is an implied link and should not be used for mandatory links in an element. It should be used for "see also" type links only.

default

Provides a default value for optional fields. The default value is used only if the field is empty.

mandatory

Indicates whether the form item is mandatory. Possible values are:

The default is no.

maxLength

Specifies a maximum input length.

Contents

#PCDATA

SimpleFormSelect Element

The SimpleFormSelect element is a selectable option menu in a form. The content of this element, which is in parsable character format, specifies default values for the form item.

Attributes

name

The name of the element. This is an optional attribute.

title

The title of the element. This is an optional attribute.

link

A link for this element. This is an implied link and should not be used for mandatory links in an element. It should be used for "see also" type links only.

Subelements

SimpleFormOption+

SimpleFormOption Element

The SimpleFormOption element is an item in a selectable option menu. The content of this element, which is in parsable character format, specifies default values for the form item.

Attributes

name

The name of the element. This is an optional attribute.

title

The title of the element. This is an optional attribute.

link

A link for this element. This is an implied link and should not be used for mandatory links in an element. It should be used for "see also" type links only.

value

The actual value, as character data, assigned when the user selects this option.

Contents

#PCDATA

The contents of this element comprise the text of the option.

SimpleTable Element

The SimpleTable element represents simple tablular data.

Attributes

name

The name of the element. This is an optional attribute.

title

The title of the element. This is an optional attribute.

link

A link for this element. This is an implied link and should not be used for mandatory links in an element. It should be used for "see also" type links only.

Subelements

SimpleTableHeader?

SimpleTableBody

SimpleTableHeader Element

The SimpleTableHeader element represents column headings.

Attributes

name

The name of the element. This is an optional attribute.

title

The title of the element. This is an optional attribute.

link

A link for this element. This is an implied link and should not be used for mandatory links in an element. It should be used for "see also" type links only.

Subelements

SimpleCol+

SimpleTableBody Element

The SimpleTableBody element contains the actual tabular data.

Attributes

name

The name of the element. This is an optional attribute.

title

The title of the element. This is an optional attribute.

link

A link for this element. This is an implied link and should not be used for mandatory links in an element. It should be used for "see also" type links only.

Subelements

SimpleRow+

SimpleRow Element

The SimpleRow element contains a single row of data.

Attributes

This element includes the general attributes.

Subelements

SimpleCol+

SimpleCol Element

The SimpleCol element represents a single table cell. It stores a single value for a table cell.

Attributes

name

The name of the element. This is an optional attribute.

title

The title of the element. This is an optional attribute.

link

A link for this element. This is an implied link and should not be used for mandatory links in an element. It should be used for "see also" type links only.

Contents

#PCDATA

SimpleImage Element

The SimpleImage element references an external image.

Attributes

target

The link target for the image.

SimpleBreak Element

The SimpleBreak element provides a logical break in the layout. This is an empty element.

SimplePhone Element

The SimplePhone element references a phone number.

Attributes

target

The phone number

SimpleEmail Element

The SimpleEmail element references an email address.

Attributes

target

The email address

SimpleHref Element

The SimpleHref element provides an anchor to another resource.

Attributes

target

The link target for the reference.

SimpleHelp

The SimpleHelp element indicates a help text.


Note:

For more information, see Appendix A, "Simple Result DTD Notes,"


The Portal-to-Go Repository

The Portal-to-Go repository holds the persistent Portal-to-Go objects, such as end users, user groups, services, adapters, and transformers. Internally, Portal-to-Go stores these objects as database objects in an Oracle8i database. In most cases, you create or modify repository objects using the Service Designer. However, you can also export, modify, and import the repository as an XML file, using utilities provided by Portal-to-Go. To use these utilities, you must understand the XML structure of the repository, as described in this section.

Portal-to-Go provides an XML editor that you can use to modify the XML definitions of objects directly in the repository. You can also modify objects in an XML file. To do so, you export the repository using LoadXml or the download utility, and edit the resulting XML file. When finished, you re-import the file into the repository, committing your changes. See "XML Tools" for more information on using the XML Editor or the LoadXML utility.

Repository XML enables you to distribute populated repositories easily. It also enables you to access the repository programmatically, and to integrate Portal-to-Go with other systems.


Important:

Changes made directly to the repository XML are not validated by the Service Designer. Use caution to ensure that the changes you make do not cause conflicts or errors.  


Provisioning DTD

The Provisioning DTD defines the XML format for Portal-to-Go users. You can use it to import users into the repository programmatically, or to import a large number of users at once. As illustrated in the following content model, the Provisioning DTD declares only two elements:


PanamaObjects Element

The PanamaObjects element is the root provisioning document element.

Subelements

PUSR_LIST

PUSR_LIST Element

The Portal-to-Go user list.

Subelements

PUSR+

PUSR Element

The PUSR element represents a Portal-to-Go user.

Attributes

externalId

A user's unique identifier in an external provisioning system. For example, this may be a telephone number or an account number. You can use this attribute to tie a Portal-to-Go user to another account. This is an optional attribute.

display name

User's display name. This is an optional attribute.

enabled

Indicates whether the user is enabled. Possible values are:

password

The user's password. In exported repositories, this appears in encrypted form. For uploading, this can be either an encrypted or plain text password. If the string is greater in length than 32 characters, and all uppercase, Portal-to-Go assumes that it is an encrypted password.

administrator

Indicates whether the user has administrator privileges. Possible values are:

designer

Indicates whether the user has designer privileges. Possible values are:

name

The Portal-to-Go user identifier.

anonymous

Indicates whether the user is anonymous. Possible values are:

userRoot

The users home folder.

group

The name of the group to which the user belongs.

Repository XML Reference

The XML file you import into the repository must contain appropriately formatted repository objects. Since objects in the repository, such as transformers, can have extended attributes, Portal-to-Go does not validate repository XML documents. Therefore, Portal-to-Go does not define a Repository DTD.

Your XML definition should use the following elements for repository objects.

PanamaObjects Element

The PanamaObjects element is the root element.

Subelements

PGRP_LIST

PUSR_LIST

TRAN_LIST

PGRP_LIST Element

The Portal-to-Go group list.

Attributes

name

The name of the element. This is an optional attribute.

title

The title of the element. This is an optional attribute.

link

A link for this element. This is an implied link and should not be used for mandatory links in an element. It should be used for "see also" type links only.

Subelements

PGRP

PGRP Element

The PGRP element represents a Portal-to-Go user group.

Attributes

name

The name of the element. This is an optional attribute.

PUSR_LIST Element

The Portal-to-Go user list.

Subelements

PUSR

PUSR Element

The PUSR element represents a Portal-to-Go user.

Attributes

externalId

External identifier. This is an optional attribute.

display name

User's display name. This is an optional attribute.

enabled

Indicates whether the user is enabled. Possible values are:

password

The user's password. In exported repositories, this appears in encrypted form. For uploading, this can be either an encrypted or plain text password. If the string is greater in length than 32 characters, and all uppercase, Portal-to-Go assumes that it is an encrypted password.

administrator

Indicates whether the user has administrator privileges. Possible values are:

designer

Indicates whether the user has designer privileges. Possible values are:

name

The user name.

anonymous

Indicates whether the user is anonymous. Possible values are:

userRoot

The user's home folder.

group

The name of the group to which the user belongs.

TRAN_LIST Element

The Portal-to-Go transformer list.

Subelements

XTRA

JTRA

XTRA Element

The XTRA element represents an XSLT Portal-to-Go transformer.

Attributes

name

The name of the element.

Subelements

EXT_ATTR

EXT_ATTR Element

Extended attribute. The actual XML element that comprises the XSLT implementation.

JTRA Element

The JTRA element represents a Portal-to-Go Java transformer.

name

The name of the element.

className

The complete class name including attributes.

LDEV_LIST Element

The Portal-to-Go logical device list.

Subelements

LDEV

LDEV Element

The LDEV element represents a Portal-to-Go logical device.

Attributes

needsURLCaching

Indicates whether the logical device needs URL caching. If true, URL-encoding request parameters are cached on the server and only small pointers are encoded within the URL that is sent to the logical device. Use this option for devices with limited memory. Possible values are:

name

The name of the logical device.

mimeType

MIME type.

encoding

Character encoding format, such as UTF-8 or ASCII.

defaultTransformer

The default transformer used by the logical device.

prolog

A string inserted in front of the output from the transformer, such as an XML document type.

ADAP_LIST Element

The Portal-to-Go adapter list.

Subelements

ADAP

ADAP Element

The ADAP element represents a Portal-to-Go adapter.

valid

Indicates whether the adapter is valid (accessible). Possible values are:

name

The adapter name.

className

The Java class name.

PSRV_LIST Element

The Portal-to-Go service object list.

Subelements

FOLD

LINK

MAST

BOMA

FOLD Element

The FOLD element represents a Portal-to-Go service folder.

Attributes

url

The location of the service folder, relative to the root URL of the service tree. This attribute is set by the Portal-to-Go system. It cannot be edited.

name

The service folder name.

visible

Indicates whether the folder is visible. Possible values are:

valid

Indicates whether the folder is valid (available). Possible values are:

folder

The master folder where the service folder is located.

owner

The user name of the folder owner.

areaId

A value which determines whether a folder is visible, depending on a user's physical location.

group

The user group that is allowed to access the folder. This is an optional attribute.

LINK Element

The LINK element represents a Portal-to-Go service link.

Attributes

url

The location of the service link, relative to the root URL of the service tree. This attribute is set by the Portal-to-Go system. It can not be edited.

name

The service link name.

visible

Indicates whether the link is visible. Possible values are:

valid

Indicates whether the link is valid (accessible). Possible values are:

folder

The folder where the link is located.

owner

The user name of the link owner.

service

Name of the linked service.

MAST Element

The MAST element represents a Portal-to-Go master service.

Attributes

url

The location of the master service, relative to the root URL of the service tree. This attribute is set by the Portal-to-Go system. It can not be edited.

name

The master service name.

visible

Indicates whether the master service is visible. Possible values are:

valid

Indicates whether the master service is valid (accessible). Possible values are:

folder

The folder where the master service is located.

owner

The user name of the master service owner.

areaID

A value identifying the geographic location of the user.

cost

The amount charged for using the service.

adapter

The adapter used by the master service.

BOMA Element

The BOMA element represents a bookmark.

Attributes

url

The location of the bookmark, relative to the root URL of the service tree. This attribute is set by the Portal-to-Go system. It can not be edited.

name

The bookmark name.

visible

Indicates whether the bookmark is visible. Possible values are:

valid

Indicates whether the bookmark is valid (accessible). Possible values are:

folder

The folder where the bookmark is located.

href

The URL of the external datasource.

AGEN_LIST Element

The Portal-to-Go user agent list.

Subelements

AGEN

AGEN Element

The AGEN element represents a Portal-to-Go user agent.

address

The address of the user agent.

name

The name of the user agent.

user

The Portal-to-Go user associated with the user agent.

logicalDevice

The logical device.

uniqueName

An identifying attribute set by Portal-to-Go.

XML Tools

Portal-to-Go includes the following tools for working directly with the XML interface:

XML Editor

The Portal-to-Go XML Editor is a text editor that allows you to create, modify, and delete repository objects using the XML object interface. The XML Editor provides a graphical navigation tree for accessing objects in the repository.


Important:

The XML Editor does not validate the changes you make to repository objects. Use caution to ensure that the changes you make do not create conflicts or errors in the repository. You should back up the repository before modifying it with the XML Editor.  


Requirements

To use the XML Editor, you must have an RMI server running on the Portal-to-Go server.

Synopsis

oracle.panama.util.client.xmleditor.XmlEditor

Using the XML Editor

To start the XML Editor:

  1. Log on to your Portal-to-Go host.

  2. From the Unix command line enter the following:

    Java oracle.panama.util.client.xmleditor.XmlEditor
    
  3. The Logon dialog appears. Enter the following information and click OK.

Field  Description 

User Name 

The user name of the Portal-to-Go host application server.  

Password 

The password of the Portal-to-Go host application server. 

URL 

The URL of the Portal-to-Go RMI server. The format is:

//host:port/servername

The host is the name of the machine that hosts the Portal-to-Go server. The port and server name identify the Portal-to-Go RMI server. The default values are:

  • Port: 2008

  • Server name: PanamaServer

You can verify and configure these settings in the properties file Rmi.properties.  

The XML Editor Screen appears.

To edit a repository object:

  1. Select the object from the object tree in the left panel of the screen. The object's XML definition appears in the text box to the right.

  2. Make the desired changes to the object definition.

  3. Click the Save button to save the changes to the object.

To remove an object from the repository:

  1. Select the object from the object tree. The object's XML definition appears in the text box.

  2. Click the remove button. The object is removed from the repository.

Query Mode

When the query mode check box is selected, the XML Editor refreshes object definitions from the repository database each time an object is selected. This is recommended, especially when more than one user may be editing repository objects. You can also use the Refresh button to refresh an object definition from the repository database.

LoadXml

The LoadXML utility allows you to download and upload Portal-to-Go repository objects as XML files.

LoadXml reads from stdin and writes to stdout. All logging and error messages are written to stderr. The XML in the file you import with LoadXml must conform to the Repository XML.

The upload function performs the following:

  1. Checks for the objects in the repository by logical unique name.

  2. Loads all dependencies.

  3. If the objects exist in the repository, LoadXml updates the objects.

  4. If the objects do not exist, LoadXml creates new objects.

  5. After each object type is successfully loaded, LoadXml performs a commit. The commit includes all referenced objects (dependencies).

In the unload XML result all objects have an attribute called _objectId, this is the system unique object key. You must look up objects by unique name attribute and not the object key. If you start the program without giving an option, all options are listed.

LoadXML imports and exports the repository identified by the database connect string in the System.properties file. In the development environment, this file is located in the classes/oracle/panama/core/admin directory.

Portal-to-Go does not validate the XML file you import into the repository with LoadXml. To avoid errors, work in an XML file that you have exported from the repository. This gives you a "known good" Repository XML framework for adding, removing, and modifying individual elements.

Synopsis

oracle.panama.core.util.LoadXml [-l username/password] [-x[adgnstu] [expr]] [-c# 
[-p]]

Options

The LoadXml utility takes the following options:

Option  Description 

-l usr/pwd 

Log on to Portal-to-Go using a user name and password. If no administrator is defined in the system, the program allows any user to log on. Otherwise, the user must be an administrator to log on. 

-x 

Unload all repository data to stdout. Can be filtered by adding more options. 

-a 

Adapter filter. Used with the -x option. 

-d 

Logical device filter. Used with the -x option. 

-g 

Group filter. Used with the -x option. 

-n 

Agent filter. Used with the -x option. 

-s 

Service filter. Used with the -x option. 

-t 

Transformer filter. Used with the -x option. 

-u 

User filter. Used with the -x option. 

expr 

Name expression filter. This option can include wildcards, such as: [*%?_]. Used with the -x option. 

-c# 

Upload repository data read from stdin. The argument # is a number that, if set, causes a commit after the specified number of objects are uploaded. An argument of 0 causes a commit after a complete load of the XML data. 

-p 

This option activates provisioning of user data when uploading. This mode is only used with the -c option. The provisioning upload handles the provisioning DTD, and makes it possible to create, enable, disable, and remove users in the repository. This mode always creates new users. If the createUserRoot attribute is set to YES, LoadXml creates a root folder for each user. The provisioning upload uses streaming to load users, and therefore does not resolve dependencies. 

Unload Example

In this example, XML data is written to standard output.

java oracle.panama.core.util.LoadXml -l adm/adm -x > outputfile.xml 

Upload Example

In this example, XML data is read from standard input. It must contain all referenced objects.

prompt$ java oracle.panama.core.util.LoadXml -l adm/adm -c0 < inputfile.xml 

Upload and Download Utilities

You can use the upload and download utilities to import and export the Portal-to-Go repository as an XML file. These utilities invoke LoadXml. They are located in the ServiceDesigner/sample directory of your development environment. You invoke upload from a command prompt as follows:

upload.bat repository.xml

This loads the contents of the file repository.xml into the repository. It accesses the repository specified by the connect string in the client-side System.properties file.

To download a repository:

download.bat repository.xml

This places the contents of the repository in a file named repository.xml.


Prev Next
Oracle
Copyright © 2000 Oracle Corporation.

All Rights Reserved.

Library

Service

Contents

Index