Вы находитесь на странице: 1из 280

TIBCO Designer Palette Reference

Software Release 5.5 November 2006

Important Information
SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE. USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN TIBCO DESIGNER USERS GUIDE). USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME. This document contains confidential information that is subject to U.S. and international copyright laws and treaties. No part of this document may be reproduced in any form without the written authorization of TIBCO Software Inc. TIB, TIBCO, Information Bus, The Power of Now, TIBCO Adapter, TIBCO Administrator, TIBCO BusinessWorks, TIBCO Designer, TIBCO Enterprise Message Service, TIBCO Rendezvous, TIBCO Repository, and TIBCO Runtime Agent are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or other countries. EJB, J2EE, JMS and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All other product and company names and marks mentioned in this document are the property of their respective owners and are mentioned for identification purposes only. THIS SOFTWARE MAY BE AVAILABLE ON MULTIPLE OPERATING SYSTEMS. HOWEVER, NOT ALL OPERATING SYSTEM PLATFORMS FOR A SPECIFIC SOFTWARE VERSION ARE RELEASED AT THE SAME TIME. PLEASE SEE THE README.TXT FILE FOR THE AVAILABILITY OF THIS SOFTWARE VERSION ON A SPECIFIC OPERATING SYSTEM PLATFORM. THIS DOCUMENT IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THIS DOCUMENT AT ANY TIME. THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY OR INDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES. Copyright 1999-2006 TIBCO Software Inc. ALL RIGHTS RESERVED. TIBCO Software Inc. Confidential Information

| iii

Contents

Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii


Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv How to Contact TIBCO Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv

Chapter 1 General Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 AliasLibrary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Enterprise Archive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Generic Image Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Identity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Certificate/Private Key Identity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Identity File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Username/ Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 7 8

LibraryBuilder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Task List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Text Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Chapter 2 XML Tools Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13


Introduction to XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Getting Started with the XML Tools Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a New Resource. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Getting Started with Schema and DTD Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Getting Started with Instance Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Panels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Common Columns In Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Toolbar Buttons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Content Model Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 15 16 17 20 23 25 26 27 32

TIBCO Designer Palette Reference

iv

| Contents
Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schema Properties Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schema Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Elements/Types Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Elements/Types List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Content Model Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Attributes Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Overview Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Properties Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Advanced Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simple Types Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schema Props Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Validations Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Component Doc Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Source Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 36 37 39 39 39 40 48 49 52 57 62 65 67 67 67 68

XML Schema Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Exercise 1: Building a Simple Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Exercise 2: Defining and Deriving Complex and Simple Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 DTD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Configuration Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Schema Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Elements Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 The Element List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 The Content Model Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Attributes Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Overview Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Properties Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Advanced Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Schema Properties Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Errors Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Notes Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Source Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 DTD Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XML Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting a Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Content Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Content Panel: Tag Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Content Panel: Edit Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIBCO Designer Palette Reference

118 119 119 119 119 120 121 130

Contents v

Errors Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Source Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 XML Instance Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Building Your Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customizing and Populating Your Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 136 137 138

Chapter 3 Adapter Resources Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141


Specifying Generic Adapter Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring a New Adapter Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Services to Your Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Advanced Adapter Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Custom Log Sinks to Your Adapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Extended Properties to Your Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Custom Hawk Microagents to Your Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A Note on Global Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using a Message Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Testing Your Adapter Using Adapter Tester . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generic Adapter Configuration Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logging Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Startup Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Monitoring Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Services Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Publication Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Subscription Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Request-Response Invocation Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Request-Response Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SSL Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Certificates to Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Identity Resources to Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TIBCO Rendezvous SSL Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . JMS SSL Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Custom Log Sink Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Log Sinks Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . File Sink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . stdio Sink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Network Sink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hawk Sink. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Roles to Sinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 142 143 144 145 146 147 148 149 149 152 155 155 155 156 157 159 159 161 163 166 169 169 169 170 171 174 174 175 176 176 177 177

Sessions Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 RV Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179


TIBCO Designer Palette Reference

vi

| Contents
RVA Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RVCM Session. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RVCMQ Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RVTX Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . JMS Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 180 181 183 184

Transaction Control and Advisory Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Transaction Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Advisories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Folder Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adapter Services Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Advanced Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Log Sinks Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sessions Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Timers Folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transaction Controls Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Advisories Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Metadata URLs Folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Endpoint Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Endpoints Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Publisher Endpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Subscriber Endpoints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Client / Request-Response Invocation Service Endpoints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Server / Request-Response Service Endpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Schema to Endpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 191 192 192 193 193 193 193 194 194 195 195 195 199 200 202 203 203

Chapter 4 Adapter Schema Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205


Understanding Schema Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Managing Schema for Standard Adapters With Custom Palettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Managing Schema for Adapters that Are Loaded Into GAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Managing Schema for Custom Adapters Created with the SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How TIBCO Applications Use Schema Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring Standard Adapter Endpoints and Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Custom Adapter Schema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TIBCO Designer Schema Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AESchemas Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adapter Schemas Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining a Class with Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining a Class with Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scalars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 206 206 207 207 209 210 212 212 212 213 213 216 217 221

TIBCO Designer Palette Reference

Contents vii

Unions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Schema Resource Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scalar Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Union Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sequence Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generic Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generic Scalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generic Union. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generic Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Class Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scalar Field. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Union Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sequence Field. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TIBCO Designer Adapter Schema Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Folder Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AESchemas Folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classes Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scalars Folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unions Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sequences Folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Associations Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 227 227 228 228 228 229 229 229 230 230 230 230 231 231 231 232 232 232 232 232

Chapter 5 Repository Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Projects and Repositories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Showing the Repository Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Repository Finder Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Repository Finder to Locate Repositories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 234 235 235 235

Navigating the Repository Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Repository Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Managing Repository Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating Repository Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying Additional Repository Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cloning Repository Instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting Repository Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Stopping a Repository Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Starting or Stopping a Repository Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 243 245 246 247 247 248

Managing Repository Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Exporting and Importing Repository Instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Adding TIBCO Repository Directories and Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

TIBCO Designer Palette Reference

viii

| Contents
Advanced Repository Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 Viewing Attributes of Repository Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Modifying Attributes Inside Repository Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Menus and Toolbar Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Repository Server Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Repository Instance Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Toolbar Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 257 257 258

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

TIBCO Designer Palette Reference

| ix

Figures

Figure 1 Figure 2 Figure 3 Figure 4 Figure 5 Figure 6 Figure 7 Figure 8 Figure 9 Figure 10 Figure 11 Figure 12 Figure 13 Figure 14 Figure 15 Figure 16 Figure 17 Figure 18 Figure 19 Figure 20 Figure 21 Figure 22 Figure 23 Figure 24 Figure 25 Figure 26 Figure 27 Figure 28

Adding an XML Resource to your project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Editing environment for Schema and DTD resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Instance editing environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Common table columns used by XML Tools palette resources . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Content Model Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Diagram for a sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Diagram for a choice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Optional and repeatable set of choices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 All occurrence indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Mixed content model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 All content model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Element/Types panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Element/Type list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Completed content model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Content Model Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Attributes panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Overview panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Referencing an element from another namespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Notations tab of the advanced pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Creating a new simple type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Graphical view of the schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Referencing a complex type in another schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 A completed content model for a Book element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Content model editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Referencing a reusable (internal parameter entity) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Attributes panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Overview panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Enumerations tab of the properties pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
TIBCO Designer Palette Reference

Figures

Figure 29 Figure 30 Figure 31 Figure 32 Figure 33 Figure 34 Figure 35 Figure 36 Figure 37 Figure 38 Figure 39 Figure 40 Figure 41 Figure 42 Figure 43 Figure 44 Figure 45 Figure 46 Figure 47 Figure 48 Figure 49 Figure 50 Figure 51 Figure 52 Figure 53 Figure 54 Figure 55 Figure 56 Figure 57 Figure 58 Figure 59 Figure 60

Creating an internal parameter entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Referencing a parameter entity within a content mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Listing of external parameter entities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Defining internal general entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Defining an external general entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Defining an external unparsed entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Graphical view of the schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 XML instance editing environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Content panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Insert box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Factory bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Inserting a comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Right button menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Content hint as tool tip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Navigator bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Siblings displayed on navigator bar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Item and type level (right-button) menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Selecting a hidden element to show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Specifying an alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Color options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Promoted elements and attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Resizing rows to allow for additional promotion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Content hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Row format (the default view) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Markup format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Blue ellipsis icon for collapsing or expanding markup view. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Content panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Document-building options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 TIBCO Rendezvous CM SSL Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 TIBCO E4JMS SSL Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 TIBCO Designer Generic Adapter Configuration Default Folders . . . . . . . . . . . . . . . . . . . . . . . . . 192

TIBCO Designer Palette Reference

| xi

Tables

Table 1 Table 2 Table 3 Table 4 Table 5 Table 6 Table 7 Table 8 Table 9 Table 10 Table 11 Table 12 Table 13 Table 14

XML Tools panels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Toolbar buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Schema menu options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 XML menu options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Occurrence indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Sequence indicators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Properties tab fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Occurrence indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Sequence indicators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Datatypes within a DTD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Occurrence indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Sequence indicators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Cipher suite list. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Icons in Extended Properties Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

TIBCO Designer Palette Reference

xii

Tables

TIBCO Designer Palette Reference

| xiii

Preface

TIBCO Designer is an easy to use graphical user interface for creating and deploying integration projects. TIBCO Designer allows you to drag and drop components into a project and then specify configuration information for each component.

Topics
Related Documentation, page xiv How to Contact TIBCO Customer Support, page xiv

TIBCO Designer Palette Reference

xiv

| Related Documentation
Related Documentation
TIBCO Designer groups configuration resources into palettes. For each TIBCO Designer palette, there is a separate book, available via online help. You can access the different books in various ways: From TIBCO Designer, choose Help > Help For, then select the palette you are interested in. From TIBCO Designer, right-click any resource to get documentation about it. The books are also available in HTML and PDF in the doc folder for the product in question.

As a rule, TIBCO Designer is not installed standalone but in conjunction with another product. Most palettes are product specific, however, a number of palettes are included with TIBCO Designer by default and included in this document. See the TIBCO Designer Release Notes for information about new features and known and closed issues.

How to Contact TIBCO Customer Support


For comments or problems with this manual or the software it addresses, please contact TIBCO Support Services as follows. For an overview of TIBCO Support Services, and information about getting started with TIBCO Product Support, visit this site: http://www.tibco.com/services/support/default.jsp If you already have a valid maintenance or support contract, visit this site: http://support.tibco.com Entry to this site requires a username and password. If you do not have a username, you can request one.

TIBCO Designer Palette Reference

|1
Chapter 1

General Palette

The General palette contains resources used by different TIBCO applications.

Topics
AliasLibrary, page 3 Enterprise Archive, page 4 Folder, page 5 Generic Image Resource, page 6 Identity, page 7 LibraryBuilder, page 9 Task List, page 10 Text Document, page 12

TIBCO Designer Palette Reference

| Chapter 1

General Palette

Introduction
When you install TIBCO Designer as part of a TIBCO Runtime Agent installation, a small number of default palettes are included. This document is a reference to each of these default palettes. Some step-by-step instructions are included where appropriate. When you install other products that use TIBCO Designer, such as TIBCO BusinessWorks or a custom adapter, those products add palettes and the corresponding palette documentation to TIBCO Designer.

TIBCO Designer Palette Reference

AliasLibrary 3

AliasLibrary
The AliasLibrary resource allows you to specify aliases to file system resources (such as a jar file) that need to be included in your project. To use a file system resource, a project needs to know where to find it. Since projects are exported or deployed to different machines and different environments, Designer uses aliases to specify file locations. Before including a file, an alias is created that specifies the files location. An alias is part of your preferences and is common to all of your projects. Aliases are created and managed under the File Alias tab in the Preferences dialog. Resources that reference an AliasLibrary will package all the referenced files when their enterprise archive file is built. Because AliasLibraries reference files via a reference, you must insure that the machine where the enterprise archive file is generated can access all externally referenced files. See Creating an AliasLibrary on page 76 in the TIBCO Designer Users Guide for more information.

TIBCO Designer Palette Reference

| Chapter 1

General Palette

Enterprise Archive
When you are ready to deploy your project, you must generate an enterprise archive file. An enterprise archive file contains information about the adapter instances and process engines you wish to deploy, and additional files that may be required to support your configuration. See Chapter 5, Creating an Archive for Deployment in the TIBCO Designer Users Guide for details.

TIBCO Designer Palette Reference

Folder 5

Folder
Folders are used to organize resources. TIBCO Designer palettes, such as the Adapter Resource or Adapter Schema palette, use folders to organize resources. TIBCO Designer users can also use folders to organize the resources in their projects. TIBCO Designer supports two kinds of folders: Folders created from a Folder resource in the General palette, displayed with a multi-folder icon, become folders in the file system. Other folders, such as the Adapter Services folder inside an adapter configuration are logical folders. These folders only exist in memory in the resource that holds them. The actual data for these elements is stored in a file.

TIBCO Designer Palette Reference

| Chapter 1

General Palette

Generic Image Resource


The Generic Image resource allows you to associate a custom image with a predefined resource. This is useful, for example, if you have configured a Generic Adapter Configuration and you wish to represent it with a custom image. To add an image to a project, follow these steps: 1. With the General palette displayed in the palette panel, drag a Generic Image resource into the design panel. You now have two choices: a. Choose Built-in to associate one of the already available images (for example, a folder icon) with your image. Name the new icon, then choose Browse and select the corresponding (already loaded) image. b. Choose Custom to specify an image name and the location where it is stored. You may select the Preview tab to preview the image. To associate the image with a resource in the project, follow these steps: 2. Choose the View > Toggle Custom Icon Support menu. 3. When you select a resource, it now displays an Icon Browse and select the icon.
Reference

field. Click

TIBCO Designer Palette Reference

Identity 7

Identity
This resource encapsulates identity information that may be used to authorize a user, connection, and so forth. The information you supply changes depending on the type of Identity resource you wish to use.

Certificate/Private Key Identity


Use this option if the private key and the certificate are in two separate files. Name Description Certificate URL Name of this identity resource. Optional description. Location of the certificate. Click the browse icon or type in a URL. Note that you can add the certificate in PEM format by choosing Tools > Trusted Certificates > Import into PEM Format. Location of the private key file associated with the certificate. Password used for private key.

Key URL Key Password

Identity File
Use this option of the certificate includes the private key information in the same file. Name Description URL Name of this identity resource. Optional description. Location of the certificate (which includes the private key). Click the browse icon or type in a URL. Note that you can add the certificate in PEM format by choosing Tools > Trusted Certificates > Import into PEM Format. Choose the certificate from the pop-up. Password for the certificate.

File Type Password

TIBCO Designer Palette Reference

| Chapter 1

General Palette

Username/ Password
Use this option if you dont want to use certificate but only username/password for authentication. Supply information in the following fields: Name Description Username Password Name of this identity resource. Optional description. Name of the user for this identity. Password for the user for this identity.

TIBCO Designer Palette Reference

LibraryBuilder 9

LibraryBuilder
The LibraryBuilder resource allows you to share resources you have defined in a project with other project developers. This allows you to create shareable resources once, then allow other project developers to use them in their projects. For example, Rendezvous resources, JMS resources, schemas, and process definition libraries can be part of a design-time library. A LibraryBuilder resource is used in a design-time library. See Creating a LibraryBuilder Resource on page 79 in the TIBCO Designer Users Guide for details.

TIBCO Designer Palette Reference

10

| Chapter 1

General Palette

Task List
TIBCO Designer allows you to create one or more task lists and include them with your project. Each task list can describe either a project or a project component and consists of a number of tasks. As the tasks are updated by their owners, the task list itself is updated. The advantage of task list resources is that they are always saved and opened as part of the project. To use a task list, follow these steps: 1. With the top-level folder selected, select the Project palette mode. 2. Drag a Task
List Tracker

palette if in

resource from the palette panel into the design panel.

3. Supply information about the task list name and subject, a description, and the owner of the list, then click Apply. 4. Select the task list. A new set of icons appears in the tool bar. Icon Description Add task list. Adds a task list to the currently selected task list. Task lists can contain both tasks and task lists. Add task. Adds a task to the currently selected task list. You can later convert the task to a task list if desired. Delete task. Deletes the selected task

Move up. Moves the selected task or task list up in the hierarchy.

Move down. Moves the selected task or task list down in the hierarchy.

Convert to task list. Converts a selected task into a task list. This is useful when you realize that a task you created actually consists of a number of subtasks. 5. Drag tasks and task lists into the design panel as needed.
TIBCO Designer Palette Reference

Task List 11

6. For each task or task list, you can specify the following information: Task Subject Description Owner Completed 7. Then click the Details tab to specify the following information: You can only specify Detail information for tasks, not for task lists. When you have completed all tasks in a task list, the task and task lists are checked in the task hierarchy. Planned Start Date Planned Completion Date Estimated Worktime (hours) Actual Start Date Actual Completion Date Actual Worktime (hours) Progress If you do not choose the format month/day/year for the dates, a "bad value" error results. 8. The task list is now saved with the project. Each time a developer wishes to make a change to one of the tasks, she may do so and the task list will be updated appropriately.

TIBCO Designer Palette Reference

12

| Chapter 1

General Palette

Text Document
The Text Document resource can be used as a simple text file for notes that you can associated with your project or place in folders inside the project. For each Text and the text.
Document,

you can provide a name (which appears as the label)

TIBCO Designer Palette Reference

| 13
Chapter 2

XML Tools Palette

The XML Tools palette provides a set of tools enabling the creation, management, and validation of XML schemas (XML Schema or DTD) and XML instance documents.

Topics
Introduction to XML, page 14 Getting Started with the XML Tools Palette, page 15 Schema, page 36 XML Schema Exercises, page 69 DTD, page 81 DTD Exercise, page 112 Instance, page 118 XML Instance Exercise, page 136

TIBCO Designer Palette Reference

14

| Chapter 2

XML Tools Palette

Introduction to XML
XML provides a flexible set of structures that can hold different types of information, from highly structured database tables and lists to more free-form documents. The tightly defined requirements for XML documents ensure that all applications adhere to the same rules when they read (technically, parse) and write documents. The XML 1.0 specification leaves little room for conflicting syntactical interpretations of the same XML document. As a result, it allows the exchange of documents across a wide variety of platforms, applications, and development environments.

TIBCO Designer Palette Reference

Getting Started with the XML Tools Palette 15

Getting Started with the XML Tools Palette


The XML Tools palette allows you to create and define the following types of XML resources: DTD A Document Type Definition (DTD), the schema language specified by the W3C XML 1.0 specification. Schema An XML Schema, as defined by the W3C Recommendation (May 2001). Instance An XML document conforming to either an XML Schema or DTD. (The Instance resource can also be used to create XML documents that do not use a schema.)

Schemas and DTDs can be used in several places within your integration project. For example, WSDL files (files that describe web services) use schemas to define the input and output messages of a web service. Several TIBCO BusinessWorks activities have Input Editor or Output Editor tabs where you can use a reference to a defined schema.

Creating a New Resource


To add a new XML resource to your project, follow these steps: 1. Select a folder in the project panel. The XML Tools palette becomes available. If the palette is not available Make sure youre in palette mode by clicking the switch palette mode icon. Choose the Palettes > General > XML Tools menu and make sure XML Tools is checked. 2. From the palette panel, drag a Schema, DTD, or Instance icon into the design panel to add that resource to your project. For additional information on basic interaction with TIBCO Designer and on customizing your GUI, see the TIBCO Designer Users Guide.

TIBCO Designer Palette Reference

16

| Chapter 2

XML Tools Palette

Figure 1 Adding an XML Resource to your project

Existing XML resources can be added to a folder in your project by way of the Project menu (Project > Import Resources from File, Folder, URL...).

Features
When you select a Schema or DTD resource in the project panel, a set of new panels becomes available. You can use these panels to create, validate, and manage the schema resource. Features include: Real-time DTD error checking Graphical representations of schemas for intuitive development and communication Intuitive properties panel facilitating the application of advanced schema concepts such as data type constraints and substitution groups (XML Schema only) Component and schema level documentation Tools for including other schemas and/or schema components when building a new schema

TIBCO Designer Palette Reference

Getting Started with the XML Tools Palette 17

A Source view for directly editing the source code

Because a DTD is not as feature-rich as an XML Schema, the editing environment for an XML Schema and a DTD is similar, but not identical. With a few exceptions, the DTD interface supplies a subset of the functionality provided by the Schema interface.

Getting Started with Schema and DTD Resources


You can access the schema editing panels by using a set of toolbar buttons or the Schema menu. The available tools combine to present a consistent view of your schema. Figure 2 illustrates the editing environment for Schema and DTD resources. Figure 2 Editing environment for Schema and DTD resources

Content Model Diagram

Properties Panel

Elements/Types Panel

Configuration Panel

When you begin work on a new XML Schema or DTD, most of your work will be performed in the Element/Types Panel, which is used to declare the elements, complex types, and attributes that define document structure and describe data content.

TIBCO Designer Palette Reference

18

| Chapter 2

XML Tools Palette

Example: Creating a Schema For example, to create an element called Book for a schema describing the structure of a book (which may contain elements such as a title, author, chapters, sections, glossary, index, and so on), follow these steps: 1. Drag a Schema resource from the palette panel to the design panel and double-click it to open it. 2. If starting a new document, tab to the Element column and replace root with Book. Names must begin with a letter and may contain numbers, underscores, dashes, and full stops -- typically periods. 3. Ignore the Derives From column for now as this declaration will not be derived from an existing complex type definition. 4. Tab to the Content column and select the appropriate content type from the Content Type button. In this example, the content for Book will contain other elements (such as Chapter), so select Elements.

5. Tab to the Content Model column and type in the content model of the book. A simple content model for Book might look like the one shown below. See

TIBCO Designer Palette Reference

Getting Started with the XML Tools Palette 19

Elements/Types Panel on page 39 and Example: Building a Content Model on page 45, for more information on how to build a content model.

If the content model contains references to sub-elements that are not yet declared, a prompt to create entries for these elements will appear. 6. Select Create
new elements as Locally defined

and click Create.

By default, new elements are declared to have xs:string content, which means they can hold text, but not other elements. XML Schema elements can be declared locally or globally. Local elements exist within the context of their parent element only. Accordingly, you could have a local element named title that appears within a book element and another local element named title that appears within a mortgage element. Global elements are declared such that they can be referenced within any content model. All global elements must have unique names.

TIBCO Designer Palette Reference

20

| Chapter 2

XML Tools Palette

7. Click Create to create the elements. 8. Tab to the Attributes column for the element's row and type in attributes for the element. For example, the element Chapter may include attributes that give us more information about a chapter, such as its chapter number and chapter title. If an attribute is as yet undefined, it is automatically created with data type xs:string. These attributes can be seen and modified in the Attributes Panel. See Attributes Panel on page 49 for more information. The figure below illustrates the elements declared in this example.

The Elements/Type panel always appears beneath the content model diagram. The content model diagram only appears if the Elements/Type panel is selected. The content model diagram provides a graphical overview of your schema.

This serves as a brief introduction into the types of declarations used to build your schema. An overview of the other panels used to build your Instance resources is provided in Table 1 on page 23. For step-by-step XML Schema building exercises, see XML Schema Exercises on page 69. To build a sample DTD, see DTD Exercise on page 112.

Getting Started with Instance Resources


When an Instance resource is selected within the project panel, a new set of panels appears, providing an interface for creating and navigating the resource. Features include:

TIBCO Designer Palette Reference

Getting Started with the XML Tools Palette 21

Document-building guidance based on the rules defined in an XML Schema or DTD Validation against an XML Schema or DTD Source view enabling direct edits to the source code Multiple customized displays of an XML document

The new panels, in addition to new toolbar buttons and menu options, facilitate the schema-driven creation, editing, and management of data-oriented XML documents, messages, and configuration files. The next diagram illustrates the editing environment for instance resources. Figure 3 Instance editing environment

The interface is optimized for XML documents based on a schema, so associating your document with a schema in your project is typically the first step. For example, to create an instance of an invoice schema: 1. Drag an Instance resource into the design panel and double-click it to select it. 2. Click the Set Schema button on the toolbar.

Select the desired schema from your project and indicate the element to serve as the root element for the document. Most of your work will be performed in the content panel, which consists of a listing of the elements and attributes

TIBCO Designer Palette Reference

22

| Chapter 2

XML Tools Palette

(tag area) on the left and an area for inserting values for the elements and attributes (edit area) on the right.

Tag area

Edit area

3. To enter data for an element or attribute (if allowed by the schema), click the corresponding field in the edit area and type in the value.

When a new schema is set, content hints appear as grayed-out text strings in the edit area. The content hints indicate the expected content, as defined by the schema, for the associated element or attribute in the tag area. For more information, see Content Hints on page 131. 4. When a new schema is set, only required elements and attributes appear in the tag area. To add more elements or attributes, double click an element to generate a drop down box. This box always contains an empty box with a series of icons below. These icons, when selected, determine the type (element, attribute, and so on) and location (child, sibling, parent) of the node to be entered. If the document is based on a schema, any elements and attributes available based on the

TIBCO Designer Palette Reference

Getting Started with the XML Tools Palette 23

schema's content models also appear in the insert drop down box, and can be added with a single mouse click.
insert new element insert new attribute insert as child insert as sibling insert as parent insert new text insert new comment insert new processing instruction

insert schema-defined element or attribute

The factory bar at the bottom of the content panel, provides another option for entering new elements and attributes.

An overview of the other panels you can use to build your Instance resources is provided in Table 1 on page 23. A detailed, step-by-step XML instance building exercise is included at the end of the Instance chapter. See XML Instance Exercise on page 136.

Panels
When working with a resource from the XML Tools palette, new panels are provided to help you review and refine the resource. The panels are summarized in the Table 1. Table 1 XML Tools panels Panel Configuration Resource All Description The configuration panel is used for setting the XML resource name. For more information on the configuration panel, see: Schema Properties Panel, page 37 (Schema) Configuration Panel, page 81 (DTD) Configuration Panel, page 119 (Instance)

TIBCO Designer Palette Reference

24

| Chapter 2

XML Tools Palette

Table 1 XML Tools panels Panel Source Resource All Description The source panel allows you to edit the source code of your XML resource directly. For more information on the source panel, see: Validation or Errors All Source Panel, page 68 (Schema) Source Panel, page 111 (DTD) Source Panel, page 135 (Instance)

The errors or validation panel displays warnings and errors detected throughout the editing process. For more information on the errors or validations panel, see: Validations Panel, page 67 (Schema) Errors Panel, page 109(DTD) Errors Panel, page 134 (Instance)

Elements/Types

Schema and DTD

The elements/types panel enables you to view, create, and edit element and attribute declarations and complex type definitions. The elements/types panel is typically the place you'll start defining your schemas. For more information on the elements/types panel, see: Elements/Types Panel, page 39 (Schema) Elements Panel, page 83 (DTD)

Note: This panel is referred to as the elements panel when working with DTD resources. Content Instance The content panel provides the primary editing area. The panel loads by default when an Instance resource is selected in the project panel. The content panel consists of a left-hand listing of the elements and attributes (tag area) and a right-hand area for inserting values for the elements and attributes (edit area). For more information on the content panel, see Content Panel, page 120. The attributes panel is used to view, create, and edit attribute type declarations. For more information on the attributes panel, see: Attributes Panel, page 49 (Schema) Attributes Panel, page 92 (DTD)

Attributes

Schema and DTD

TIBCO Designer Palette Reference

Getting Started with the XML Tools Palette 25

Table 1 XML Tools panels Panel Overview Resource Schema and DTD Description The overview panel is used to control the creation of schemas that use XSD Includes, XSD Imports and DTD System Entities (modules), as well as explore the overall organization of your schema. For more information on the overview panel, see: Properties Schema and DTD Overview Panel, page 52 (Schema) Overview Panel, page 99 (DTD)

The properties panel is used to associate properties or constraints with a selected declaration. For more information on the properties panel, see: Properties Panel, page 57 (Schema) Properties Panel, page 101 (DTD)

Advanced

Schema and DTD

The advanced panel is used to define or edit parts of XML schemas that move beyond the description of document structures, such as namespaces, notations, entities, and processing instructions. For more information on the advanced panel, see: Advanced Panel, page 62 (Schema) Advanced Panel, page 102 (DTD)

Simple Types

Schema

The simple types panel enables XML Schema authors to create their own types (simple types), which can then be applied to element declarations and attributes in the schema. For more information on the data types panel, see: Simple Types Panel, page 65

Component Doc or Notes

Schema and DTD

The component doc or notes panel provides an area where you can add schema or declaration level documentation.For more information on the component doc or notes panel, see: Component Doc Panel, page 67 (Schema) Notes Panel, page 109 (DTD)

Common Columns In Tables


Several panels use tables to display the declarations within a schema. Figure 4 illustrates the first two columns that many tables share.
TIBCO Designer Palette Reference

26

| Chapter 2

XML Tools Palette

Figure 4 Common table columns used by XML Tools palette resources


Row Selector/Error Indicator Column Included Document Indicator Column

Row Selector/ Error Indicator This column contains grey or red dots located at the start of each row on the left. Right-clicking on a dot brings up a menu offering cut, copy, paste, and delete or clear options. (Multiple rows can be selected at a time using the Shift and Ctrl keys). A red dot indicates there is an error in the declaration. If you hover the mouse cursor over a red dot for a few seconds, a description of the declaration's error is displayed. Included Document Indicator This column indicates whether a declaration comes from the file being edited. If a small document icon with a red line through it appears in this space, the declaration cannot be edited directly here, because the declaration comes from a file that has been included from the overview panel. To edit these declarations, right click the document icon and choose unlock. Be aware, however, that any changes made to the declarations will be reflected in the original (external) document as well.

Toolbar Buttons
When editing or viewing XML Tools resources, additional buttons appear on the toolbar. The toolbar buttons are described in Table 2. Table 2 Toolbar buttons Toolbar Button Resource All All Schema and DTD Function Checks the resource for errors and reports the results in the errors panel. Opens the source panel. If the button is dimmed, the panel is already open. Opens and closes the overview panel.

Schema and DTD

Opens and closes the properties panel.

TIBCO Designer Palette Reference

Getting Started with the XML Tools Palette 27

Table 2 Toolbar buttons Toolbar Button Resource Schema and DTD Function Opens the elements/types panel. If the button is dimmed, the panel is already open. Note: This panel is referred to as the elements panel when working with DTD resources. Schema Schema and DTD Instance Opens the simple types panel. If the button is dimmed, the panel is already open. Opens the attributes panel. If the button is dimmed, the panel is already open. Opens the content panel.

Instance Instance

Allows you to associate a schema from your project with your instance document. Allows you edit your schema. Apply your changes to have them reflected in the content panel for the Instance resource.

Menu Options
When editing resources in the XML Tools palette, menus become available for performing various operations. For Schema and DTD resources, the Schema menu becomes available. For Instance resources, the XML Menu becomes available. The following sections describe the options available for these menus. Schema menu (Schema and DTD resources) A Schema menu becomes available when editing a Schema resource. The Schema menu contains two submenus, View and Tools (or Edit). The View menu provides options to control the panels used for editing, organizing, and viewing your schemas. The Tools (or Edit) menu includes options for searching or editing your schema, checking your schema for errors, and defining reusable schema components.

TIBCO Designer Palette Reference

28

| Chapter 2

XML Tools Palette

Table 3 describes the Schema menu. Table 3 Schema menu options Menu Schema > View Schema > View Schema > View Schema > View Option Schema Properties Overview Properties Element/Types Description Opens the schema properties panel. Opens or closes the overview panel. Opens or closes the properties panel. Opens the element/types panel. If the option is dimmed, the panel is already open. Note: This panel is referred to as the elements panel when working with DTD resources. Schema > View Simple Types Opens the simple types panel. If the option is dimmed, the panel is already open. Note: This option is available for Schema resources only. Schema > View Schema > View Schema > View Schema > View Schema > View Schema > View Schema > View Schema > View Attributes Advanced Source Notes or Component Doc Errors or Validation Zoom In Zoom Out Auto-Update Diagram Opens the attributes panel. If the option is dimmed, the panel is already open. Opens the advanced panel. If the option is dimmed, the panel is already open. Opens the source panel. If the option is dimmed, the panel is already open. Opens or closes the notes or component doc panel. Opens or closes the errors or validation panel. Makes the items in the content model diagram larger. Makes the items in the content model diagram smaller. The Auto-Update Diagram feature updates the content model diagram every time a change is made. This menu option toggles this feature on or off.

TIBCO Designer Palette Reference

Getting Started with the XML Tools Palette 29

Table 3 Schema menu options Menu Schema > View Schema > View Option Diagram Attributes Expand Description Displays or hides attributes in the content model diagram. Launches the Content Model Editor, an expanded dialog box for editing content models. The Content Model Editor launches only when the cursor is located within the Content Model column of the element/type list. Checks the DTD for errors and reports the results in the errors panel. (This function can also be performed by way of the Errors button on the toolbar.) Provides options for creating either reusable pieces of declarations or text. For more information on reusables, see Building Content Models with Reusables (Internal Parameter Entities), page 90 (DTD). Provides options for editing existing reusable pieces of declarations or text. Enables you to search for text in the active window. Select this option for the initial search. Searches for the next occurrence of the text previously entered in the Find dialog box. Used to search and replace text in the active window. Replace is used for the initial search-and-replace. Searches and replaces the next occurrence of the text previously entered in the Replace dialog box.

Schema > Tools

Check For Errors

Schema > Tools

Define Reusable

Schema > Tools Schema > Tools or Edit Schema > Tools or Edit Schema > Tools or Edit Schema > Tools or Edit

Edit Reusable Find Find Again Replace

Replace Again

XML Menu (Instance resources) An XML menu becomes available when editing an Instance resource. The XML menu contains three submenus: Tools, View, and Presentation. The Tools menu includes options for inserting elements or attributes and for locating and replacing text.
TIBCO Designer Palette Reference

30

| Chapter 2

XML Tools Palette

The View menu provides options to control the panels used for editing, organizing, and viewing your XML instance. The Presentation menu allows you to associate one or more customized views with the active instance document. The presentations are associated at the schema level, so the views you create for a single document adhering to a schema become available for all instances of the schema.

Table 4 describes the XML menu. Table 4 XML menu options Menu XML > Tools XML > Tools XML > Tools XML > Tools XML > Tools XML > View Option Insert Find Find Again Replace Replace Again Navigator Description Enables you to insert an element, attribute, comment, or processing instruction. Enables you to search for text in the active window. Select this option for the initial search. Searches for the next occurrence of the text previously entered in the Find dialog box. Used to search and replace text in the active window. Replace is used for the initial search-and-replace. Searches and replaces the next occurrence of the text previously entered in the Replace dialog box. Toggles the navigator bar on or off. If a check appears to the left of the menu item, the Context bar is turned on. Toggles the factory bar on or off. If a check appears to the left of the menu item, the factory bar is turned on. Opens or closes the errors panel that displays errors found when validating a document against a schema. Toggles on or off the blue markup icons to the immediate left of items in the tag structure. If a check appears to the left of the menu item, the option is turned on.

XML > View XML > View XML > View

Factory Errors Markup Icons

TIBCO Designer Palette Reference

Getting Started with the XML Tools Palette 31

Table 4 XML menu options Menu XML > View Option Content Hints Description Toggles on or off content hints that are displayed at half-intensity ('grayed-out') in the edit area to the right of certain elements or attributes. If a check appears to the left of the menu item, the option is turned on. Hides or displays any default values specified for attributes in the schema. If a check appears to the left of the menu item, the option is turned on. Displays the content panel. If a check appears to the left of the menu item, the content panel is displayed. Displays the source panel. If a check appears to the left of the menu item, the source panel is displayed. Choosing this option will left-align all tags and markup icons in the tag area. When Align Labels is active, the View menu selection changes to Indent Labels. Choosing Indent Labels will return the tag structure to its default display (with indents). Creates a new presentation. Returns the content view to its default environment to allow new customizations from scratch. Allows you to name and save the current presentation. A listing of the previously defined presentations. The presentation currently displayed is indicated by a check mark. Sets the presentation selected in the presentation listing as the presentation to appear by default when its associated schema is initially set. Removes the selected presentation.

XML > View

Default Attributes

XML > View XML > View XML > View

Content Source Align Labels/Indent Labels

XML > Presentation

New

XML > Presentation XML > Presentation

Save As (Presentation Listing) Set Default

XML > Presentation

XML > Presentation

Remove

TIBCO Designer Palette Reference

32

| Chapter 2

XML Tools Palette

Content Model Diagram


The content model diagram of the elements/types panel graphically displays the content models in a Schema or DTD resource. It presents the relationships between elements (that is, parent elements, child elements, and so on) with diagrams and provides additional information about elements, such as their attributes and occurrence and sequence within a content model. You can use the content model diagram to read, explore, or edit your schemas. Reading the Content Model Diagram To view a content model, click the appropriate element in the element/type list (below the diagram). The content model diagram is updated to reflect the currently selected element or type's content model. The content model diagram uses a visual vocabulary to represent complex element content models. Elements are displayed as objects (in boxes) within the content model diagram. The boxes contain element names, data type indicators, and occurrence indicators. An elements content model may be composed of text, other elements, text and elements, data, or none of these (as defined in the element definition). The icons used in the content model diagram are illustrated in Figure 5. Figure 5 Content Model Diagram

Element icon

Element content indicator Type name

Type content indicator Occurrence indicator Occurrence indicator (optional) (Optional & repeatable)

Attribute icon

TIBCO Designer Palette Reference

Getting Started with the XML Tools Palette 33

If an elements content model includes other elements (as indicated by the element content icon), the child elements may also be displayed in the content model panel. To view an elements children, click once on the parent elements content indicator icon to expand its tree. To collapse the tree and hide the child elements, click on the parent element object again. Sequence indicator symbols do not appear in the content model diagram, but they are implied. Sequence content models are represented by right-angle brackets, with elements listed in the order that they must appear. Figure 6 illustrates the presentation of an element named sequence. Figure 6 Diagram for a sequence

Elements that are separated by the 'or' symbol ('|') in the content model appear to the right of the parent element, after two diagonal branch indicators, in the order they appear in the content model. Figure 7 shows the representation of an element named choices with the content model (choice1 | choice2 | choice3). Figure 7 Diagram for a choice

Occurrence indicator symbols are used to identify how often an element may or must appear and are shown in the content model diagram. If occurrence indicators apply to a group of elements, the elements are illustrated in the content model diagram as branching off an occurrence indicator symbol. Figure 8 shows a content model similar to that presented in Figure 7, but with the group of choices made optional and repeatable. The multichoice element has the content model (choice1 | choice2 | choice3)*.

TIBCO Designer Palette Reference

34

| Chapter 2

XML Tools Palette

Figure 8 Optional and repeatable set of choices

If an occurrence indicator applies only to a single element, it appears appended to the box with the element name. Figure 9 shows a possibilities element whose content model contains all the occurrence indicators: (seq1, choice1?, choice2+, choice3*). Figure 9 All occurrence indicators

Mixed declarations always offer a choice of elements that are both optional and repeatable. These appear as the mixed element shown below in Figure 10. Note that the mixed element may contain both text and elements. Figure 10 Mixed content model

For Schema resources, if a content model is defined as all, a conforming document must contain exactly one of each element specified in the content model (or zero if an element is specified as optional), with the elements occurring in any order. (Elements within an all content model cannot be repeatable.) Figure 11 illustrates the all content model (all1 & all2 & all3), represented with an arc.

TIBCO Designer Palette Reference

Getting Started with the XML Tools Palette 35

Figure 11 All content model

Navigating with the Content Model Diagram The content model diagram also provides navigation to the specifics about a particular element or attribute. To scroll to an element's type definition in the list of elements, right-click on the element while browsing the element in the content model diagram. A context-sensitive menu appears. Click the Go to Element Name option, and the selected element is made active in the list of element definitions. Editing with the Content Model Diagram Right-clicking on your content model diagram brings up a menu that allows you to edit your content models. In addition to the navigation features described above, the menu allows you to change the element's occurrence or content. If you choose to modify the content (content model or data type) for the element, your changes are reflected in the Content and Content Model/Data Type columns of the element/type list below the content model diagram. Modifying the Display of the Content Model Diagram To modify the display of the content model panel, right-click the yellow background. A menu appears with the following options. Zoom In zooms in on the diagram. Zoom Out zooms out on the diagram. Diagram Attributes elements attributes are displayed in the diagram. (This option is selected by default). Show Used-by Pane displays the used-by panel to appear on the right hand side of the content model diagram. This panel displays a list of other elements (if any) that contain the currently selected element in their content model. All potential parent elements that explicitly include this element in their content models are listed. (If no parents appear, then the element may only be used as a document root element or in content models of ANY.) Clicking on any element name in the list makes the element the currently selected element, changing the display.
TIBCO Designer Palette Reference

36

| Chapter 2

XML Tools Palette

Schema
Resource

The Schema resource of the XML Tools palette enables the creation of an XML Schema file, as defined by the W3C Recommendation (May 2001). An XML Schema describes the vocabulary and structures that may appear within an XML instance document conforming to that schema. Schemas use their own formal grammars to express document structures and vocabulary. If a set of documents uses the same schema, the documents may have markedly different contents, but can share common processing. Applications check documents against the schema, and process them only if the document passes inspection (more commonly called validation). By providing a common formal vocabulary for describing the terms on which information will be exchanged, schemas act as an easily enforced contract between senders and receivers (and creators and consumers) of information. When a Schema resource is selected in your project, a set of new panels, menu options, and toolbar buttons is provided, helping you build and edit your schema from a variety of different perspectives. Each panel provides access to a different set of tools. The multiple panels may show information simultaneously, but all of them combine to present a consistent view of your schema. This chapter describes each of the panels in detail. For a hands-on demonstration of the schema editing environment, see XML Schema Exercises on page 69.

Configuration Tab
The Configuration tab has the following fields. Field Name Target Namespace Description Name of the file when persisted. The *.xsd suffix will be automatically added. Namespace for your declarations and definitions. See Target Namespace Tab on page 37.

TIBCO Designer Palette Reference

Schema 37

Schema Properties Panel


Double-click a Schema resource to edit it. When editing a Schema resource, the configuration panel provides tabs for setting or viewing schema-level properties. You are not required to edit the fields in the configuration panel, although it is recommended that you provide your schema resource with a meaningful name and target namespace. Target Namespace Tab The Target Field Schema Name Target Prefix
Namespace

tab has the following fields.

Description Name of the file when persisted. The *.xsd suffix will be automatically added. Prefix used to identify your declarations and definitions as being part of your target namespace. If no prefix is set, the target namespace is also the default namespace for your schema. Namespace for your declarations and definitions. A target namespace is provided by default. It is recommended that this namespace be changed to reflect a more meaningful URL. Check this field to import the reserved XML namespace, enabling the use of the attributes defined within the XML namespace (xml:lang, xml:space, or xml:base).

Target Namespace

Import Reserved XML Namespace

Schema Attributes Tab The Schema Attributes tab is used to specify schema-level properties (specifically, attributes of the schema element that control how the schemas components can be used within the schema or within XML instance documents.) Because these attributes serve very specific purposes, the fields within the Attributes tab typically do not need to be edited. Field elementFormDefault Description By default, the elementFormDefault attribute of the element takes the value qualified. Thus, you must declare top-level elements to be associated with a namespace in the instance document.
schema

TIBCO Designer Palette Reference

38

| Chapter 2

XML Tools Palette

Field attributeFormDefault

Description By default, the attributeFormDefault attribute of the schema element takes the value unqualified. Thus, unless you specify otherwise, only globally declared attributes can be associated with a namespace in the instance document. Use the blockDefault attribute of the schema element to control whether types can be replaced by their derived types in instance documents. The blockDefault attribute takes one of the values in the drop-down menu. The value you select will prevent type replacement in the instance if derivation is of that value. Select #all to prevent any type replacement by derived types

blockDefault

finalDefault

The finalDefault attribute of the schema element allows you to specify that new types may not be derived from any simple or complex type. Click the arrow to display the drop-down menu choices. The id attribute on the schema element can be used to apply an identifier value to your schema. The value you give for id must be of type ID, which requires an NCName. The version attribute on the schema element can be used to apply a version value to your schema.

id

version

The settings in the Schema Attributes tab are universal, controlling all of the schemas components. To specify similar properties for an individual component, use the Properties tab of the properties panel. See Properties Tab, page 57. Schema Documentation Tab This tab displays an edit area where you can add schema level documentation for your schema.

TIBCO Designer Palette Reference

Schema 39

Schema Statistics Tab The Schema Statistics tab is not editable. The tab displays the number of times a schema component type is used. The tab has the following fields. Field Element Type Complex Types Simple Types Attributes Attribute Groups Model Groups Notations Includes Imports Description Number of element declarations. Number of complex type definitions. Number of user-derived data type definitions. Number of attribute declarations Number of attribute group definitions. Number of model group definitions. Number of notation declarations. Number of includes declarations. Number of imports declarations.

Toolbar
For a description of the buttons that appear on the toolbar when editing Schema resources, see Toolbar Buttons on page 26.

Schema Menu
A Schema menu becomes available when editing a Schema resource. The Schema menu contains two submenus, View and Edit. The View menu provides options to control the panels used for editing, organizing, and viewing your schemas. The Edit menu includes options for searching your schema. The Schema menu options are described in detail in Table 3 on page 28.

Elements/Types Panel
The elements/types panel enables you to view, create, and edit element and attribute declarations and complex type definitions. The elements/types panel is typically the place you'll start defining your schemas.
TIBCO Designer Palette Reference

40

| Chapter 2

XML Tools Palette

The panel is divided into two parts: a graphical view of the content model (the content model diagram) and an editable list of element declarations and complex type definitions and their content models (the element/type list panel). The next diagram illustrates the element/types panel. Figure 12 Element/Types panel

Elements/Types List
The elements/types list, located at the bottom of the elements/types panel, is where much of the creation and editing of element declarations and complex type definitions takes place. The next diagram illustrates the element/type list. Figure 13 Element/Type list

TIBCO Designer Palette Reference

Schema 41

Each element and/or complex type is listed in a row of the table. Information that defines each item appears in columns across the table and includes the following (from left to right). Column Row Selector/ Error Indicator Description This column allows you to modify the row and detect errors in the declaration. See Common Columns In Tables on page 25 for more information about this column. This column indicates whether the declaration comes from a file or from an external schema. See Common Columns In Tables on page 25 for more information about this column. Warning: Any changes made to unlocked declarations of an included schema will be reflected in the included schema as well. Declaration Type (D) Click within this column to indicate whether the row should be used for an element declaration (signified by an E) or a complex type definition (signified by a T). The desired declaration type can be selected by clicking the Decl Type button. This column is labelled as either Element or Complex Type depending on the type of declaration indicated in the Declaration Type column for the selected row. A new element or complex type can be created by clicking on a blank row under the Element/Complex Type column, and then entering a name. To edit an element or complex type name, click on an existing name in the Element/Complex Type name column. Note: Element and complex type names must begin with a letter and may contain other letters, numbers, underscores, dashes, and periods. Derives From The Derives From column allows you to extend or restrict the definition of an existing complex type. Buttons are provided to select the complex type for derivation and to specify whether restriction or extension is desired. Use the Content Model column to specify how the new complex type should be derived from the existing one.

Included Document Indicator

Element/ Complex Type

TIBCO Designer Palette Reference

42

| Chapter 2

XML Tools Palette

Column Content

Description The content column is used to specify the type of content model to be created. When the user tabs to this column, a Content Type button appears, providing a menu of the following choices.
Any

The content model contains any combination of elements and/or character data (text).

Empty When an element has no content at all, its content model is empty. Essentially, a model is defined that allows only elements in its content but does not actually declare any elements, so the type's content model is empty. Mixed In a mixed content model, an element contains other elements interleaved with character content. Character data can appear alongside child elements and is not confined to the deepest child elements. Elements

The content model contains elements

only. The content is either a simple type (such as or xs:float) or a named complex type.
Typed xs:string, xs:integer,

TIBCO Designer Palette Reference

Schema 43

Column Content Model/Data Type

Description The Content Model/Data Type column displays the content model of the elements and provides a set of tools for creating and editing content models and data types. (The name of this column is either Content Model or Data Type, depending on the content type set in the Content column.) Users who are comfortable with occurrence and sequence indicator syntax can enter element content models directly by typing them in the Content Model column. For users not yet comfortable with occurrence and sequence indicators, a series of buttons are provided to help the user create and edit content models. See Building Content Models: Occurrence and Sequence Indicators on page 44 for more information. The Insert button provides a drop-down menu that differs depending on whether the content model may include elements or data. The Insert menu provides a quick way to add content that's been previously defined, such as a built-in data type, a user-defined simple type, an element, or a complex type. The selected material is inserted at the current location of the cursor. See Example: Building a Content Model on page 45 for more information. For a description of XML Schemas built-in data types, see http://www.w3.org/TR/xmlschema-2/#built-in-dataty pes

Attributes

The Attributes column allows the user to specify which attributes may be used for a particular elements. If an attribute name is entered which does not yet exist, it is automatically created with a default data type of xs:string and with no constraints (The declaration can be further refined in the attributes panel at any time. See Attributes Panel on page 49 for more information.) When the user tabs to an Attributes field, an Insert Attribute button appears. Click the button to access a menu listing previously defined attributes. Selecting an attribute name adds it to the element or complex type being defined

TIBCO Designer Palette Reference

44

| Chapter 2

XML Tools Palette

Building Content Models: Occurrence and Sequence Indicators For element content models, buttons are also provided for applying sequence and occurrence indicators. Table 5 describes the Occurrence indicators. Table 6 describes the Sequence indicators. Table 5 Occurrence indicators Occurrence Indicator None ? Meaning The element must appear once and only once. The element (or group of elements) may appear zero or one times. The element is optional, but is only allowed to appear once if used. The element (or group of elements) must appear one or more times. The element is required to appear at least once, but multiple consecutive occurrences may be present. The element (or group of elements) may appear zero or more times. The element can appear as many times consecutively as needed, or even zero times. The element (or group of elements) must appear within the specified range of times. In Content Model column, click... (This is the default occurrence). Optional but not Repeatable. Repeatable but not Optional.

Repeatable and Optional.

{}

{} and specify the min. and

max. values for the range.

Table 6 Sequence indicators Occurrence Indicator | , & () Meaning Can be read as 'or'. Creates content model with particles enumerated (only one may be chosen). Can be read as 'followed by,' requiring that the elements or groups of elements appear in the precise sequence indicated. Elements may appear in any order, but may not be repeatable. Groups elements, allowing a set of choices or a sequence to be used anywhere that a single element can appear. In Content Model column, click... Choices Sequence All ()

TIBCO Designer Palette Reference

Schema 45

Occurrence and Sequence indicators combine to make it possible to describe complex structures. For example, a memo might allow multiple entries in its To: and From: fields, multiple (or zero) entries in its cc: field, a single entry for the subject, required content for the body, and an optional set of initials at the bottom for the typist. A MEMO element might therefore have the following content model:
(To+, From+, CC*, Subject, Body, Typist?)

This declaration requires the MEMO element to contain, in sequence, one or more To elements, one or more From elements, zero or more CC elements, a single Subject element, a single Body element, and zero or one Typist elements. In other cases, a document needs to provide choices. A chapter might require an introduction, but then permit any combination of sections or sidebars. Sequence indicators, in combination with occurrence indicators, can make this possible. The content model for a chapter element might therefore look like:
(Intro, (Section | Sidebar)*)

The Intro element could appear once (and only once) at the start of the chapter, and then Section or Sidebar elements could follow in any order. (This model is read as an Intro element followed by zero or more Section or Sidebar elements.) Example: Building a Content Model This section steps you through building a content model for an element or complex type using the buttons provided in the Content Model column. Figure 14 shows a completed content model. Figure 14 Completed content model

When referencing elements from other namespaces, be sure to prepend the element name with the prefix for the external namespace, followed by a colon (e.g. prefix:componentName). The prefix is listed in the Namespaces tab of the advanced panel. For more information, see Example: Referencing an element from another namespace on page 54.

TIBCO Designer Palette Reference

46

| Chapter 2

XML Tools Palette

You will build the content model for an element based on the structure of a book. The content model would likely include several elements, including a Title, an Author, multiple Chapters, maybe an Appendix (or several), perhaps a Glossary, and possibly an Index. Assuming these elements are already declared (as shown in the next diagram), the steps to build the content model for Book appear below:

1. In the row for Book, click in the blank cell under the Content Model column. This is where the entry for the content model will be created. A series of buttons will appear. 2. Click the Insert button. A pull-down menu of all the element declarations within the file appears.

3. Select the first element to be part of the content model (in this case, youll start with Title). Repeat this step, selecting each element that is part of the content model. It is best to select the sub-elements in sequence if possible, because as each sub-element is selected, a comma is inserted between items by default to

TIBCO Designer Palette Reference

Schema 47

indicate that they are in sequence. The sub-element will always be inserted where the cursor is placed in the content model.

If the elements for the content model have not been previously declared, type them in within the parentheses. When the content model is completed, you will be prompted to auto-create (declare) the new elements. 4. Which items may be repeatable? Within a book, the chapters usually occur more than once, so this sub-element needs to be indicated as a repeatable item. Highlight Chapter in the Content Model, and click on the Repeatable button. This adds a '+' indicator after Chapter, to indicate it is repeatable. Likewise, there may be more than one appendix, so highlight Appendix and click Repeatable to add a '+' indicator after Appendix.

5. Which items are optional? Within a book, a glossary or index may not always occur, so these sub-elements need to be made optional. Highlight Glossary, and click the Optional button. Likewise, highlight Index, and click the Optional button. This will place a '?' after each of these sub-elements, to indicate they are optional.

6.

is also an optional item (not all books have appendices). Highlight and click the Optional button. Because Appendix is now both optional and repeatable, it is indicated with an '*' after it. Press the <Enter> key or click anywhere else in the element list to complete the content model definition.
Appendix Appendix

The buttons not used in this example include: the Choices button, which indicates choices between several sub-elements (sub-elements are separated by an '|' indicator). the All button, which indicates that the elements can appear in any order, but may not be repeatable.
TIBCO Designer Palette Reference

48

| Chapter 2

XML Tools Palette

The {} button, which is used to set specific occurrence ranges for repeatable elements.

Building Content Models: Content Model Editor If the space provided by the Content Model column is too small to see all of an element content model, select Expand from the Schema > View menu or press the Ctrl Shift E keys to bring up the Content Model Editor dialog box. The Content Model Editor provides more room for editing, making it easier to work with larger content models, and gives easy access to the elements and reusables. To add an element or reusable model group to a content model, click on its name. Occurrence and Sequence indicator buttons are also available in the editor. The Apply button adds the edited content model to the list, but leaves the editor open. The Cancel button closes the editor without making any changes to the content model in the list, while the Save button closes the editor and makes the changes. Figure 6 illustrates the Content Model Editor. Figure 15 Content Model Editor

Content Model Diagram


The content model diagram of the elements panel graphically displays the content models in a Schema resource. It presents the relationships between elements (that is, parent elements, child elements, and so on) with diagrams and provides additional information about elements, such as their attributes and occurrence and sequence within a content model. You can use the content model diagram to read, explore, or edit your schemas. See Content Model Diagram on page 32 for more information about the content model diagram.

TIBCO Designer Palette Reference

Schema 49

Attributes Panel
When you select the Schema > View > Attributes menu, or when you click the Attributes button on the toolbar, the attributes panel becomes the primary panel for editing. The attributes panel is used to view, create, and edit attribute type declarations. While you can also create an elements attribute in the element/type list, you must use the Attributes panel to specify an attributes data type. Constraints, facets and enumeration of attributes are set from the properties panel when the attribute is selected. Figure 16 illustrates the attributes panel. Figure 16 Attributes panel

Each attribute is listed in a row of the panel. Information associated with each attribute appears in columns across the panel and includes the following (from left to right). Column Row Selector/Error Indicator Included Document Indicator Attribute Name Description This column allows you to modify the row and detect errors in the declaration. See Common Columns In Tables on page 25 for more information about this column. This column indicates whether the declaration comes from the file being edited or from an external schema. See Common Columns In Tables on page 25 for more information. A new attribute can be created by clicking on a blank row under the attribute name column, and then entering a name. To edit an attribute name, click on an existing name in the attribute type name column. Note: Attribute names must begin with a letter and may contain other letters, numbers, underscores, dashes, and periods.

TIBCO Designer Palette Reference

50

| Chapter 2

XML Tools Palette

Column Element

Description The Element column lists the element to which an attribute belongs. You can enter the element to which an attribute belongs by typing its name in the element column. Attributes have much simpler content model choices than elements. You can enter an attribute's data type in the Data Type column by typing it or by clicking the Type button and then choosing a data type from the list of built-in types. An Insert user-defined type button allows you to select from a menu listing the data types (if any) created in the data types panel. See Simple Types Panel on page 65. Note: For a description of XML Schemas built-in data types, see http://www.w3.org/TR/xmlschema-2/#built-in-dataty pes

Data Type

Example: Creating or Editing an Attribute Attributes are created by declaring an attribute type in the attributes panel or by entering attribute names for an element in the element/type list of the elements/types panel. New attributes entered in the element/type list of the elements/types panel are automatically created in the attributes panel with a data type of xs:string. Creation of an attribute type within the attributes panel consists of several steps. As an example, let's say we have an element Picture, with the attribute GraphicsType. GraphicsType is an attribute that tells us if a picture is a JPG, TIF, or GIF file. To declare an attribute, follow these steps: 1. Create an element named Picture, assign it the Elements content type and create an attribute by typing GraphicsType in the Attributes column. Names must begin with a letter and may contain numbers, underscores, dashes, and full stops -- typically periods. An attribute type declaration, by default, sets the data type for an attribute to In this example, GraphicsType will be enumerated (that is, it will only ever have the value of JPG, TIF, or GIF). Because the values for this
xs:string.

TIBCO Designer Palette Reference

Schema 51

enumeration are best defined as strings, the xs:string data type is appropriate. An attribute type declaration, by default, sets the data type for an attribute to xs:string. In this example, GraphicsType will be enumerated (that is, it will only ever have the value of JPG, TIF, or GIF). Because the values for this enumeration are best defined as strings, the xs:string data type is appropriate. For example:

2. Right-click the GraphicsType attribute and select Goto Attribute Picture/GraphicsType.

3. Because GraphicsType can be only be a JPG, TIF, or GIF, these values must be entered in the attribute type declaration. Click on the Properties button on the toolbar and then click on the Enumeration tab. In the text box at the top, enter JPG, and then click the Add button. Follow the same procedure to add TIF and GIF.

4. A default value can be entered for an attribute. The value must have been defined under the Enumerations tab. For example, to set the default value of

TIBCO Designer Palette Reference

52

| Chapter 2

XML Tools Palette

GraphicsType

to JPG, click the Properties tab and enter JPG in the default

field.

This completes the declaration for GraphicsType.

Overview Panel
When selected from the Schema > View menu or upon clicking the Overview button on the toolbar, the overview panel loads to the left of the elements/types panel. The overview panel allows you to control the creation of schemas that use imports and includes, as well as explore the overall organization of your schema. The overview panel's tools let you build schemas from declarations in multiple files, creating large composite schemas from sets of smaller ones, enhancing reusability and simplifying management. Figure 17 illustrates the overview panel, with a right button menu activated. Figure 17 Overview panel

TIBCO Designer Palette Reference

Schema 53

Overview Tree The overview panel provides a tree-like overview of the schema structure. Each schema component type is represented by an icon, described in the table below. Icon XML Schema Component element

attribute

namespace

complex type

simple type (user-defined data type)

model group

attribute group

XML comment

schema document

included schema

A right menu button is provided for each component in the overview tree. From the menu, you can cut, copy, paste or delete a declaration or module (removing it or changing its location in the schema). There is also an option to Go to or Edit the component, which will take you to an area to edit the selected item.

TIBCO Designer Palette Reference

54

| Chapter 2

XML Tools Palette

If the declaration is located in an external schema that has been added to the current schema, a menu option to unlock the module is provided. Before any edits can be made to included declarations (identified by a document icon with a red slash), the included schema must be unlocked. When a module is unlocked, the red line disappears from the document icon. When you're done editing the included declarations, you can right-click on the module and lock it again . Any changes made to unlocked declarations of an included schema will be reflected in the included schema as well. Import Button The Import button of the overview panel allows you to import the namespace of another schema in your project, making the components defined in the other schema that can be referenced in your schema. To remove a namespace, right click on the namespace (labelled with the namespaces prefix) and select Delete from the pop-up menu that appears. Example: Referencing an element from another namespace When building a schema, it is often desirable to reuse components already defined in another schema. If the other schema belongs to a different target namespace, its namespace can be added to (technically, imported into) the schema you are building. To import a namespace and then reference the components from that namespace, follow these steps: 1. Click the Import button of the overview panel.

TIBCO Designer Palette Reference

Schema 55

2. Browse to and select the schema containing the components you would like to reference.

The imported namespace will appear as an icon in the overview panels tree and as an entry in the Namespaces tab of the advanced panel. 3. The components (elements, attributes, complex types, and user-defined simple types) from the imported namespace can now be referenced within the content models of your schema. When referencing components from other namespaces, be sure to use the prefix for the external namespace. In Figure 18, an address element defined in a different namespace is being used within the content model for a ship-to element. Figure 18 Referencing an element from another namespace

The prefix used to associate components with the namespace can be changed in the Namespaces tab of the Advanced panel. An imported schema must belong to a different target namespace than the importing schema. If the external schema shares the same namespace with the schema you are building, consider reusing its components through the Include option described next.

TIBCO Designer Palette Reference

56

| Chapter 2

XML Tools Palette

Include Button The Include option of the overview panel allows you to include the declarations from another of your projects schemas into the schema you are currently building. To remove an included schema, right click on the included schema icon and select Delete from the pop-up menu that appears. Example: Including declarations from another schema When building a schema, it is often desirable to reuse components already declared in another schema. If the other schema belongs to the same target namespace (or no namespace) as the schema you are building, the declarations in the other schema can be added to (technically, included in) the schema you are building. This example illustrates the steps required to include another schemas declarations into your schema. 1. Click the Include button of the overview panel. 2. Browse to and select the schema containing the declaration you would like to use. The included module will appear in the Overview tree, identified by the included document icon. 3. The included schemas declarations will now appear in the declaration panels for your current schema and can be used just like any other declaration. The added declarations are not editable by default, however. To edit these declarations, right click the document icon and choose unlock. Be aware, however, that any changes made to the declarations will be reflected in the original document as well.

An included schema must belong to the same target namespace as the including schema or to no namespace (in which case it becomes part of the including schemas namespace). If the external schemas namespace differs from the schema you are building, consider reusing its components through the Include option described above.

TIBCO Designer Palette Reference

Schema 57

Properties Panel
When selected from the Schema > View menu or upon clicking the Properties button on the toolbar, the properties panel loads to the left of the elements/types panel. The properties panel includes three tabs: Select the Properties tab to specify advanced properties on the selected declaration. For more information this tab, see Properties Tab. Select the Facets tab to apply facets that constrain the value of a data type. For more information on this tab, see Facets Tab on page 60. Select the Enumeration tab to create a list of acceptable values for the specified data type. For more information on this tab, see Enumeration Tab on page 61.

Properties Tab The Properties tab is accessed by clicking the Properties button on the toolbar. The Properties tab is used for setting and viewing component level properties. The properties control how the component can be used within the Schema or within an XML instance document. The Properties tab becomes active when an element, complex type, attribute, or Simple type declaration (row) is selected in its respective panel. The fields available within the Properties tab, summarized Table 7 below, vary depending on the selected declaration type. Table 7 Properties tab fields Field id abstract Description Use the id field to add an identifier to the selected component declaration. Check this box to declare the element or type as abstract. Abstract elements may not appear in an instance document; rather a member of that element's substitution group must be used in the instance document. If an element's corresponding type definition is abstract, all instances of the element in the XML document must specify a derived type that is not abstract by way of the xsi:type attribute.

TIBCO Designer Palette Reference

58

| Chapter 2

XML Tools Palette

Table 7 Properties tab fields Field block Description Use the block property to control whether types can be replaced by their derived types in instance documents. The block property takes one of the following values:
restriction

- prevents type replacement in the instance if derivation is by restriction

extension - prevents type replacement in the instance if derivations is by extension substitution

- prevents replacement by substitution groups in the instance document

restriction extension - prevents type replacement in the instance document if derivation is byrestriction or extension restriction substitution

- prevents replacement in instance documents by substitution groups and prevents type replacement if derivation is by restriction

extension substitution - prevents replacement in instance documents by substitution groups and prevents type replacement if derivation is by extension

final

#all - to prevent any type replacement in the instance document by derived types or by substitution groups

The final property allows you to prevent new types from being derived from the selected simple or complex type. The final property takes one of the following values:
restriction

- to prevent derivation by restriction in the schema document

extension - to prevent derivation by extension in the schema document

#all - to prevent any derivations at all in the schema document

TIBCO Designer Palette Reference

Schema 59

Table 7 Properties tab fields Field default Description Use this field to specify a default value for the selected element or attribute declaration. If the element or attribute appears in an XML instance, it can have any value that corresponds to the data type. If the element or attribute does not appear, the schema processor will assign the element or attribute's value to be what you've specified in this field. Use this field to specify a fixed value for the selected element or attribute declaration. If the element or attribute appears in an XML instance document, it must match the value you've specified in this field. If the element or attribute does not appear, the schema parser will assign the element or attributes value to be what you've specified in this field. Click here if you require missing or unknown element content to be stated explicitly in the XML instance document. Use this field to provide an alias for a globally declared element. A reference to the global element validates not just the global element itself, but elements corresponding to any member of the substitution group as well. Elements in a substitution group must have the same type as the global element, or they can have a type that has been derived from the global element's type. Use this field to specify whether the selected element or attribute should be either qualified or unqualified in the instance document. If qualified, the element or attribute must be associated with the target namespace in the instance document. If unqualified, a locally declared element or attribute must not be associated with the target namespace in the instance document. (By default, elements and attributes are defined as unqualified. The default setting can be changed in the Attributes tab of the configuration panel). The settings in the Properties tab apply to the selected component only. To apply similar properties to all instances of a component type in the schema, use the Attributes tab of the configuration panel. See Schema Properties Panel on page 37 for more information.

fixed

nillable substitution group

form

TIBCO Designer Palette Reference

60

| Chapter 2

XML Tools Palette

Facets Tab The Facets tab is used to further constrain the acceptable values for your schemas components by applying facets to your simple types (data types). Accordingly, the Facets tab becomes applicable when a declaration uses a simple type, such as a text-only element declarations, attribute declarations, and user-derived data type definitions. When constraints are applicable, the Facets tab can be accessed by: clicking the Properties button on the Toolbar and then clicking the Facets tab of the properties panel. clicking the Facets button in the Simple types column of the elements/types panel. clicking the Facets button in the Base type column of the Simple types panel. clicking the Facets button in the Data type column of the attributes panel.

The constraining facets available within the Facets tab, summarized in the table below, vary depending on the type of data type being used. Facet Make list length Description Check this option if a white space separated list of values (corresponding to the data type) is desired. Constrains the value of the type to a single length, as measured by number of characters. (If the base type is hexBinary or base64Binary, this facet constrains the value to a single length, as measured in octets of the binary data.) When specifying this facet, you must use a nonNegativeInteger. Constrains the value of the type to a minimum length, as measured by numbers of characters. (If the base type is hexBinary or base64Binary, the unit of measurement is octets of binary data.) When specifying this facet, use a nonNegativeInteger. Constrains the value of the type to a maximum length, as measured by numbers of characters. (If the base type is hexBinary or base64Binary, the unit of measurement is octets of binary data.) When specifying this facet, use a nonNegativeInteger.

minLength

maxLength

TIBCO Designer Palette Reference

Schema 61

Facet whiteSpace

Description Specifies how white space should be handled in the types value. A menu offering the options to collapse, preserve, or replace white space is provided. Constrains the value of a decimal-based data type to a total number of digits. When specifying this facet, use a nonNegativeInteger. Constrains the value of a decimal-based data type to a maximum number of digits in the fractional part. When specifying this facet, use a nonNegativeInteger. Constrains the value of the type to a specific pattern. When specifying this facet, use a regular expression. Constrains the value of the type to an inclusive upper bound. That is, the types value must be less than or equal to this facets value. Constrains the value of the type to an exclusive upper bound. That is, the types value must be less than this facets value. Constrains the value of the type to an inclusive lower bound. That is, the types value must be greater than or equal to this facets value. Constrains the value of the type to an exclusive lower bound. That is, the types value must be greater than this facets value.

totalDigits

fractionDigits

pattern maxInclusive

maxExclusive minInclusive

minExclusive

When working within the elements/types panel or attributes panel, the constraints applied to a data type exist within the context of the element or attribute declaration only. That is, the constrained data type is not reusable. To create a reusable data type with a given set of constraints, use the data types panel. Enumeration Tab The Enumeration tab allows you to enumerate allowable values of a specified simple type (data type). Accordingly, the Enumeration tab becomes applicable when a declaration uses a simple type, such as a text-only element declarations, attribute declarations, and user-derived data type definitions.

TIBCO Designer Palette Reference

62

| Chapter 2

XML Tools Palette

When an enumeration is applicable, the tab can be accessed by clicking the Properties button on the Toolbar, and then clicking the Enumeration tab in the properties panel. In the text box at the top of the Enumeration tab, enter a value and then click Add. Repeat this procedure for each of the enumeration's values. The values will appear in the list box beneath the text box used for input. You can use the Up and Down buttons to reorder the values in the list. You can also select a value in the list and either Delete it or Replace it with a value entered in the text box at the top. As you edit the enumeration in the Enumeration tab, the current values are reflected in the appropriate column of the active panel.

Advanced Panel
When you choose the Schema > View > Advanced menu, the advanced panel becomes the primary panel for editing. The advanced panel allows you to define or edit parts of XML schemas that move beyond the description of document structures. The advanced panel consists of three tabs. Namespaces Tab The Namespaces tab provides an inventory of the external namespaces being used by your schema. The XML Schema namespace (unless designated as the default namespace) and any namespaces added by way of the Import button of the overview panel will appear in the Namespaces tab. The Namespaces tab permits only limited editing of the namespace declaration: the imported namespace can be removed using the row selector the prefix can be changed Namespaces Tab Notations Tab

The Namespaces tab cannot be used to add a new namespace or change the URI or location for an existing namespace. These operations must be performed within the overview panel. Each namespace is listed in a row of the panel. Information associated with each namespace appears in columns across the panel and includes the following (from left to right): Column Row Selector/Error Indicator Description Allows you to modify the row and detect errors in the declaration. See Common Columns In Tables on page 25.

TIBCO Designer Palette Reference

Schema 63

Column Included Document Indicator Prefix

Description Indicates whether the declaration comes from the file being edited or from an external schema. See Common Columns In Tables on page 25. Enter or edit the prefix for the namespace. The prefix is used to link a component with its namespace and to distinguish the component throughout the body of the schema from those components defined in other namespaces. Typically the prefix represents an abbreviation for the type of document contained in the namespace. Corresponds to the target namespace of the imported namespace. This field is populated automatically upon adding a namespace through the overview panel. This field is read-only. If the target namespace for an imported schema changes, the imported namespace should be cleared and re-imported. Corresponds to the relative location of the imported namespace with the project. This field is populated automatically upon adding a namespace through the overview panel. This field is read-only. If the location for an imported schema changes, the imported namespace should be cleared and re-imported.

Namespace

Location

The target namespace for your schema will not be displayed in the Namespaces tab. Target namespace information is available in the Target Namespace tab of the Schema Properties panel. Notations Tab Notations allow you to describe a new data type or file type. The description involves a name for the type and a link to more information on the type or to programs that can process the type. For example, the notations declared in Figure 19 provide information on ISO8601 dates and times, and Java integers. Either could be used for a data type and will appear as an option in the type menus that appear in the elements panel and attributes panel.

TIBCO Designer Palette Reference

64

| Chapter 2

XML Tools Palette

Figure 19 Notations tab of the advanced pane

Each notation is listed in a row of the panel. Information associated with each notation appears in columns across the panel and includes the following (from left to right). Column Row Selector/Error Indicator Description This column allows you to modify the row and detect errors in the declaration. See Common Columns In Tables on page 25 for more information about this column. This column indicates whether the declaration comes from the file being edited or from an external schema. See Common Columns In Tables on page 25 for more information about this column. Enter or edit the name of the notation. Enter the URL that will serve as the system identifier for the notation. System identifiers are not required for notations, though at least one identifier (system or public) must appear. System identifiers may point to standards describing the content, or to programs that can actually process it. Enter a public identifier for the notation. Public identifiers are not required for notations, though at least one identifier (system or public) must appear. Public identifiers should match the public identifiers standards authors provide for their specifications to ensure uniformity across documents from different sources.

Included Document Indicator

Name Location

Public Name

Notation information is processed by the parser only minimally; the applications that process your documents will need to provide an extra level of support to interpret notations.

TIBCO Designer Palette Reference

Schema 65

Simple Types Panel


When selected from the Schema > View menu or upon clicking the Simple Types button on the toolbar, the simple types panel becomes the primary panel for editing. The simple types panel enables XML Schema authors to create their own simple types (data types), which can then be applied to element declarations and attributes in the schema. These derived simple types are created by constraining the set of distinct values available for existing simple types, known as base types. For example, Figure 20 illustrates a user-defined data type called rating that is derived from the base type integer by requiring a minimum value of 1 and a maximum value of 10. Figure 20 Creating a new simple type

Each simple type is listed in a row of the panel. Information associated with each simple type appears in columns across the panel and includes the following (from left to right). Column Row Selector/Error Indicator Included Document Indicator Name Description Allows you to modify the row and detect errors in the declaration. See Common Columns In Tables on page 25. Indicates whether the declaration comes from the file being edited or from an external schema. See Common Columns In Tables on page 25. A new simple type can be created by clicking on a blank row under the name column, and then entering a name. To edit a simple type name, click on an existing name. Note: Data type names must begin with a letter and may contain other letters, numbers, underscores, dashes, and periods.

TIBCO Designer Palette Reference

66

| Chapter 2

XML Tools Palette

Column Base Type

Description The Base Type field indicates the existing simple type you would like to constrain to create the new simple type. To specify a base type, click the Type button in the Base Type column and choose a type from the drop-down menu of built-in types. Note: For a description of XML Schemas built-in data types, see http://www.w3.org/TR/xmlschema-2/#built-in-dat atypes User-defined types, such as rating, can also be used as base types. To further constrain rating, use the Insert user-defined type button within the Base Type column.

Once a new simple type has been defined, it becomes a choice in the Insert menus of the elements/types panel and attributes panel, when appropriate. Example: Creating a User-Derived Simple Type In this example a new simple type, called rating is derived. The new type can be any integer from 1 to 10. 1. In the simple types panel, enter the name for the new type.

2. Tab to the Base Type field and use the Native Type button to select the type xs:positiveInteger. 3. Click the Facets button, which loads the Facets tab of the properties panel. 4. In the properties panel, use the minInclusive and maxIncusive facets to restrict the acceptable values of rating to positive integers from 1 to 10. The rating type is now declared and will become a choice on the User Defined Type menu available in the elements/types panel, the attributes panel, and the simple types panel.

TIBCO Designer Palette Reference

Schema 67

Schema Props Panel


When selected by way of the Schema > View menu, the schema props panel is displayed. For a description of these properties, see Schema Properties Panel on page 37. The name for your schema can only be specified in the configuration panel.

Validations Panel
When selected by way of the Schema > View > Validation menu, the validation panel appears between the active editing panel and the configuration panel. The validation panel displays errors or warnings found when a new schema is loaded, as well as errors or warnings detected throughout the editing process. The validations panel indicates the total number of errors or warnings and provides a list of errors and details about the errors in this panel. Clicking on the error message will take you to the source of the error. A red selector button in a declaration panel is indicative of an error.

To update validation information in the schema after correcting an error, it's good practice to reevaluate again by way of the Revaluate button on top of the panel.

Component Doc Panel


The raw declarations in your schemas are very useful for parsers processing your document, but are rarely sufficient for other humans who need to read and make sense of your schema. Adding notes helps those who use and maintain your schema to understand your schema designs, and can be a critical tool for keeping groups of developers working on the same or related schemas in sync. The Schema Documentation tab of the Schema Props panel provides an area where you can add schema level documentation to your schema. The Documentation tab of the Component Doc panel allows you to add component level documentation and document individual declarations and preview their source. When selected by way of the Schema > View menu, the Component Doc panel appears between the active editing panel and the configuration panel.

TIBCO Designer Palette Reference

68

| Chapter 2

XML Tools Palette

When the Component Doc panel reflects the selected declaration, the following tabs are available: Tab Documentation Description Use this tab to associate a new note with the selected declaration. In the source code, the note will appear within the selected declaration. Displays the source code for the selected declaration.

Source Preview

XML Schema uses two elements for annotations: documentation and appinfo. The Documentation tab displays and adds documention annotations only, which are intended to facilitate human understanding of the schema. There is no facility for adding appinfo annotations through the Component Doc panel.

Source Panel
When selected by way of the Schema > View > Source menu or upon clicking the Source button on the toolbar, the source panel becomes the primary panel for editing. The source panel allows you to edit the source code of your Schema directly. If you are comfortable with Schema syntax, editing your declarations directly may occasionally be useful or even convenient. Even if you don't want to edit your Schemas directly, the source panel provides another way to examine your declarations. To make the other panels reflect the changes you've made, click Reparse at the top of the panel. Any errors found upon reparse will be listed in the Validation panel.

TIBCO Designer Palette Reference

XML Schema Exercises 69

XML Schema Exercises


To help you become familiar with the panels available when working with Schema resources, we have included two step-by-step exercises. The first exercise walks you through the creation of a simple schema, introducing you to the fundamental features of the editing environment. The second exercise introduces some more advanced concepts, notably the creation and implementation of complex and simple types. Each example should take about 15-20 minutes to complete.

Exercise 1: Building a Simple Schema


In this example, you will build an XML Schema for a price list. A document conforming to this schema could be used by a reseller to define the format in which product information is received from manufacturers. Here is a guide to the information we'll be using: Component price.list manufacturer name date.issued product sku product.name price description promotion start.date end.date Description the root element inside of which all others will appear a container for information about a manufacturer the name of the manufacturer the date the price list was issued a container for information about a product the product's sku (Stock Keeping Unit - Inventory Identifier) the product's name the product's price a text description of the product a container for information about a price promotion the date the promotion starts the date the promotion ends

TIBCO Designer Palette Reference

70

| Chapter 2

XML Tools Palette

Getting Started Creating the project and the manufacturer schema 1. In the project panel, create, then select a project folder named QuickTour. 2. Drag a Schema icon from the XML Tools palette into the design panel. This creates a Schema resource. 3. Double click the Schema resource in the design panel. A series of new panels will appear. 4. Resize the panels, so that the elements/types panel is prominently displayed. The elements/types panel presents an inventory of all of the elements and complex types allowed within a document conforming to this schema. The elements/types panel consists of the content model diagram (upper half) and the element/type list (lower half). The element/type list, where most of the work in this exercise will be performed, has a tabular format, with the fields in each row identified by column headings. 5. To define the manufacturer root element, follow these steps: a. In the Element column, select root and replace it with manufacturer.

b. Tab across to the Attributes column and type in name. Here you can define attributes for an element. When entering multiple attributes, commas should separate them. You can navigate around the tables in each panel by using ENTER, TAB, SHIFT-ENTER, and SHIFT-TAB. 6. To create the next element, move your cursor to the row below manufacturer and type date.issued.

TIBCO Designer Palette Reference

XML Schema Exercises 71

7. Now define date.issued as a date using the following steps: a. Tab to the Content column. b. Click the Content Type button and select Type from the drop down menu.

c. Tab to the next field. (Notice that the column heading changes from Content Model to Data Type.) To provide the date.issued element with an appropriate data type, select date from the menu that appears upon clicking Insert. 8. To specify that the manufacturer element must always include the date.issued element a. Move to the Content column on the manufacturer row b. Select Elements from the Content Type menu. This restricts the content model for manufacturer to elements only. c. Tab to the Content Model column and click the insert button. d. Select date.issued to restrict the contents of manufacturer to one and only one date.issued element. You are now ready to create a second element called product. 1. Move to the empty line below date.issued and type product. Press tab. Select Elements from the Content Type menu and press tab. 2. Move to the Content Model column for product, position your cursor inside the () and type sku, product.name, price, description, promotion. The commas between elements indicate a Sequence (this followed by this followed by this). Elements may also represent a Choice (this or this or this). Choice uses a | rather than a , between element names. In the Content Model column, groups of elements can be EITHER choices or sequences. (For more information on sequence indicators see Building Content Models: Occurrence and Sequence Indicators on page 44).

TIBCO Designer Palette Reference

72

| Chapter 2

XML Tools Palette

When adding elements to a content model (within the Content Model column), if your input exceeds the column width, type Ctrl+E or select Expand from the Schema>View menu to open a larger window for editing the selected area. 3. Tab from this field. The Auto Create dialog box appears. Click the Globally defined button, then click Create. (For the purposes of this exercise, all declarations will be global.)

4. As it is currently defined, all elements are required. At times, you may want an element to be optional. For the purposes of this exercise, make description an optional element: a. Go back to the product content model and highlight description. b. Once highlighted, click the optional button on the tool bar that appears. Notice the '?' that was appended to description.

For more information on occurrence indicators, see Building Content Models: Occurrence and Sequence Indicators on page 44. 5. Make price a decimal data type by clicking on price where it appears in the Element column. Tab over to the Content column and select Type from Content Type drop down menu. Tab over to the Data Type column and choose decimal from the Insert menu. 6. A promotion is a discounted price over some period of time. This will be represented using a combination of elements and attributes. Make a content model for promotion by specifying Elements in the Content column and then entering price into the Content Model column. 7. Tab to the Attributes column for promotion and enter start.date, end.date. Press Tab. To further refine the definitions of these attributes, you can right-click on each of their names and choose Go to <name>or click Attributes on the toolbar.
TIBCO Designer Palette Reference

XML Schema Exercises 73

The attributes panel will appear with options for data typing the attribute and for indicating its usage (optional, required, default, fixed, or prohibited). 8. Within the attributes panel, indicate that the values of the start.date and end.date attributes should be of type date. You can use the navigation buttons on the toolbar or the Schema>View menu to open and close between the editor's panels. XML schemas typically have a single root element that contains all other elements. In this schema, our root element will be called price.list. 1. Return to the elements/types panel and add an element named price.list. Press tab and specify Elements content. 2. Enter manufacturer, product+ as the content model. (The plus sign designates the productelement as required and repeatable.) Tab out of the field to update the schema.

Congratulations! You have completed creating the schema. In the configuration panel, name the file pricelist. You may also want to change the automatically generated target namespace to a URL meaningful to your organization.

Click Apply to save your work. The Apply button makes the file available to other resources in the project. The schema is saved when the entire project has been saved.

TIBCO Designer Palette Reference

74

| Chapter 2

XML Tools Palette

Reviewing the Schema Graphical view By defining content models, a structure for the document is established. This structure can be thought of as a tree where the root is the encompassing element and its branches are the elements and attributes that may be contained within it (as defined by the content model). In turn each branch may have branches defined by their content model. The diagram at the top of the elements/ types panel provides a graphical view of these relationships. Explore the content model by clicking on the elements to expand and collapse their content. (Specifically click on the Element Content Indicator icon, labeled in Figure 21 on page 74.) Only elements that define a content model can be expanded. Within the diagram, double clicking on the root element, in this case price.list, will produce a graphical view of the entire schema. The diagram for the price list schema is shown in Figure 21. Figure 21 Graphical view of the schema

Element Content Indicator

For each element and attribute in the diagram, a right button menu offering key editing functions is provided. Right-click the background to zoom in or out of the diagram as a whole.

TIBCO Designer Palette Reference

XML Schema Exercises 75

Source view To view the actual schema syntax for the schema you've created, open the source panel by clicking on the source panel icon on the main toolbar. The notes panel, which allows you to enter supplemental information about any element or attribute, also allows you to view the source for individual declarations. Open the notes panel using the Schema menu (Schema > View > Notes). Click on the Source Preview tab at the bottom of the notes panel to view the source for the element declaration currently selected in the element list. Conclusion Congratulations! You have completed the exercise. This tutorial introduced the basic steps required to create an XML Schema. Exercise 2: Defining and Deriving Complex and Simple Types on page 75 will teach you how to create and use your own complex and simple types. To learn how to build a sample XML document based on the schema you have just built, see XML Instance Exercise on page 136.

Exercise 2: Defining and Deriving Complex and Simple Types


In this example, you will build a sample XML Schema for an address. The exercise introduces a modular approach to schema design, as more detailed complex and simple types are derived from more generic ones. Here is a guide to the information you'll be using. Component Address name street city USAdress state zip UKAddress Description Complex type from which two other complex types are derived Element for the name of the addressee Element for the street address Element for the city Complex type derived by extension from Address Element for the state Element for the zip code Complex type derived by extension from Address

TIBCO Designer Palette Reference

76

| Chapter 2

XML Tools Palette

Component postcode exportCode USState

Description Element for the UK postal code Element for the UK export code Simple type containing an enumeration

Getting Started 1. In the project panel, create and select a project folder named QuickTour. 2. To create a new Schema resource, drag a Schema icon from the XML Tools palette into the design panel. 3. Within the design panel, double click the schema icon. A series of new panels will appear. Resize the panels, such that the elements/types panel is prominently displayed. The elements/types panel presents an inventory of all of the elements and complex types allowed within a document conforming to this schema. The elements/types panel consists of the content model diagram (upper half) and the element/type list (lower half). The element/type list, where most of the work in this exercise will be performed, has a tabular format, with the fields in each row identified by column headings. 4. To create a new complex type, click in the first field of the second row (under column D). The field initially displays an E, an indication that the row is used for an element declaration. To use the row for a complex type definition, click Decl Type and choose T from the menu.

5. Tab to the adjacent empty field in the second column, and type in Address as the name of the complex type. Tab to the Derives From column. Notice that the second column's heading has changed from Element to Complex Type. 6. Later in this exercise you'll use the Derives From column to extend the Address complex type. For now, however, we can bypass this field, and tab to the Content field. The content will default to Elements, which is the desired content. (Other content types could be selected by way of the menu presented by clicking the Content Type button.)

TIBCO Designer Palette Reference

XML Schema Exercises 77

7. Tab to the Content Model field. With the pointer positioned between the parentheses, type in the following elements, separated by commas: name, street, city.

8. Tab from the Content Model field. The Auto Create dialog box appears. Indicate that the new elements should be Globally defined and then click Create. (For the purposes of this tutorial, all declarations will be global.) Before you continue to build the address schema, save your progress to this point. In the configuration panel, name your schema address. You should also specify a target namespace to differentiate this schema from all others. The Target Namespace field will be pre-populated with a randomly generated namespace. Change this namespace to reflect a URL meaningful to your organization. Finally add a prefix, such as addr, to be used to indicate that the components you are defining belong to your namespace. Click Apply.

The Apply button makes the file available to other resources in the project. The schema is saved when the entire project has been saved. Continue building the address schema by defining a simple type named USState. 1. In the Toolbar, click the Data Types button. 2. In the first field in the Name column, type USState. Tab to the Base Type column. Click Type and choose string from the drop-down menu. 3. Tab to the Options column. To define a list of possible values for USState, click the Edit Enums button. The properties panel appears in the lower left of the application window with the Enumeration tab active. In the text box at the top of this tab, enter the value 'AK' (without quotes) and then click Add.

TIBCO Designer Palette Reference

78

| Chapter 2

XML Tools Palette

Follow the same procedure for the values 'AL' and 'AR'. (Of course, there are more postal abbreviations, but lets stop here.)

4. The enumeration is automatically created in the Options column of the data types panel.

Now you can define a complex type named USAddress. 1. On the toolbar, click Elements/Types to return to the elements/types panel (you may also need to choose Schema > View > Properties to clear properties.) 2. Make sure the bottom row of the element/type list reflects a complex type declaration. (A T should appear under the column D). 3. In the adjacent empty field, type USAddress. 4. Tab to the Derives From column and click Extends. Next, click Select and select Address. Notice that the column heading changes to Extends. Notice also that your selection is inserted in the column with the prefix e_. This indicates that the type USAddress is being derived from the base type Address by extension. If you derive from a base type by restriction, you'll see the prefix r_.

TIBCO Designer Palette Reference

XML Schema Exercises 79

5. Tab to the Content column and make sure element content is reflected. (Elements should be pre-selected as the most appropriate model). 6. Tab to the Content Model column. Inside the parentheses, type state, Tab out of the Content Model column. 7. In the Auto-Create dialog box that appears, click the Globally button and then click Create.
defined zip.

radio

8. In the row for the element state, navigate to the Data Type column. Click Insert user-defined type and select USState from the menu of options.

9. In the row for the element zip, click in the Data Type column. Click Insert to display a menu of XML Schema data types. Choose More on this menu to display a submenu. Choose positiveInteger as the data type for zip. You are now ready to define some elements on your own. 1. Define a complex type named UKAddress as an extension of Address. Add the element postcode to the content model and create postcode as a global declaration. Also give UKAddress and attribute called exportCode.

2. For further practice, define a simple type (data type) called UKPostcode and assign it to the postcode element. The new simple type can be an extension or restriction of an existing simple type. For example, to be very precise, you could restrict a string by specifying a regular expression (pattern) that the type must match. The address types created in this schema could later be applied to elements. For example, shipTo and billTo elements could be added to this schema and be declared as having the type USAddress. These type definitions could also be used in other schemas. As a final exercise, create a new schema resource and import the address schema namespace you created in this tutorial. The easiest way to import a namespace is to use the Add Namespace option of the overview panel, which enables you to browse and select another schema from your project. Once the address schema created in this exercise has been imported, create a shipTo of

TIBCO Designer Palette Reference

80

| Chapter 2

XML Tools Palette

type USAddress. To references an element, attribute or type existing in another namespace, use the prefix for the external namespace followed by a colon and the component name. Figure 22 shows a new schema referencing the USAddress type created in this schema. Figure 22 Referencing a complex type in another schema

Conclusion This exercise serves as an introduction to XML Schema design. Review the documentation to learn more about XML Schema functionality and to facilitate your implementation of advanced features.

TIBCO Designer Palette Reference

DTD 81

DTD
Resource

The DTD resource of the XML Tools palette enables the creation of a DTD (Document Type Definition), as defined by the W3Cs XML 1.0 Recommendation. A DTD shares the same role as an XML Schema, describing the vocabulary and structures that may appear within an XML instance document. While DTDs are supported in XML 1.0-compliant parsers and applications, they offer very limited data typing and are considered the 'first generation' of XML schemas. When a DTD resource is selected in your project, a set of new panels, menu options, and toolbar buttons are provided, helping you build and edit your DTD from a variety of different perspectives. Each panel provides access to a different set of tools. The multiple panels may show information simultaneously, but all of them combine to present a consistent view of your schema. This chapter describes each of the panels in detail. For a hands-on demonstration of the editing environment, see DTD Exercise on page 112.

Configuration Panel
When editing a DTD resource, the configuration panel provides two tabs for setting or viewing high-level properties. Configuration The Configuration tab has the following fields. Field Name Description This is the name of the file when persisted. The *.dtd suffix will be automatically added.

Statistics The Statistics tab is not editable. The tab displays the number of times a schema component type is used. The Statistics tab has the following fields. Field Elements Description The number of element declarations is displayed.

TIBCO Designer Palette Reference

82

| Chapter 2

XML Tools Palette

Field Complex Types Attributes Attribute Groups Model Groups Data Types Namespaces Included Modules Notations Processing Instructions

Description The number of complex type definitions is displayed. (This is an XML Schema metric only.) The number of attribute declarations is displayed. The number of attribute group definitions is displayed. The number of model group definitions is displayed. The number of user-derived datatype definitions is displayed. (This is an XML Schema metric only). The number of namespace declarations is displayed. (This is an XML Schema metric only.) The number of included modules is displayed. The number of notation declarations is displayed. The number of processing instructions is displayed.

Toolbar
For a description of the buttons that appear on the toolbar when editing DTD resources, see Toolbar Buttons on page 26.

Schema Menu
A Schema menu becomes available when editing a DTD resource. The Schema menu contains two submenus, View and Tools. The View menu provides options to control the panels used for editing, organizing, and viewing your schemas. The Tools menu includes options for searching or editing your schema, checking your schema for errors, and defining reusable schema components. The Schema menu options are described in Table 3 on page 28.

TIBCO Designer Palette Reference

DTD 83

Elements Panel
The elements panel enables you to view, create, and edit element and attribute declarations. The elements panel is typically the place you'll start defining your schemas. The panel is divided into two parts: a graphical view of the content model (the content model diagram) and an editable list of element declarations and their content models (the element list).

The Element List


The element list, located at the bottom of the elements panel, is where much of the creation and editing of element declarations takes place. Each element is listed in a row of the table. Information that defines each item appears in columns across the table and includes the following (from left to right): Column Row Selector/Error Indicator Included Document Indicator Description This column allows you to modify the row and detect errors in the declaration. See Common Columns In Tables on page 25 for more information about this column. This column indicates whether the declaration comes from the file being edited or from an external schema. See Common Columns In Tables on page 25 for more information about this column. Warning: Any changes made to unlocked declarations of an external parameter entity will be reflected in the external schema as well. Element Name A new element can be created by clicking on a blank row under the Element column, and then entering a name. To edit an element name, click on an existing name in the Element column Note: Element names must begin with a letter and may contain other letters, numbers, underscores, dashes, and periods.

TIBCO Designer Palette Reference

84

| Chapter 2

XML Tools Palette

Column Content

Description The content column is used to specify the type of content model to be created. When the user tabs to this column, a Content Type button appears, providing a menu of the following choices. ANY The content model contains any combination of elements and/or character data (text). EMPTY When an element has no content at all, its content model is empty. Essentially, a model is defined that allows only elements in its content but does not actually declare any elements, so the type's content model is empty. Mixed In a mixed content model, an element contains other elements interleaved with character content. Character data can appear alongside child elements and is not confined to the deepest child elements. Elements The content model contains elements only. Text The content model contains only character data (text). A character-only element can represent an atomic data type whose value is encoded as character data. Type Data types that constrain text -- like integer or date -- are not afforded by DTDs. Accordingly, selecting the Type option is equivalent to selecting the Text option.

TIBCO Designer Palette Reference

DTD 85

Column Content Model

Description The Content Model column displays the content model of the elements and provides a set of tools for creating and editing content models. Note: If text is selected as content, the name of this column switches to Data Type, to indicate that the element content is text. The Data Type column should remain empty when text is the specified content. Users who are comfortable with occurrence and sequence indicator syntax can enter element content models directly by typing them in the Content Model column. For users not yet comfortable with occurrence and sequence indicators, a series of buttons are provided to help the user create and edit content models. (See Building Content Models: Occurrence and Sequence Indicators on page 86 for more information.) The Insert menu provides a quick way to add elements (or internal parameter entities representing element content) that have been previously defined. The selected item is inserted at the current location of the cursor. (See Example: Building a Content Model on page 87 and Building Content Models with Reusables (Internal Parameter Entities) on page 90 for more information.) Note: To create a reusable model group (internal parameter entity representing element content), choose Create Model Group... from the Insert drop-down menu. Alternatively, parameter entities can be defined and edited by way of the Schema>Tools menu.

Attributes

The Attributes column allows the user to specify which attributes may be used for a particular element. If an attribute name is entered which does not yet exist, it is automatically created with a default data type of string and with no constraints. (The declaration can be edited in the attributes panel at any time.) When the user tabs to an Attributes column, an Insert Attribute button appears. Click the button to access a menu listing previously defined attributes and reusable attribute groups. Selecting an attribute name or a reusable adds it to the element or complex type being defined.

TIBCO Designer Palette Reference

86

| Chapter 2

XML Tools Palette

The element list can be sorted at any time by clicking on one of the column headers. For example, to sort the list by the name of the element, click on the Element column header. Or, to sort the list by content model, click on the Content Model column header, and so forth. Shift-clicking on a column header sorts the column in descending order. Building Content Models: Occurrence and Sequence Indicators For element content models, buttons are provided for applying sequence and occurrence indicators. Table 8 describes the Occurrence indicators. Table 9 describes the Sequence indicators. Table 8 Occurrence indicators Occurrence Indicator None ? Meaning The element must appear once and only once. The element (or group of elements) may appear zero or one times. The element is optional, but is only allowed to appear once if used. The element (or group of elements) must appear one or more times. The element is required to appear at least once, but multiple consecutive occurrences may be present. The element (or group of elements) may appear zero or more times. The element can appear as many times consecutively as needed, or even zero times. In Content Model column, click... (This is the default occurrence). Optional but not Repeatable

Repeatable but not Optional.

Repeatable and Optional.

Table 9 Sequence indicators Occurrenc e Indicator | Meaning Can be read as 'or'. Creates content model with particles enumerated (only one may be chosen). In Content Model column, click... Choices

TIBCO Designer Palette Reference

DTD 87

Table 9 Sequence indicators Occurrenc e Indicator , Meaning Can be read as 'followed by,' requiring that the elements or groups of elements appear in the precise sequence indicated Groups elements, allowing a set of choices or a sequence to be used anywhere that a single element can appear. In Content Model column, click... Sequence

()

()

Occurrence and Sequence indicators combine to make it possible to describe complex structures. For example, a memo might allow multiple entries in its To: and From: fields, multiple (or zero) entries in its Cc: field, a single entry for the subject, required content for the body, and an optional set of initials at the bottom for the typist. A MEMO element might therefore have the following content model:
(To+, From+, Cc*, Subject, Body, Typist?)

This declaration requires the MEMO element to contain, in sequence, one or more To elements, one or more From elements, zero or more Cc elements, a single Subject element, a single Body element, and zero or one Typist elements. In other cases, a document needs to provide choices. A chapter might require an introduction, but then permit any combination of sections or sidebars. Sequence indicators, in combination with occurrence indicators, can make this possible. The content model for a chapter element might therefore look like this:
(Intro, (Section | Sidebar)*)

The Intro element could appear once (and only once) at the start of the chapter, and then Section or Sidebar elements could follow in any order. (This model is read as an Intro element followed by zero or more Section or Sidebar elements.) Example: Building a Content Model This section steps you through building a content model using the buttons provided in the Content Model column. Figure 23 shows a completed content model.

TIBCO Designer Palette Reference

88

| Chapter 2

XML Tools Palette

Figure 23 A completed content model for a Book element

You will build the content model for an element based on the structure of a book. The content model would likely include several elements, including a Title, an Author, multiple Chapters, maybe an Appendix (or several), perhaps a Glossary, and possibly an Index. Assuming these elements are already declared, the steps to build the content model for Book appear below: 1. In the row for Book, click in the blank cell under the Content Model column. This is where the entry for the content model will be created. A series of buttons will appear. You should see the text cursor blinking inside the parentheses.

2. Click the Insert button. A pull-down menu of all the element declarations within the file appears.

3. Select the first element to be part of the content model (in this case, we'll start with Title). Repeat this step, selecting each element that is part of the content model. It's best to select the sub-elements in sequence if possible, because as each sub-element is selected, a comma is inserted between items by default to

TIBCO Designer Palette Reference

DTD 89

indicate that they are in sequence. The sub-element will always be inserted where the cursor is placed in the content model.

If the elements for the content model have not been previously declared, type them in within the parentheses. When the content model is completed, you will be prompted to auto-create (declare) the new elements. 4. Which items may be repeatable? Within a book, the chapters usually occur more than once, so this sub-element needs to be indicated as a repeatable item. Highlight Chapter in the Content Model, and click on the Repeatable button. This adds a '+' indicator after Chapter, to indicate it is repeatable. Likewise, there may be more than one appendix, so highlight Appendix and click Repeatable to add a '+' indicator after Appendix.

5. Which items are optional? Within a book, a glossary or index may not always occur, so these sub-elements need to be made optional. Highlight Glossary, and click the Optional button. Likewise, highlight Index, and click the Optional button. This will place a '?' after each of these sub-elements, to indicate they are optional.

6.

is also an optional item (not all books have appendices). Highlight and click the Optional button. Because Appendix is now both optional and repeatable, it is indicated with an '*' after it. Press the <Enter> key or click anywhere else in the element list panel to complete the content model.
Appendix Appendix

This example did not require the use of the Choices button, which indicates choices between several sub-elements (sub-elements are separated by an '|' indicator).

TIBCO Designer Palette Reference

90

| Chapter 2

XML Tools Palette

Building Content Models: Content Model Editor If the space provided by the Content Model column is too small to see all of an element content model, select Expand from the Schema > View menu or press the Ctrl-E keys to bring up the Content Model Editor dialog box. The Content Model Editor provides more room for editing, making it easier to work with larger content models, and gives easy access to the elements and reusables (internal parameter entities). To add an element or reusable to a content model, click on its name. Occurrence and Sequence indicator buttons are also available in the editor. The Apply button adds the edited content model to the list, but leaves the editor open. The Cancel button closes the editor without making any changes to the content model in the list, while the Save button closes the editor and makes the changes. The Content Model Editor is shown in Figure 24 on page 90. Figure 24 Content model editor

Building Content Models with Reusables (Internal Parameter Entities) While breaking schemas into modules is helpful in large-scale situations where entire sets of declarations are shared within schemas, there are many cases where smaller chunks of declarations can be usefully shared and centrally managed. The reusables (internal parameter entities) editors allow you to define pieces of declarations, which you can then reuse as appropriate. If you later need to make changes to that content, you just change the reusable, and all of the declarations using that reusable will be updated automatically.

TIBCO Designer Palette Reference

DTD 91

When defining new reusables, four editors, described in the table below, are accessible by way of the Schema menu (Schema > Tools > Define Reusables). For each editor, you enter the name of the reusable in the text box at the top of the window, and its content in the large text area. Resuable Editor Model Group Description Use this editor to create model group reusables (parameter entities), which store content models that can be included in element content models. These reusables can provide the entire content model or be included as part of a larger content model. Model Group reusables must contain acceptable element content models. Use this editor to create a group of attribute declarations (as a parameter entity), allowing the same group of attributes to be applied to multiple elements. Attribute Group reusables must contain sets of attribute names, separated by commas. Use this editor used to express the limitations placed on attributes with enumerated values. Constraints reusables (parameter entities) must list acceptable values separated by vertical bars. Use this editor to create reusable text (parameter entity).

Attribute Group

Constraints

Text

While you can edit reusables directly in the Parameter Entities Tab of the advanced panel, it is generally safer to use the reusable editors, especially for attribute sets. Direct editing is acceptable, but you'll need a firm understanding of XML 1.0 DTD syntax. Once your reusables are created, they become available as choices by way of the Insert button within the Content Model and Attributes column of the element list. Notice that parameter entities, when referenced, are prepended with a %. Figure 25 illustrates the use of a reuseable within a content model. Figure 25 Referencing a reusable (internal parameter entity)

To edit or delete an existing group definition, select the Edit Reusables option of the Schema menu (Schema > Tools > Edit Reusable).
TIBCO Designer Palette Reference

92

| Chapter 2

XML Tools Palette

The Content Model Diagram


The content model diagram of the types panel graphically displays the content models in a DTD resource. It presents the relationships between elements (that is, parent elements, child elements, and so on) with diagrams and provides additional information about elements, such as their attributes and occurrence and sequence within a content model. You can use the content model diagram to read, explore, or edit your schemas. See Content Model Diagram on page 32 for more information about the content model diagram.

Attributes Panel
When selected from the Schema > View menu or upon clicking the Attributes button on the toolbar, the attributes panel becomes the primary panel for editing. The attributes panel is used to view, create, and edit attribute type declarations. While you can also create an elements attribute in the element list, the attributes panel is required to specify an attributes data type, edit its constraints, indicate its use, and set a default value. The attributes panel is shown in Figure 26. Figure 26 Attributes panel

TIBCO Designer Palette Reference

DTD 93

Each attribute is listed in a row of the panel. Information associated with each attribute appears in columns across the panel and includes the following (from left to right). Column Row Selector/Error Indicator Included Document Indicator Attribute Name Description This column allows you to modify the row and detect errors in the declaration. See Common Columns In Tables on page 25 for more information about this column. This column indicates whether the declaration comes from the file being edited or from an external schema. See Common Columns In Tables on page 25 for more information about this column. A new attribute can be created by clicking on a blank row under the attribute name column, and then entering a name. To edit an attribute type name, click on an existing name in the attribute type name column. Note: Attribute names must begin with a letter and may contain other letters, numbers, underscores, dashes, and periods. Element The Element column references the element to which an attribute belongs. You can enter the element to which an attribute belongs by typing its name in the element column. If the same attribute needs to be assigned to multiple elements, those assignments should be made in the Attributes column of the Element List area of the elements panel. If an attribute is used by multiple elements, it will be listed in the attributes panel as shared. To bring up a list of the multiple elements using a particular attribute, right-click on the word 'shared'. To separate the definition for a particular element (to choose a different default value, for instance), select the name of the element from the pop-up menu. A separate entry for that attribute will be created. To avoid separating the definitions, click outside of the pop-up menu.

TIBCO Designer Palette Reference

94

| Chapter 2

XML Tools Palette

Column Data Type

Description Attributes have much simpler content model choices than elements. You can enter an attribute's data type in the Data Type column by typing it or by clicking the Type button and then choosing a data type from the list. The available data types are described in Table 10 on page 96. The Constraints column allows you to limit the choices available for attribute values. This column is only applicable if the enumerated type is selected in the Data Types column. In this case, the Edit Enums button loads the enumerations editor (the Enumerations tab of the properties panel), where you can specify a list of possible values (of the specified data type) for the attribute. For more information on constraining attribute values, see Properties Panel on page 101. The Use column lets you indicate how attributes will be used in XML instance documents. Clicking the Select Use button will enable you to select from the following options: optional Attribute may appear in an XML instance document, but its use is not mandatory. No value is assigned in the schema, but XML document authors can assign any value to the attribute consistent with its type. required Attribute must appear once in an XML instance document. No value is assigned in schema, but XML document authors can assign any type-compatible value. default Attribute may appear in an XML instance document, but its use is not mandatory. If it appears, it can have any type-compatible value. If the attribute does not appear, a schema-aware processor will assign the attribute's value to be what you've specified in the Value column. fixed Attribute may appear in an XML instance document, but its use is not mandatory. When present, the attribute must have the value you've specified in the Default column. If the attribute does not appear, schema-aware processors will assign the attribute's value to be what you've specified in the Value column.

Constraints

Use

TIBCO Designer Palette Reference

DTD 95

Column Value

Description If the attributes usage is designated as default or fixed, enter the default or fixed value in the Value column. Choosing either optional or required and then entering a value in the Value column will produce an error message. Choosing either default or fixed and omitting a value in the Default column will also produce an error.

TIBCO Designer Palette Reference

96

| Chapter 2

XML Tools Palette

Table 10 Datatypes within a DTD Datatype ID Meaning The value must be an XML name, beginning with a letter and otherwise composed of letters, digits, hyphens, underscores, and full stop characters. (Colons are prohibited for documents conforming to the Namespaces in XML 1.0 W3C Recommendation.) The value of the attribute must also be unique within the document among all attributes of type ID. ID attributes may never have fixed default values. Only one attribute per element may be of type ID. Typically, attributes containing ID values are named 'id', though this is not required. The attribute value must match the value of an ID attribute of an element contained within the same XML document. Multiple values of ID attributes may appear, separated by white space, but all must match ID values in the document. (A single ID value is also acceptable.) The attribute value must match the name of an external unparsed entity declared elsewhere in the document type definition. (Colons are prohibited within the value of this type of attribute for documents conforming to the Namespaces recommendation.) Like ENTITY, except that multiple names of unparsed entities may appear with white space separating the values. (Colons are prohibited within the value of this type of attribute for documents conforming to the Namespaces recommendation.) The attribute value must contain letters, digits, periods, dashes, underscores, combining characters or extenders. No other characters (including white space) may appear. (Colons are prohibited within the value of this type of attribute for documents conforming to the Namespaces recommendation.)

IDREF IDREFS

ENTITY

ENTITIES

NMTOKEN

TIBCO Designer Palette Reference

DTD 97

Table 10 Datatypes within a DTD Datatype NMTOKENS Meaning Like NMTOKEN, except that multiple name values may appear with white space separating the values. (Colons are prohibited within the value of this type of attribute for documents conforming to the Namespaces recommendation.) Provides a list of acceptable values. The word enumerated isn't stated in the declaration. Instead, a list of possible values for the attribute appear in the Constraints area in parentheses, separated by vertical ('or') bars. (value | value). The NOTATION keyword must be followed by a list of acceptable notation identifiers in the same format - (value | value...) - used for enumerated values. All values provided must have been declared as NOTATIONS elsewhere in the document type definition.

enumerated

NOTATION

DTD data types are not oriented toward data in the sense used by programmers and database developers, but can be useful for describing relationships within documents and for constraining data to a list of acceptable values. If you require stricter, data-oriented data types, consider using Schema resources. Example: Creating or Editing an Attribute Attributes are created by declaring an attribute type in the attributes panel or by entering attribute names for an element in the element list of the elements panel. New attributes entered in the element list of the elements panel are automatically created in the attributes panel with a data type of string. Creation of an attribute type within the attributes panel consists of several steps. For example, assume you have an element Picture, with the attributes GraphicsType. GraphicsType is an attribute that tells us if a picture is a JPG, TIF, or GIF file. Here are steps for declaring GraphicsType:

TIBCO Designer Palette Reference

98

| Chapter 2

XML Tools Palette

1. Click on a blank line under the Attributes Name column. Enter the attribute name GraphicsType. Names must begin with a letter and may contain numbers, underscores, dashes, and full stops -- typically periods.

2. Select the cell under the next column heading, Element, in the row for GraphicsType. Since we know this attribute will be used by the element Picture, type in Picture.

3. Select the cell under the next column heading, Data Type.
string.

An attribute type declaration, by default, sets the data type for an attribute to In this example, GraphicsType will be enumerated (that is, it will only ever have the value of JPG, TIF, or GIF).

4. Click the Type button and select enumeration from the XML Types menu. Since GraphicsType can be only be a JPG, TIF, or GIF, these values must be entered in the attribute type declaration. 5. Click on the cell under the column heading Constraints, then click on the Edit Enums button to display the properties panel, with the Enumeration tab active. 6. In the text box at the top, enter 'JPG' (without quotes), and then click the Add button. 7. Follow the same procedure to add 'TIF' and 'GIF'.

TIBCO Designer Palette Reference

DTD 99

As you enter values in the Enumeration tab, they are inserted in the Constraints column of the attributes panel. Notice that the JPG, TIF, and GIF entries are separated by the OR indicator ('|'). A default value can be entered for an attribute. 8. To set the default value of GraphicsType to JPG, tab into the cell under the Use column for the row GraphicsType. Click the Select Use button to display a menu of choices. Choose 'default' from the drop-down menu. 9. Tab to the Value column and enter the default value, which should match one of the enumerated values. This completes the declaration for GraphicsType.

Overview Panel
When you choose Schema >View >Overview or click the Overview button on the toolbar, the overview panel loads to the left of the elements panel. The overview panel allows you to control the creation of schemas that use multiple modules, as well as explore the overall organization of your schema. The overview panel's tools let you build schemas from declarations in multiple files, create large composite schemas from sets of smaller ones, enhance reusability and simplify management. Figure 27 illustrates the overview panel with the right button menu activated. Figure 27 Overview panel

TIBCO Designer Palette Reference

100

| Chapter 2

XML Tools Palette

Overview Tree The overview panel provides a tree-like overview of the schema structure. Each schema component type is represented by an icon, described in the table below. Icon XML Schema Component element

attribute

model group (internal parameter entity)

attribute group (internal parameter entity)

XML comment

schema document

included schema (external parameter entity)

A right-button menu is provided for each component in the overview tree. From the menu, you can cut, copy, paste or clear a declaration or module (removing it or changing its location in the schema). There is also an option to Go to or Edit the component, which will take you to an area to edit the selected item. If the declaration is located in an external schema that has been added to the current schema, a menu option to unlock the module is provided. Before any edits can be made to included declarations (identified by a document icon with a red slash), the included schema must be unlocked. When a module is unlocked, the red line disappears from the document icon. When you are done editing the included declarations, you can right-click on the module and lock it again. . Any changes made to unlocked declarations of an included schema will be reflected in the included schema as well.

TIBCO Designer Palette Reference

DTD 101

Add Module...Button The Add Module option of the overview panel allows you to include the declarations from another of your projects schemas into the schema you are currently building (through an external parameter entity reference). To remove an included schema, right click on the included schema icon and select Clear from the pop-up menu that appears. Example: Including declarations from another schema When building a schema, it is often desirable to reuse components already declared in another schema.This example illustrates the steps required to include another schemas declarations in your schema. 1. Click the Add Module button of the overview panel. 2. Browse to and select the schema containing the declaration you would like to use. The included module will appear in the Overview tree, identified by the included document icon.

Modules can also be added using the Parameter Entities tab of the advanced panel. 3. The included schemas declarations now appears in the declaration panels for your current schema and can be used just like any other declaration. The added declarations are not editable by default, however. To edit these declarations, right click the document icon and choose unlock. Be aware, however, that any changes made to the declarations will be reflected in the original document as well.

Properties Panel
When selected from the Schema > View menu or upon clicking the Properties button on the toolbar, the properties panel loads to the left of the elements panel. The properties panel includes three tabs -- Properties, Constraints, and Enumeration. When working with a DTD resource, only the Enumeration tab is applicable. When an attribute is of type enumeration, use the Enumeration tab to create a list of possible values.

TIBCO Designer Palette Reference

102

| Chapter 2

XML Tools Palette

Enumeration tab The Enumeration tab allows you to enumerate allowable values for an attribute. Accordingly, the Enumeration tab becomes applicable when an attribute is declared to be of type enumeration. The Enumeration tab is shown in Figure 28. Figure 28 Enumerations tab of the properties pane

When an enumeration is applicable, the tab can be accessed by: clicking the Properties button on the Toolbar, and then clicking the Enumeration tab in the properties panel. clicking the Edit Enums button in the Data Types column of the attributes panel

In the text box at the top of the Enumeration tab, enter a value and then click Add. Repeat this procedure for each of the possible values. The values will appear in the list box beneath the text box used for input. You can use the Up and Down buttons to reorder the values in the list. You can also select a value in the list and either Delete it or Replace it with a value entered in the text box at the top. As you edit the enumeration in the Enumeration tab, the current values are reflected in the Constraints column of the attributes panel.

Advanced Panel
When selected from the Schema > View menu, the advanced panel becomes the primary panel for editing. The advanced panel allows you to define or edit parts of a DTD that move beyond the description of document structures. The advanced panel consists of the Parameter Entities tab, the General Entities tab, the Notations tab, and the Processing Instructions tab.

TIBCO Designer Palette Reference

DTD 103

Parameter Entities Tab When working with a DTD resource, the Parameter Entities tab provides access to internal and external parameter entities definitions. Internal parameter entities are used to implement reusable declarations or text (Schema > Tools > Define Reusable), while external parameter entities are used to support the modular schema architectures provided by the overview panels Add Module feature. Users familiar with DTD syntax may prefer to add parameter entities directly through the Parameter Entities tab. The parameter entities tab is divided into two panels. The top panel is used for internal parameter entities, whose values contain their replacement content directly, while the bottom panel is used for external parameter entities, which contain references to external files that contain content. Internal parameter entities have only a name and a value. (Entity names must begin with a letter and may contain numbers, underscores, dashes, and full stops -- typically periods.) The value must contain either complete declarations (more common in external entities) or fragments of single declarations. Declarations may not cross entity boundaries, though they may contain multiple entities. Entities may also contain entities themselves. For example, to create an entity named 'shortened' that has the value '(title, paragraph)' - an element content model - the entries shown in Figure 29 would be appropriate. Figure 29 Creating an internal parameter entity

Once you have created a parameter entity, you can reference it within other declarations. To use parameter entity content, simply reference the entity using the following syntax:
%entityName;

Figure 30 illustrates the use of a parameter entity within a content model. Figure 30 Referencing a parameter entity within a content mode
l

TIBCO Designer Palette Reference

104

| Chapter 2

XML Tools Palette

External parameter entities have names and references to external resources. External parameter entities must have system identifiers (either a full or relative path name to another DTD in your project) and may optionally have public identifiers as well. An 'Include in DTD' check box is provided that makes it easy to include external modules in your DTDs. If the external DTD contains multiple declarations, you'll want to make sure it gets checked. Modules that have been added through the overview panel will appear here, and modules added here will appear in the overview panel. When you add a module, its content is downloaded for use in the current schema. The parameter entity declarations for that module will also appear in the parameter entity window, preceded by an icon if the module hasn't been opened for editing in the overview panel. A listing of external parameter entities is shown in Figure 31. Figure 31 Listing of external parameter entities

In the System column, you can use the Insert File Name button to browse for and select a file in your project containing the desired declarations. General Entities DTDs provide facilities for defining some forms of content as well as document structure. Documents can include this predefined content by reference, allowing schema developers to centralize management of content as well as structure. Typically this approach is used to avoid search-and-replace on content that will be changing, or to include large chunks of 'boilerplate' content within a document. In the General Entities tab of the advanced panel, the following types of entities can be defined: internal general entities external general entities external unparsed entities

The top panel is used to define internal general entities, while the bottom panel is used to define external general entities and unparsed entities.

TIBCO Designer Palette Reference

DTD 105

Like the other panels, the rows begin with a selector button that can be used to select the entire row for cut, copy, paste, and clear operations. If there is an error in the declarations made in a row, the row selector button will turn red. The column between the selector and the entity name will contain a document icon if the declaration has been included from another file. If it came from another file, it cannot be edited, though it can be copied and pasted into the current file. The name for an entity is entered and displayed in the Name column. (Entity names must begin with a letter and may contain numbers, underscores, dashes, and full stops -- typically periods). Internal General Entities Defining an internal general entity requires only the entry of a name and a value. The value must be plain text or well-formed XML - all start tags in the entity must have end tags and vice versa. Figure 32 illustrates the creation of two internal general entities. Figure 32 Defining internal general entities

Documents using this schema may now include the content defined in the general entity area using entity references, which look like:
&entityName;

The parser strips out the entity references and replaces them with the value of the entity. For example, using the entities described in the figure above, Our new &productName; (&productNum;) is the finest of its breed. will become: Our new Capital 8850 (CXY-8850) is the finest of its breed. External General Entities External general entities work very similarly, except that the value isn't given in the declaration. Instead, a reference to another document in your project is provided (either a full or relative path name), and the contents of the referenced document are used as the value for substitution. Like the value of an internal

TIBCO Designer Palette Reference

106

| Chapter 2

XML Tools Palette

entity, all markup within the referenced file must be well-formed. Optionally, a public identifier (used in some SGML environments) may be provided. The notation column should be left blank for an external general entity. Figure 33 illustrates the creation of an external general entity. Figure 33 Defining an external general entity

External general entities are referenced from documents the same way that internal general entities are referenced -- using the &entityName; syntax. In this case, &play; would reference the XML document 'othello.xml' and include it in a document. In the System column, you can use the Insert File Name button to browse for and select a file in your project containing the desired content. External Unparsed Entities The last kind of entity that can be created in the general entities tab is the unparsed external entities. Unparsed entities reference non-XML content, like graphics files or data. Documents reference unparsed entities through the use of attributes of type ENTITY or ENTITIES. To create an unparsed entity, provide the same information as would be provided for an external general entity (name, system identifier, optional public identifier), but also provide a notation in the Notation column to identify the file type that is being referenced. This notation must be declared on the Notations tab. The 'myGraphic' unparsed entity shown below in Figure 34 is an example of an unparsed entity. Figure 34 Defining an external unparsed entity

TIBCO Designer Palette Reference

DTD 107

Notations Notations allow you to describe a new data type or file type. The description involves a name for the type and a link to more information on the type or to programs that can process the type. For example, the notations declared in Figure 35 provide information on ISO8601 dates and times, and Java integers. Either could be used for a data type and will appear as an option in the type menus that appear in the elements panel and attributes panel. Figure 35 Notations

Each notation is listed in a row of the panel. Information associated with each notation appears in columns across the panel and includes the following (from left to right). Column Row Selector/Error Indicator Description This column allows you to modify the row and detect errors in the declaration. See Common Columns In Tables on page 25 for more information about this column. This column indicates whether the declaration comes from the file being edited or from an external schema. See Common Columns In Tables on page 25 for more information about this column. Enter or edit the name of the notation.

Included Document Indicator

Name

TIBCO Designer Palette Reference

108

| Chapter 2

XML Tools Palette

Column Location

Description Enter the URL that will serve as the system identifier for the notation. System identifiers are not required for notations, though at least one identifier (system or public) must appear. System identifiers may point to standards describing the content or to programs that can actually process it. Note: Use the Insert File Name button to browse for and select a file in your project containing the desired content.

Public Name

Enter a public identifier for the notation. Public identifiers are not required for notations, though at least one identifier (system or public) must appear. Public identifiers should match the public identifiers standards authors provide for their specifications to ensure uniformity across documents from different sources.

Notation information is processed by the parser only minimally; the applications that process your documents will need to provide an extra level of support to interpret notations. Processing Instructions Processing instructions are a relatively free-form way to include extra information about your schema for an application to use. Each processing instruction is listed in a row of the panel. Information associated with each processing instruction appears in columns across the panel and includes the following (from left to right). Column Row Selector/Error Indicator Description This column allows you to modify the row and detect errors in the declaration. See Common Columns In Tables on page 25 for more information about this column. This column indicates whether the declaration comes from the file being edited or from an external schema. See Common Columns In Tables on page 25 for more information about this column.

Included Document Indicator

TIBCO Designer Palette Reference

DTD 109

Column Target

Description Enter the target name. The target needs to be a name beginning with a letter and possibly containing numbers, underscores, dashes, and periods. Enter the instruction for the processor. The format for the instruction is up to you, though it may not contain the sequence ?>, which ends a processing instruction,

Instruction

Schema Properties Panel


When selected by way of the Schema > View menu, the schema properties panel is displayed. The schema properties panel provides a count of the different type of components used to build the DTD. (This information is also found on the Statistics tab of the configuration panel).

Errors Panel
When selected by way of the Schema > View menu or upon clicking the Errors button on the toolbar, the errors panel appears between the active editing panel and the configuration panel. The errors panel displays errors found when a new DTD is loaded, as well as errors detected throughout the editing process. The errors panel indicates the total number of errors and provides a list of errors and details about the errors in this panel. Clicking on the error message will take you to the source of the error. To update error information in the DTD after correcting an error, it's good practice to check for errors again by way of the Check for Errors button on the top of the panel. A red selector button in a declaration panel is indicative of an error.

Notes Panel
The raw declarations in your schemas are very useful for parsers processing your document, but are rarely sufficient for other humans who need to read and make sense of your schema. Adding notes helps those who use and maintain your schema to understand your schema designs, and can be a critical tool for keeping groups of developers working on the same or related schemas in sync.

TIBCO Designer Palette Reference

110

| Chapter 2

XML Tools Palette

The notes panel provides an area where you can add schema level documentation to your schema as well as document individual declarations and preview their source. When selected by way of the Schema > View menu, the notes panel appears between the active editing panel and the configuration panel. Use the button in the upper right-hand corner of the notes panel to indicate whether you are interested in working with declaration-level notes (the default view) or notes about the schema as a whole. To view or edit notes for the schema as a whole, click Show Document. (The name of the DTD will appear in the upper left-hand corner of the panel.) To toggle back to the default, declaration-level view, click 'Show Selected Declaration'. (The the name of the declaration will appear in the upper left-hand corner of the panel.) When the notes panel reflects the selected declaration, three tabs are available: Tab All Notes Usage Notes Description Displays all the notes entered for the selected declaration. Notes cannot be edited within this tab. Use this tab to associate a new note with the selected declaration. In the source code, the note will appear within the selected declaration, as an XML comment: <!--usage note--> Source Preview Displays the source code for the selected declaration.

When the notes panel reflects the document as a whole, two tabs are available: Tab All Notes Usage Notes Description Displays all the top-level notes. Notes cannot be edited within this tab. Use this tab to associate a new note with the schema. In the source code, the note will appear as an XML comment above the first declaration.

TIBCO Designer Palette Reference

DTD 111

Source Panel
When selected by way of the Schema > View menu or upon clicking the Source button on the toolbar, the source panel becomes the primary panel for editing. The source panel allows you to edit the source code of your DTD directly. If you're comfortable with DTD syntax, editing your declarations directly may occasionally be useful or even convenient. Even if you don't want to edit your DTD directly, the source panel provides another way to examine your declarations. To make the other panels reflect the changes you've made, click Reparse at the top of the panel. Any errors found upon reparse will be listed in the errors panel.

TIBCO Designer Palette Reference

112

| Chapter 2

XML Tools Palette

DTD Exercise
To help you become familiar with the panels available when working with DTD resources, we have included this step-by-step exercise. The exercise walks you through the creation of a simple schema, introducing you to the fundamental features of the editing environment. The exercise should take about 10-15 minutes to complete. In this example, you will build a DTD for a price list. A document conforming to this schema could be used by a reseller to define the format in which product information is received from manufacturers. Here is a guide to the information we'll be using: Component price.list manufacturer name date.issued product sku product.name price description promotion start.date end.date Description the root element inside of which all others will appear a container for information about a manufacturer the name of the manufacturer the date the price list was issued a container for information about a product the product's sku (Stock Keeping Unit - Inventory Identifier) the product's name the product's price a text description of the product a container for information about a price promotion the date the promotion starts the date the promotion ends

Getting Started 1. In the project panel, create a project folder named QuickTour. 2. To create a new DTD resource, drag the DTD icon from the XML Tools palette and drop into the design panel.

TIBCO Designer Palette Reference

DTD Exercise 113

3. Within the design panel, double click the DTD icon. 4. A new set of panels will appear. Resize the panels, such that the elements panel is prominently displayed. The elements panel presents an inventory of all of the elements and complex types allowed within a document conforming to this schema. The elements panel consists of the content model diagram (upper half) and the element list (lower half). The element list, where most of the work in this exercise will be performed, has a tabular format, with the fields in each row identified by column headings.

Now you are ready to build the schema. 5. In the Element column, select root and replace it with manufacturer. 6. Tab across to the Attributes column and type in name. Here you can define attributes for an element. When entering multiple attributes, commas should separate them. You can navigate around the tables in each panel by using ENTER, TAB, SHIFT-ENTER, and SHIFT-TAB. 7. To create the next element, move your cursor to the row below manufacturer and type date.issued. Tab to the Content column and select Text by clicking on the Content Type button and selecting Text from the drop down menu.
manufacturer

Now, go back and specify a content model for manufacturer to ensure that the element always includes the date.issued element.

8. Move to the Content column on the manufacturer row and select Elements from the Content Type menu. This restricts the content model for manufacturer to elements only. 9. Tab to the Content Model column and position the cursor inside the parentheses () which are automatically created when editing an element's content model.

TIBCO Designer Palette Reference

114

| Chapter 2

XML Tools Palette

10. Type date.issued into the Content Model column to restrict the contents of manufacturer to one and only one date.issued element. Since name is an attribute, it does not need to be within the manufacturer element.

11. Move to the empty line below date.issued and type product then press tab. Select Elements from the Content Type menu and press tab. 12. Move to the content model column for product, position your cursor inside the () and type sku, product.name, price, description, promotion The commas between elements are indicative of a Sequence (this followed by this followed by this). Elements may also represent a Choice (this or this or this). Choice uses a | rather than a , between element names. In the Content Model column, groups of elements can be EITHER choices or sequence. For more information, see Building Content Models: Occurrence and Sequence Indicators on page 86. When adding elements to a content model (within the Content Model column), if your input exceeds the column width, type Ctrl+E or select Expand from the Schema>View menu to open a larger window for editing the selected area. 13. Tab from this field and select Create (fig 1.4) when prompted. Notice that new Elements are created for you and added to the list. By default, new elements are automatically created with text only content
.

As it is currently defined, all elements are required. In some instances, you may want an element to be optional. For the purposes of this exercise, description will be made an optional element.

TIBCO Designer Palette Reference

DTD Exercise 115

14. Go back to the product content model and highlight description. Once highlighted, click the optional button on the tool bar that appears. Notice the '?' that was appended to description. Elements can be defined as either required OR optional. They may also be defined as repeatable by clicking on the Repeatable button in the Content Model toolbar. For more information, see Building Content Models: Occurrence and Sequence Indicators on page 86. 15. A promotion is a discounted price over some period of time. This will be represented using a combination of elements and attributes. Make a content model for promotion by specifying Elements in the Content column and then entering price into the Content Model column. 16. Tab to the Attributes column for promotion and enter end.date. Press Tab.
start.date,

17. XML schemas typically have a single root element that contains all other elements. In this instance, our root element will be called price.list. Below promotion, type in price.list, press tab, and specify Elements content. 18. Enter manufacturer, product+ as the content model. (The plus sign designates the product element as required and repeatable.) Tab out of the field to update the schema.

Congratulations! You have completed creating the schema. In the configuration panel, name the file pricelist and click Apply to save your work. The Apply button makes the file available to other resources in the project. The schema is saved when the entire project has been saved.

TIBCO Designer Palette Reference

116

| Chapter 2

XML Tools Palette

Reviewing the Schema Graphical view By defining content models, a structure for the document is established. This structure can be thought of as a tree where the root is the encompassing element and its branches are the elements and attributes that may be contained within it (as defined by the content model). In turn each branch may have branches defined by their content model. The diagram at the top of the element panel provides a graphical view of these relationships. Explore the content model by clicking on the elements to expand and collapse their content. (Specifically, click on the Element Content Indicator icon, labeled in Figure 36 on page 116.) Note that only elements that define a content model can be expanded. Within the diagram, double clicking on the root element, in this case price.list, will produce a graphical view of the entire schema, shown in Figure 36. Figure 36 Graphical view of the schema

For each element and attribute in the diagram, a right button menu offering key editing functions is provided. Right-click the background to zoom in or out of the diagram as a whole. Source view To view the actual schema syntax for the schema you've created, open the source panel by clicking Source on the main toolbar. The notes panel, which allows you to enter supplemental information about any element or attribute, also allows you to view the source for individual declarations. Open the notes panel using the Schema menu (Schema > View > Notes). Click on the Source Preview tab at the bottom of the notes panel to view the source for the element declaration currently selected in the element list.
TIBCO Designer Palette Reference

DTD Exercise 117

Conclusion Congratulations! You have completed the DTD Quick Tour. Notice that the elements and attributes were not constrained by data typing beyond text, because types such as integer, decimal and date are not available in a DTD. To see how these types could be implemented in a price list schema, see XML Schema Exercises on page 69

TIBCO Designer Palette Reference

118

| Chapter 2

XML Tools Palette

Instance
Resource

The Instance resource of the XML Tool palette enables the creation of an XML instance document. XML instance documents are XML documents -- typically representing data-oriented business documents, messages, and configuration files -- that conform to the rules of an XML Schema or DTD. When an Instance resource is selected within your project, a series of new panels, toolbar buttons, and menus options are provided to facilitate the schema-driven creation, editing, and navigation of the resource. The editing environment for instance resources, shown in Figure 37 is described in this chapter. Figure 37 XML instance editing environment

For a hands-on demonstration of the instance editing environment, see the XML Instance Exercise on page 136.

TIBCO Designer Palette Reference

Instance 119

Configuration Panel
When editing an Instance resource, the Configuration tab has the following fields:. Field Name Description This is the name of the file when persisted. The *.xml suffix will be automatically added.

Toolbar
For a description of the buttons that appear on the toolbar when editing Instance resources, see Toolbar Buttons on page 26.

XML Menu
An XML menu becomes available when editing an Instance resource. The XML menu contains three submenus: Tools, View, and Presentation. The Tools menu includes options for inserting elements or attributes and for locating and replacing text. The View menu provides options to control the panels used for editing, organizing, and viewing your documents. The Presentation menu allows you to associate one or more customized views with the active instance document. The presentations are associated at the schema level, so the views you create for a single document adhering to a schema become available for all instances of the schema. The XML menu options are described in detail in Menu Options on page 27.

Setting a Schema
The XML instance editing environment is optimized for building XML documents based on an XML Schema or DTD. When creating a new XML document, specifying the schema within your project to base the document on is typically your first step. To set a schema, use the Set Schema button on the toolbar. A window will appear enabling you to choose a schema from your project. Upon selecting your schema, you will be prompted to specify a root element for your document. A default value will appear, representing a best guess as to the root of the schema you have selected. If the default value is correct, simply select OK and the schema will be loaded. If the default value is not correct, type in the name of the root you would like to use. If you decide that you do not want to set the schema, click Cancel.

TIBCO Designer Palette Reference

120

| Chapter 2

XML Tools Palette

If you set a schema to a brand new document, the schema will be used to jumpstart your document, automatically adding all required attributes and elements into the content panel. Keep in mind, however, that your document will likely not be error free until you have entered appropriate values in the edit area. Use the Errors button on the toolbar to view a listing of validation errors in the errors panel. You can set a schema to an existing Instance resources as well. Any errors detected will be immediately listed in the errors panel. Right-click the Set Schema button to choose from a list of recently applied schemas.

Content Panel
The content panel provides the primary editing area and loads by default when an Instance resource is selected in the project panel. The content panel consists of a left-hand listing of the elements and attributes (tag area) and a right-hand area for inserting values for the elements and attributes (edit area). The content panel also has a navigator bar for navigating throughout the document and a factory bar for adding new elements, attributes, processing instructions, comments, and text. The content panel is shown in Figure 38. Figure 38 Content panel

Tag Area

Edit Area Content Hints

Factory Bar

TIBCO Designer Palette Reference

Instance 121

Content Panel: Tag Area


The tag area appears as a shaded column to the left of the edit area in the main window. It displays all of the component that comprise the instance document. Blue icons are used to distinguish the components, as described in the table below. Icon Component Element Attribute Comment Processing Instruction Text Along with the edit area, the tag area is where most of your work will be done when building XML documents. For more information on the key tasks performed within the Tag area, see: Inserting new elements, attributes, processing instructions, and comments on page 121 Modifying Document Structure on page 123 Identifying Data-Entry Constraints on page 124 Navigating the Document on page 124 Creating a Customized View of the Tag Area on page 125

Inserting new elements, attributes, processing instructions, and comments Graphical document building tools are provided that facilitate the insertion of new elements, attributes, processing instructions, comments, and text. The two main insertion tools are the Insert box, which appears in the tag area, and the factory bar which appears in between the Tag and Edit areas and the errors panel. Insert box Within the tag area, double click an element to generate a drop down box. This box will always contain an empty box with a series of icons below which, when selected, determine the type (element, attribute, and so on) and location (child, sibling, parent) of the node to be entered. (The insertion default is an element sibling.) If the document is based on a schema, any elements and attributes

TIBCO Designer Palette Reference

122

| Chapter 2

XML Tools Palette

available based on the schema's content models will also be appear in the insert box, and can be added with single mouse click. Note in Figure 39 that the elements appearing the drop down box are marked by various indentions which represent their relationship to the selected element. In this case, street and city are siblings to the selected element, street, and hence, appear along the same vertical line. The elements shipTo and item appear to the left of the selected item, indicating parent and grand-parent relationships, respectively. Figure 39 Insert box
insert new element insert new attribute insert as child insert as sibling insert as parent insert new text insert new comment insert new processing instruction

insert schema-defined element or attribute

In Figure 39, a name (suiteNumber) for a new sibling element for street has been entered into the text box. With a single click on the appropriate icon, this new entry can be changed from an element into an attribute, text, comment, or processing instruction. When you are finished entering and defining your new tags, either hit tab or enter to complete the entry. If you are using a schema to build your document, adding new elements and attributes may cause your document to become invalid. You will be permitted to create documents that break from the structure of your schema, but will be alerted whenever this occurs by way of the errors panel. Factory Bar The factory bar at the bottom of the content panel, provides another option for entering new items to the tag area. The factory bar is shown in Figure 40. Figure 40 Factory bar

TIBCO Designer Palette Reference

Instance 123

The factory bar provides an easy way to identify and insert any additional elements (children or siblings) or attributes defined by the schema for the element selected in the tag area. Click on any element of attribute name appearing on the factory bar to have it automatically added to the document. The factory bar also facilitates the insertion of new elements and attributes, as well as new comments, processing instructions, and text. Click the blue icon representative of the item you would like to add to launch the Insert box described above. Figure 41 illustrates the insert box which appears after clicking on the comment icon on the factory bar. Figure 41 Inserting a comment

Modifying Document Structure A right button menu, shown in Figure 42, provides the basic cut, copy, paste, clear and rename functions to enable you to make changes to the elements and attributes within the tag area. (For an explanation of the other options on this menu, see Creating a Customized View of the Tag Area on page 125.) Figure 42 Right button menu

TIBCO Designer Palette Reference

124

| Chapter 2

XML Tools Palette

You can also use your mouse to quickly change the positioning of elements and attributes appearing in the tag area. This drag and drop editing can be used to change the structure of your document or simply to change the view of your document. (For more information, see Promoting elements and attributes on page 129). To move an element or attribute, left click on the blue icon which appears to the left of the tag. Holding down the left mouse button, drag the item to its new position and release the mouse button. If your document is dependent on a schema, be sure to use the Errors button on the toolbar to determine if the move is permitted by the schema. Identifying Data-Entry Constraints When creating an XML document based on a schema, the tag area facilitates data entry into the edit area by providing a guide to the type of data that is required by the schema. When you mouse over the element and attribute tags appearing in the tag area, a tool tip is created which describes the type of data that should be entered in the edit area. For example, in Figure 43, the tool tip indicates that the content for the quantity element should be entered as an int (integer) to conform to the schema. Figure 43 Content hint as tool tip

Navigating the Document The navigator bar appears along the top of the content panel (below) tracks your movements throughout the tag area, displaying your selected element or attribute along with each of its element antecedents, all the way up to the document root. Notice in Figure 44 that the entire ancestry of the element selected in the tag area--street--is illustrated on the navigator bar. Figure 44 Navigator bar

Clicking on an element in the navigator bar will also open a drop down window displaying the selected element and each of its siblings. Figure 45 shows the siblings for the billTo element.
TIBCO Designer Palette Reference

Instance 125

Figure 45 Siblings displayed on navigator bar

By presenting elements in the context of their parents and siblings, the navigator bar provides a clean view of an elements place in the document's structure, a feature which is particularly useful when your documents are lengthy. The navigator bar also facilitates navigation throughout your document. Double clicking on an element from the drop-down automatically moves you to that element within the tag area. Creating a Customized View of the Tag Area The tag area can be customized in numerous ways to facilitate data entry and to make the presentation of the document more intuitive and user-friendly. Customized views are preserved and associated with the schema used to create this document. This means that, as long as needed, every new XML document created using the same schema will be presented the same way automatically. Your customized view can be saved by way of the Presentation menu (XML>Presentation). Multiple presentations may be associated with a given schema, providing multiple display options for an instance document. Customization is performed using the right button menus associated with each tag. The initial menu that appears is used to customize tags on an individual item basis. That is, if the document uses several address elements, the menu choice will only affect the address element that is selected. The final option of this menu provides access to a type level sub-menu. The options within this menu affect all instances of a given element within your document. Both the item and type level menus are shown in Figure 46.

TIBCO Designer Palette Reference

126

| Chapter 2

XML Tools Palette

Figure 46 Item and type level (right-button) menus

To learn more about the customization options on the right-button menu, see: Expanding and collapsing elements on page 127 Hiding elements and attributes on page 127 Creating aliases for elements and attributes on page 128 Adding color to your tags on page 128 Promoting elements and attributes on page 129

Type level changes made through the application of each of these options can be saved by way of the XML menu (XML> Presentation > Save As...) The alignment of the tags can also be changed by way of the XML menu (XML>View>Align Labels).

TIBCO Designer Palette Reference

Instance 127

Expanding and collapsing elements To allow for a cleaner view of your document at a particular level of its hierarchy, you can expand or collapse sections of the tag structure by clicking the small + or - icons preceding element tags. All elements of a particular type (e.g. all address elements) can be collapsed at once by right-clicking on an instance of element in the tag area and selecting the Element Type option from the drop down menu. A second menu will appear with the expand and collapse options. Hiding elements and attributes If you are working with a specific set of elements in a document, you may want to hide the elements and attributes you are not editing. Elements and attributes can be hidden either on an item basis (hide only one instance) by right-clicking on the element and selecting hide from the initial drop-down menu. Elements and attributes can be hidden on a type basis (hide all instances) by right-clicking on the element and selecting Element Type from the first drop down menu and Hide from the Element Type sub menu. To show elements that have been hidden, select the parent of the hidden element and use the Show or Show All functions accessible through the item and type-level drop down menus. The Show command is used to select an individual element or element to be shown, as shown in Figure 47, while Show All displays all elements or elements previously hidden within the selected element. Figure 47 Selecting a hidden element to show

To show all elements and attributes previously hidden, select the Show All option of the right button menu for the root element of the document.

TIBCO Designer Palette Reference

128

| Chapter 2

XML Tools Palette

Creating aliases for elements and attributes Element or attribute names that are not easily understood can be given an alias in your view of the document. The alias is only designed to help users understand the meaning of a tag within the tag area without having to rename the element. Aliases will not appear in the source panel and the original element names will be preserved when the document is saved. An alias can only be applied at the type level (meaning all instances of the selected element or attribute name will be displayed with the alias name), using the Alias option of the type level submenu of the right button menu. A dialog box will appear where you can set the alias. In Figure 48, the attribute dur is given the alias of duration. Figure 48 Specifying an alias

Adding color to your tags Color highlighting can be applied to make the instance document more intuitive and to showcase important areas. Color can only be applied at the type level (meaning all instances of the selected element or attribute name will be highlighted with the selected color), using the Color option of the type level submenu of the right button menu. Six colors are available, as shown in Figure 49. Figure 49 Color options

TIBCO Designer Palette Reference

Instance 129

Once a color has been selected, the tags default background color (light gray) will change to the chosen color. Promoting elements and attributes You can customize your view from the default vertical format to a horizontal tabular format by promoting one or more attributes or (child) elements to the same line as the parent. This helps isolate a selected element or attribute type for data entry. Promotion also provides a more concentrated view of the document, especially useful for documents with many elements and attributes holding small amounts of text. Promotion is performed at the type level only (meaning all instances of the selected element or attribute will be promoted), using the Promote option of the type level submenu of the right button menu. Promotion can also be performed by dragging and dropping an attribute or child element from the tag structure into the edit area on the same row of the parent element. Figure 50 illustrates the tabular format created through promotion. In this example, the attributes name and focus have been placed on the same row as their element, sale_agent and the elements total_sales, total_calls, nails, and screws have been placed on the same row of their parent, monthly. Figure 50 Promoted elements and attributes

If you want to promote a large number of child elements, you can resize an element row to allow for multiple lines of promotion per element. To resize an element row vertically, click on the bottom of the row in the area just to the left of the split bar separating the Tag and Edit Areas and then drag to the desired size. An element row can be re-sized to allow for a maximum of 7 lines per row. In Figure 51, the row for the element monthly has been resized to allow for three lines of promotion.

TIBCO Designer Palette Reference

130

| Chapter 2

XML Tools Palette

Figure 51 Resizing rows to allow for additional promotion

To cancel a promotion, right click the promoted item and choose Demote from the menu. Promoting elements and attributes does not change their structural position within the XML document, just their position within the content panel.

Content Panel: Edit Area


The edit area, adjacent to the tag area in the content panel, is where the data associated with the elements and attributes that appear in the tag area is entered. While entering data in the edit area is very straight forward -- much like filling out a form -- the following tips will help you add to your document with greater ease. When building documents based on a schema: a single mouse click activates the data entry field for elements defined as text only. mixed content models default to the show as markup view; all other content models default to show as rows. See Show as Rows versus Show as Markup on page 133 for more information. data should be entered directly over the content tips, which appear as grayed-out text strings and describe the expected content for the element or attribute. when data entry in a particular field is complete, press Enter or Tab to move to the next field.

When building documents with no schema: when a new element is added, the data entry field is initially activated with a double click, after which only a single click is required. when data entry in a particular field is complete, press Enter or Tab to move to the next field.

TIBCO Designer Palette Reference

Instance 131

Content Hints If your document is based on a schema, content hints facilitate valid data entry by providing information about the schema's content model. The hints appear as grayed-out text strings in the edit area next to each structural element. Figure 52 illustrates the different types of content hints. Figure 52 Content hints
Content Model Attribute Value Data Type Attribute Default Value Data Type (with dropdown menu of available choices)

TIBCO Designer Palette Reference

132

| Chapter 2

XML Tools Palette

Content hints in parentheses represent the sequence and occurrence of any data elements contained by the particular structural element. The content models are described using occurrence and sequence indicators. Table 11 describes the Occurrence indicators. Table 12 describes the Sequence indicators. Table 11 Occurrence indicators Occurrence Indicator None ? Meaning The element must appear once and only once. The element (or group of elements) may appear zero or one times. The element is optional, but is only allowed to appear once if used. The element (or group of elements) must appear one or more times. The element is required to appear at least once, but multiple consecutive occurrences may be present. The element (or group of elements) may appear zero or more times. The element can appear as many times consecutively as needed, or even zero times. The element (or group of elements) must appear within the specified range of times.

{}

Table 12 Sequence indicators Occurrence Indicator | , & () Meaning Can be read as 'or'. Creates content model with particles enumerated (only one may be chosen). Can be read as 'followed by,' requiring that the elements or groups of elements appear in the precise sequence indicated Elements may appear in any order, but may not be repeatable. Groups elements, allowing a set of choices or a sequence to be used anywhere that a single element can appear.

TIBCO Designer Palette Reference

Instance 133

Besides element content, content hints also provide data typing and default value information. Also, if the schema enumerates values for an element or attribute, a drop down list of the possible choices is provided (when you click on the data entry field.) For a description of the data types that may appear as content hints, see http://www.w3.org/TR/xmlschema-2/#built-in-datatypes Content hints are displayed by default. They can be turned off by way of the XML menu (XML > View > Content Hints). Show as Rows versus Show as Markup Element and attribute content can be displayed in either a row format or in markup format. When a element's content is displayed in row format the element, along with each of its child elements, appear in the tag area along with a corresponding data entry field in the edit area. Figure 53 shows a date element in row format. Figure 53 Row format (the default view)

When an element's content is displayed as markup, all of the element's content (that is character data, child elements, child element character data, and so on) is displayed as XML in the edit area. Figure 54 shows the date element in markup format. Figure 54 Markup format

A row holding content shown as markup can be collapsed or expanded by way of the blue icon appearing at the end of the data entry field. In Figure 55, the field has been expanded to show all of the markup content associated with the element Date.

TIBCO Designer Palette Reference

134

| Chapter 2

XML Tools Palette

Figure 55 Blue ellipsis icon for collapsing or expanding markup view

By default, data is presented in show as rows formatting. The two exceptions are mixed content models and comments, which are displayed as markup by default.

Errors Panel
When you set an XML document to a schema, an initial validation check is performed to ensure that your document is in agreement with the rules outlined by the schema. As you make changes to your document, use the Check for Errors button on the top of the panel to determine if the changes are valid. Detected errors are displayed in the errors panel, located below the Content or Source panel. The errors panel contains a listing of errors along with a brief description. Typical error messages indicate: data that does not match the data type specified by the schema elements in the improper sequence elements or attributes not defined in the schema

Click on the error within the errors panel to identify where the error exists within the document. The problem area will be highlighted within the Tag and Edit areas. If the document does not reference a schema, upon checking for errors the errors panel will indicate one error: Element root: Document has no governing schema This message is not indicative of an error; rather, it indicates that the instance cannot be checked for validity errors as it is not governed by a schema.

TIBCO Designer Palette Reference

Instance 135

Source Panel
When selected by way of the XML > View menu or upon clicking the Source button on the toolbar, the source panel becomes the primary panel for editing. The source panel allows you to edit the source code directly. If you're comfortable with XML syntax, editing directly within the XML source may be useful. To make the other panels reflect the changes you've made, click on 'Reparse' at the top of the panel. Any errors found upon reparse will be reported. UTF-8 is set as the default encoding for XML resources. The encoding can be changed on the XML Editing tab of the Preferences window (Edit>Preferences).

TIBCO Designer Palette Reference

136

| Chapter 2

XML Tools Palette

XML Instance Exercise


To help you become familiar with the editing facilities available when working with Instance resources, we have included this step-by-step exercise. The exercise walks you through the creation of an XML instance document, introducing you to the fundamental features of the editing environment. This exercise should take around 15 minutes to complete. This exercise requires the use of the price list schema created in the first XML Schema exercise. When working with Instance resources, TIBCO Designer operates as a schema-aware editor, which means you can validate your XML documents against a DTD or XML Schema as you build them or after they have been created. In our example, we will create an XML document using the price list schema created in the first XML Schema Exercise (see XML Schema Exercises on page 69) as a template. The example will also demonstrate the customizable view you can create of the XML document as well as all documents you later create based on the same schema.

Getting Started
1. In the project panel, create a project folder named QuickTour. 2. To create a new Instance resource, drag the schema icon from the XML Tools palette and drop into the design panel. 3. Within the design panel, double click the schema icon. 4. A series of new panels will appear, displaying a new XML document with just the root element showing. If you wanted to create a new document without the use of a schema, you could simply rename (right-click > rename) the root element to a tag name of your choice and then build your document from there. In our example, however, we are going to create this document based on the price list schema. 5. Click the Set Schema button from the toolbar at the top of the screen. A dialog will appear enabling you to browse and open the pricelist schema you created in the XML Schema exercise. 6. A dialog box will appear asking you to select an element to serve as the root element. The element price.list will appear as the default selection. Click OK. 7. After setting the schema, you will notice the elements (indicated by a blue diamond icon) declared as required in the schema now show up in the tag
TIBCO Designer Palette Reference

XML Instance Exercise 137

area. Additionally, the structure of the document as defined by the schema is visible as content hints viewable in the edit area. The tag and edit areas comprise the content panel, which is shown in Figure 56. Figure 56 Content panel

Edit area Tag area Content hints

Factory bar

Upon setting the schema, two error messages will be reported in the errors panel. These errors will be resolved later in this exercise.

Building Your Document


The factory bar, illustrated in Figure 56 above, is one way you can insert additional elements or attributes into your document; you can also double-click on an element within the tag area and use the drop-down window that appears to add components to your document. Figure 57 depicts the document-building options.

TIBCO Designer Palette Reference

138

| Chapter 2

XML Tools Palette

Figure 57 Document-building options


insert new element insert new attribute insert as child insert as sibling insert as parent insert new text insert new comment insert new processing instruction

insert schema-defined element or attribute

1. To add the name attribute to the manufacturer element, click on manufacturer within the tag area. Once manufacturer is selected, name becomes an option on the factory bar. Click once on name to add it to the document.

2. Select promotion within the tag area, and use the factory bar to add the start.date and end.date attributes.
S

Customizing and Populating Your Document


Now we will customize the view we have of this document to make it more approachable and facilitate the entry of data within it. The view we create will be preserved and associated with the schema used to create this document. This means that as long as needed, every new XML document created using the same schema will be presented the same way automatically. (Multiple presentations may be associated with a given schema, providing multiple display options for an instance document.)

TIBCO Designer Palette Reference

XML Instance Exercise 139

1. If you right-click on the element manufacturer, a menu of options will appear. Select Element manufacturer > Color > Green to highlight the element with a green background. You will notice that the manufacturer element has now been highlighted in green. This makes finding the element to add data or content easy and identifies each occurrence of the element. 2. Use the same procedure to highlight the product element in yellow and the promotion element in blue.
S

3. Now you can promote the child elements as well as the attributes of manufacturer to make the entry of data easier and the document view more manageable. Promotion is especially helpful when working with data-centric documents containing a lot of mark-up but little content. To do this, move your pointer over the small blue icon next to the attribute name and drag the attribute to the right into the edit area and move it up one row. There will be a small black indicator that will demonstrate where the attribute is going to be repositioned. Release the attribute next to its associated element manufacturer. 4. Now drag the element date.issued up to the right of the attribute name, on the same level of manufacturer.

Promoting the elements does not change their structural position within the XML document, just their position within the content panel. 5. Promote sku,
product.name,

and price up to their parent, product.

TIBCO Designer Palette Reference

140

| Chapter 2

XML Tools Palette

6. Finally, drag start.date, end.date, and price to the same level of their parent, promotion.

7. To illustrate the entry of data, click to the right of the name attribute and enter a value that conforms to the data type, in this case a string.

8. Continue to enter the appropriate data into the remaining fields, using either the Tab key or the mouse to move between fields. When entering the content, pay attention to the data type information as specified by the schema and indicated by the content hints. Dates should be entered in the format: YYYYMMDD. Prices should be entered as decimal data. As you enter data corresponding to the required data type, the errors reported in the errors panel will disappear.

9. To add another product to the price list, highlight product in the tag area and then select product from the factory bar. Notice that the new product tag retains the formatting already specified for its element.

Congratulations! You have completed the example for customizing and building an XML document from a schema. One important feature is that once you create a document based on a schema, each additional document you make that uses the same schema will have the same view. To test this, save your document (using the Apply button of the configuration panel) and then start a new document and set the same pricelist schema to start it. Immediately upon setting the schema, the view of the new document will be the same as this document. Use the Presentation menu (XML > Presentation) to return to the default view or to save a new view of the document.

TIBCO Designer Palette Reference

| 141
Chapter 3

Adapter Resources Palette

This chapter gives detailed information about the Adapter

Resources

palette.

Topics
Specifying Generic Adapter Configurations, page 142 Generic Adapter Configuration Reference, page 155 Services Reference, page 159 SSL Configuration, page 169 Custom Log Sink Reference, page 174 Sessions Reference, page 178 Transaction Control and Advisory Reference, page 188 Folder Reference, page 191 Endpoint Reference, page 195

TIBCO Designer Palette Reference

142

| Chapter 3

Adapter Resources Palette

Specifying Generic Adapter Configurations


This section gives an overview of how you can use TIBCO Designer to specify an adapter configuration. It discusses these topics: Configuring a New Adapter Instance Adding Services to Your Adapter Advanced Adapter Configuration Adding Custom Log Sinks to Your Adapter Adding Extended Properties to Your Adapter Adding Custom Hawk Microagents to Your Adapter A Note on Global Variables Using a Message Filter Testing Your Adapter Using Adapter Tester

Overview
The Generic Adapter Configuration resource and the associated Adapter Resources palette are used when developing an adapter using the TIBCO Adapter SDK API. The adapter is configured using the Generic Adapter Configuration resource and the configuration is saved to a project repository, which is used by the code you have written. This manual discusses all resources in the Adapter Resources palette. This chapter explains how to use the resources, later chapters provide a reference to individual resources and the settings you specify in the configuration panel. Adapters and Schema Resources Schema used by an adapter are defined separately from the Generic Adapter Configuration. However, resources in the Generic Adapter Configuration point to adapter schema resources. For example, when you define a service such as a publication service, you need to define the schema that describes the data that will be published. When you save the project, both the adapter configuration and the corresponding schema are saved. For information on configuring adapter schemas, see Chapter 4, Adapter Schema Palette. You can access this guide via Help > Help For > Adapter Schemas.

TIBCO Designer Palette Reference

Specifying Generic Adapter Configurations 143

Configuring a New Adapter Instance


To create an adapter configuration, follow these steps: 1. Open TIBCO Designer. In the startup window, choose New empty project or open the project to which you wish to add your adapter. 2. Save the project. See the TIBCO Designer Users Guide, available via Help > Designer Help for information on saving projects. 3. In the project panel of the main window, make sure the top-level (project) folder is selected. 4. From the palette panel, drag a Generic design panel.
Adapter Configuration

into the

5. In the configuration panel, specify the configuration information for the adapter. See Generic Adapter Configuration Reference on page 155. Decide now whether you need to perform advanced logging. If the adapter doesnt use custom roles, use the Logging tab to specify logging information. If the adapter uses custom roles, click the Use Advanced Logging check box, and use the Log Sinks folder later to define your sinks. See Custom Log Sink Reference on page 174.

6. Add operations and, optionally, standard log sinks. An overview is given in this chapter: Adding Services to Your Adapter on page 144 Adding Custom Log Sinks to Your Adapter on page 146

TIBCO Designer Palette Reference

144

| Chapter 3

Adapter Resources Palette

Adding Services to Your Adapter


Adapter services are an abstraction useful for configuration of already existing adapters and they are therefore used in the Generic Adapter Configuration. Adapter services do not map directly to any objects used by a TIBCO Adapter SDK program. Instead, an adapter service is an aggregate of an endpoint and the corresponding session and points to the schema used by the endpoint. The easiest way to configure a new adapter is to drag a service into the design panel and configure it (and its metadata). If necessary, you can then perform additional configuration on the endpoint created by TIBCO Designer. Creating the session and endpoint explicitly is cumbersome and not recommended. The following types of services are supported: Publication service Subscription service Request-Response service Request-Response Invocation service

To Add a Service to an Adapter Configuration 1. In the project tree, select the adapter, then open the Adapter
Services

folder.

2. In the palette panel, select one of the services, for example, a Publication Service, and drag it into the design panel. 3. In the configuration panel give the service a name and choose the transport type.

4. To provide some additional information about the transport, click the Transport tab. What is displayed depends on the transport type you selected for the service. The screen shot below shows the options available for the default transport, a TIBCO Rendezvous Certified transport. See Services
TIBCO Designer Palette Reference

Specifying Generic Adapter Configurations 145

Reference on page 159 for detailed information on the individual services and different Transport tab content.

5. If the schema that determines the data used by the service has already been defined, click the Schema tab, then click the browse icon (binoculars) and select the schema resource in the dialog that appears. You must be sure to assign the appropriate schema to the service. The default, any, is only there as a placeholder. 6. Click Apply. TIBCO Designer creates the service instance. If you need to perform additional customizations, you can open the Advanced folder and do it there. See Advanced Adapter Configuration on page 145.

Advanced Adapter Configuration


After you have created a service, you can perform additional adapter customization as follows: If information about the session and endpoint cannot be set directly in the service, you can go to the Sessions folder and configure the session and endpoint there. See Sessions Reference on page 178 and Custom Log Sink Reference on page 174. If you wish to add custom log sinks, click Use Advanced Logging in the Logging tab for the adapter, then add individual sinks as needed. See Custom Log Sink Reference on page 174. If you are using an RVTX session, you can add transaction pools to your adapter. Regardless of the type of session, you can add advisories as needed. See Transaction Control and Advisory Reference on page 188.

TIBCO Designer Palette Reference

146

| Chapter 3

Adapter Resources Palette

If your adapter takes an extraordinary amount of time to load, you may specify a loadURL in the Metadata URL folder. See Metadata URLs Folder on page 194. In that case, you also need to specify the URL for the location of schema, so the adapter can load them as needed at runtime. You do that from the Adapters Startup tab.

Adding Custom Log Sinks to Your Adapter


If your adapter uses only file sinks and stdio sinks, you configure the sinks using the Logging tab at the adapter instances top level. If you want to add additional file or stdio sinks, or network sinks or TIBCO Hawk sinks, follow these steps. 1. Select the adapter, then choose the Logging tab and click the Advanced Logging check box. 2. Select the Log
Sinks

folder.
Sink

3. Customize the existing File Sink and stdio page 175 and stdio Sink, page 176. 4. To add more file sinks or stdio sinks:

if you like. See File Sink,

a. In the design panel, select the sink, choose Copy, then Paste. b. Name the sink appropriately. c. Customize the new sink using the fields in the configuration panel. See Log Sinks Overview, page 174. 5. To add Network sink, which publishes information to TIBCO Rendezvous: a. Select the Log Sinks folder in the project tree. b. Drag a Generic Log Sink into the design panel. c. From the pop-up, choose Network and click Apply. d. Specify the information, as discussed in Network Sink, page 176. 6. To add a TIBCO Hawk sink, which publishes information to TIBCO Hawk: a. Select the Log Sinks folder in the project tree. b. Drag a Generic Log Sink into the design panel. c. From the pop-up, choose Hawk. d. Specify the information, as discussed in Hawk Sink, page 177.

TIBCO Designer Palette Reference

Specifying Generic Adapter Configurations 147

Adding Extended Properties to Your Adapter


If the existing configuration GUI does not provide the resource you need for some custom configuration, you can add extended properties to your adapter. You can also remove existing attributes or properties using the Delete icon. You have the following options, discussed in this section. Terminology Keep in mind the following terminology used to describe repository content. An object contains attributes. An attribute is a named association list. Inside the association lists are name:value pairs which are properties of the attribute. As a result, you add an association list to an object, then name it and have an attribute. Specifying Values for Existing Properties Adding Properties Deleting Items

Adding Properties To add an extended property to your adapter, follow these steps: 1. Select the top-level adapter configuration object. 2. Choose Resources > Edit Extended Properties. 3. Use the icons in the Edit Extended Properties dialog to add properties. You can perform the following operations. Click this icon to add an association list. Because a named association list is called an attribute, you have, in effect, added an attribute to an object when you add an association list. Note that you can also add an association list to an attribute. This adds an extended property to the attribute. Click this icon to add a reference to an existing object. When you add a reference, you must then specify the global name to which the reference points. The global name specifies the location of the object inside TIBCO Repository, for example
/tibco/public/endpoint/adapter/generic/Generic Adapter Configuration/RV TX Publisher

TIBCO Designer Palette Reference

148

| Chapter 3

Adapter Resources Palette

Click this icon to add a string property to an association list. Triple-click the newly-added property to change the property name and its value. For an example, see Adding Custom Hawk Microagents to Your Adapter on page 148. Deleting Items You can delete an object, association list, or attribute by selecting it, then clicking the delete icon.

Specifying Values for Existing Properties To specify a value for an existing property: 1. Select the property by triple-clicking it. 2. Enter a value of your choice. Note that double-quotes are automatically added when you press Return.

Adding Custom Hawk Microagents to Your Adapter


To add a custom Hawk Microagent to your adapter, you must edit the adapters XML file. The following example shows the elements and attributes required for a custom Hawk Microagent. See the sdk/pubsub example for the actual XML:
+ hawk - help=Java SDK Example pubsub - microAgentName=hawkagent - sessionName = hawkSession + method - help = Retrieve Color Information - name = getColor (this must match the method name in code) - type = INFO + outputParameter - help = Color Information - name = color - type = string (this must match the method's return type in code) + method - help = Set Color Information - name = setColor (this must match the method name in code) - type = ACTION + inputParameter

TIBCO Designer Palette Reference

Specifying Generic Adapter Configurations 149

- help = set color Information - name = color - type = string (this must match the method parameter type in code)

A Note on Global Variables


In many fields in the configuration panel, global variables surrounded by %% are used. In most cases, you can change these global variables using the Global Variables tab in the project panel. See the TIBCO Designer Users Guide for information. Do not set values for the %%InstanceId%% and %%AppName%% global variables. The variables are set at runtime by run-time adapters.

Using a Message Filter


The Message Filter resource allows developers to transform inbound and/or outbound messages for any adapter built with the Adapter SDK. It could be used, for example, for performing localized transformations using XSLT. The programming for the Message Filter is performed with the Adapter SDK and discussed in the Adapter SDK Programmers Guide. This resource only allows you to hook in the resource. Usage Scenarios The adapter wants to transform all outbound XML with XSLT

The application to which the adapter connects understands XML natively. The adapter code retrieves messages and makes use of the MData::toXML() methods. The corresponding XSD is available in-memory and on disk if you have exported it. To achieve local transformations to a canonical format, XSLT is the logical choice. These transformations can be applied to all outbound endpoints. Inbound transformations most likely dont make sense. Arbitrary custom data manipulation is desired (not XSLT)

Some custom code is required to manipulate messages before sending them to a third-party application. For example, a legacy TIBCO Rendezvous application expects its data in a particular format. The only solution today is to write an intervening adapter between packaged adapters and the TIBCO Rendezvous application to do TIBCO Rendezvous transformations, or to use other TIBCO products (TIBCO IntegrationManager, TIBCO BusinessWorks).

TIBCO Designer Palette Reference

150

| Chapter 3

Adapter Resources Palette

Implementation The low-level callout behavior is made available by an MTransformationPlugin class that is part of the API (both C++ and Java). See the reference documentation for TIBCO Adapter SDK for additional information. You specify the low-level callout in the TIBCO Designer as follows: 1. With the top level project selected, drag a Message design panel. Name it appropriately for clarity.
Filter

resource into the

2. Specify the name of the implementing class in the Implementation field. 3. In the design panel, add or remove attributes as follows: a. In the toolbar, click the Add Attribute icon.

b. Specify the name of the attribute and the value you wish to use for this adapter instance. c. Click Is Reference if the attribute is also another object. 4. Click Apply. You associate the callout with your adapter as follows: 1. Select the Generic Adapter Configuration tab.
Configuration

resource and choose the


Filter

2. Click the Browse button next to the Message Message Filter you defined earlier.

field and select the

You can now access the attributes set in your configuration from your adapter code. Here is an example for accessing an attribute test with value teststring.
In C++:
pMProperties->getValue( pMApp->getAppName() + "/deployment/transformationPlugin/attributes/test", myMStringProp); myStringProp = mapp.getConfigProperties().getString(app.getAppParameters().getApp Name() + "/deployment/transformationPlugin/attributes/test");

In Java:

The transformation plugins are applied only to services with subscriber, publisher, client, and server endpoints. You can use the transformation plugin to stop the message flow. You can either throw an exception or return FALSE to stop message flow.

TIBCO Designer Palette Reference

Specifying Generic Adapter Configurations 151

A programming example is included in the TIBCO Adapter SDK Programmers Guide.

TIBCO Designer Palette Reference

152

| Chapter 3

Adapter Resources Palette

Testing Your Adapter Using Adapter Tester


The adapter tester is a tool that can be used for testing adapters. It is highly recommended you validate the project before starting adapter tester.

All adapters you wish to test, must have their runtime installed in your machine. Because the setup differs depending on the type of adapter you are testing, this section explains how to use the tool in three sections: Setup for Testing TIBCO Adapters Setup for Testing Custom Adapters Using Adapter Tester

When you set up an adapter tester, configuration for the tester is saved for each adapter in the project. You may, however, have to change some of the settings if you wish to run the tester on a different machine as the directories may not be valid. Setup for Testing TIBCO Adapters If the adapter you are trying to test is a TIBCO adapter, the adapter tester simplifies the configuration required from you to run the adapter. Provide the following information: Working directory Click Browse to supply the directory. The tester creates the necessary run-time and support files required by the adapter in this directory. All files created by the Adapter Tester are temporary and will be deleted when you exit Designer exit. It is recommended that you do not edit the files in the working directory. Ensure that the disk where the working directory is located contains enough space to save multiple copies of your project.

TIBCO Designer Palette Reference

Specifying Generic Adapter Configurations 153

Adapter executable

Choose the adapter from the pop-up. Make sure that the version of the run-time matches the version of the configuration. The adapter executable to run your 'packaged adapter' will be shown from a list of choices (each matching a particular installation). If the adapter supports multiple executables (one for a publisher, the other for a subscriber) be sure to select the correct one for the configuration you want to test.

A TRA template and other adapter arguments will be provided automatically by the tester tool. If the adapter specifies global variables, you can enter values in the window that is displayed. Setup for Testing Custom Adapters Adapter Tester may work with GAC and other custom type adapters, however, TIBCO only supports this feature on packaged adapters. If your adapter is an adapter configured using Generic Adapter Configuration GAC or a custom adapter that the TIBCO installer does not recognize, you need to provide the following information: Working Directory Adapter Executable Arguments Working directory from which to execute the adapter. Click Browse to select the directory. See Setup for Testing TIBCO Adapters for more information. Name of the executable for the adapter. Click Browse to select the executable. See Setup for Testing TIBCO Adapters for more information. Arguments passed to the adapter executable. The last argument should be '--propFile', the TRA template file containing information necessary for startup of the adapter will be the last argument provided to the operating systems shell. TRA template to use for the adapter. The tester tool will copy values in the template and perform any necessary variable expansions as well as add additional entries pointing to the project file, etc.

TRA template

TIBCO Designer Palette Reference

154

| Chapter 3

Adapter Resources Palette

If the adapter specifies global variables, you can enter values in the window that is displayed. If your GAC or custom adapters cannot be successfully run by providing the above values, you can check the Custom Shell Command check box. This allows you to enter the working directory and shell command to execute. The shell command should include all arguments necessary to run the adapter. Note that in this mode, the project is not exported. You have to perform the export yourself. You may also need to create your own TRA file. See the TIBCO Adapter SDK Programmers Guide more information on the available arguments and options for custom adapters. Using Adapter Tester To use Adapter Tester, follow these steps: 1. Choose Tools> Show Adapter Tester All adapter instances configured in the project are displayed. 2. Select the adapter instance to test and provide the appropriate information in the Run Settings tab. See Setup for Testing TIBCO Adapters and Setup for Testing Custom Adapters for information. 3. Click Start. When the adapter is started, a green dot highlights the running adapter. The display changes to the Console tab. You can now observe the adapter as it executes. The Start button becomes a Stop button. 4. Click Stop when you wish to stop adapter. The button changes its name to Start and the green dot disappears. Note under Java 1.3.x on windows you may see a Command Prompt window. This is normal. If you close the window, the adapter process will be terminated.

TIBCO Designer Palette Reference

Generic Adapter Configuration Reference 155

Generic Adapter Configuration Reference


When you drag a Generic Adapter Configuration into the design panel, or load a legacy adapter into TIBCO Designer, the configuration panel allows you to specify information about the adapter. This section is a reference for the information you supply for a generic adapter in the configuration panel.

Configuration Tab
The Configuration tab allows you to specify the following information:
Instance Name

Name of the adapter instance. This name corresponds to the adapter instance configuration object stored in the tibco/private area of TIBCO Repository. Version of the adapter repository. To change the default, click the Change Version button at the bottom of the page. Short name of the adapter used in the source code. Optional description of the adapter. Allows you to specify a java class that performs manipulations on incoming and outgoing data. For more information, see the Using a Message Filter on page 149.

Version

SDK AppName Description Message Filter

Two buttons at the bottom of the Configuration tab allow you to change configuration values. Change Version Edit Adapter XML Allows you to change the adapter repository version. Allows you to edit the raw adapter xml configuration. You should use the palette features to edit the adapter. You are responsible for making sure the configuration is valid.

Logging Tab
The Logging tab allows you to specify your logging preferences and information. You have two choices:

TIBCO Designer Palette Reference

156

| Chapter 3

Adapter Resources Palette

If you are using custom roles, choose Advanced Logging, then use the resources in the Log Sinks folder to configure logging information. See Custom Log Sink Reference on page 174. If you are not using custom roles, use the check boxes in this tab. You can send the information to multiple locations, and you can choose to log one or more message types. When this check box is selected, you configure log sink resources from the Log Sinks folder of the adapters Advanced folder. See Custom Log Sink Reference on page 174. Sends logging information to standard I/O. Sends logging information to the specified file. See A Note on Global Variables, page 149 for information on the value. Sends all messages of type INFO to the specified location(s). Sends all messages of type DEBUG to the specified location(s). Sends all messages of type WARNING to the specified location(s). Sends all messages or type ERROR to the specified location(s).

Use Advanced Logging

Log to Standard I/O Log File

Log Info Messages

Log Debug Messages

Log Warning Messages Log Error Messages

Startup Tab
The Startup tab allows you to specify startup information for your adapter.
Show Startup Banner Metadata Search URL

If checked, a banner is displayed when the adapter is started. Click the browse icon to specify a previously defined Metadata Search URL for this adapter. See Metadata URLs Folder on page 194 for information on defining a Metadata Search URL.

TIBCO Designer Palette Reference

Generic Adapter Configuration Reference 157

Monitoring Tab
The Monitoring tab allows you to provide TIBCO Hawk information for the standard TIBCO Hawk microagent. See Adding Custom Hawk Microagents to Your Adapter on page 148 for information on configuring custom microagents.
Enable Standard MicroAgent

If true, a standard TIBCO Hawk microagent is available for this adapter. Its name is COM.TIBCO.ADAPTER. Default is false. TIBCO Hawk microagent name. Defaults to COM.TIBCO.ADAPTER. Specifies the amount of time the Hawk Agent should wait for HMA method invocations to complete before timing them out. The default is 10000 milliseconds. Normally there is no need to change this value, however, on machines under extreme stress where method invocations are timing out, this new option allows the timeout value to be increased. If true, an adapter-specific TIBCO Hawk microagent is available for this adapter. Its name is COM.TIBCO.ADAPTER.adaptername. Redefines the name for the adapter-specific agent. Defaults to
COM.TIBCO.ADAPTER.adgeneric.%%Deploym ent%%.%%InstanceId%%. See A Note on Global Variables, page 149 for information on the value.

Standard MicroAgent Name

Standard MicroAgent Timeout

Enable Class MicroAgent

Class MicroAgent Name

Class MicroAgent Timeout

Specifies the amount of time the Hawk Agent should wait for HMA method invocations to complete before timing them out. The default is 10000 milliseconds. Normally there is no need to change this value, however, on machines under extreme stress where method invocations are timing out, this new option allows the timeout value to be increased.

TIBCO Designer Palette Reference

158

| Chapter 3

Adapter Resources Palette

Default MicroAgent Session

TIBCO Rendezvous session to be used for TIBCO Hawk microagents by default. If not defined, the SDK creates a default session on RV service 7474 (the default for TIBCO Hawk).

TIBCO Designer Palette Reference

Services Reference 159

Services Reference
The Adapter Services folder contains four adapter services for drag-and-drop configuration. This chapter is a reference to these services. For information on creating an adapter services, see Adding Services to Your Adapter on page 144.

Publication Service
When you choose a publication service, the configuration panel allows you to specify information in the following: Configuration Tab Configuration Tab Transport Tab (Rendezvous Transport) Transport Tab (JMS Transport) Schema Tab

Name Description Transport Type

Name of the service. Optional description of the service. Either Rendezvous for TIBCO Rendezvous or JMS for TIBCO Enterprise for JMS. The transport type you choose affects the contents of the Transport tab.

Transport Tab (Rendezvous Transport)

Message Subject

Subject with which this publisher will send out messages. Do not change the subject unless you understand TIBCO Rendezvous requirements. Reply subject for this publication service. Choose Certified (the default), Reliable, or Transactional to create a service of that type.

Reply Message Subject Quality of Service

TIBCO Designer Palette Reference

160

| Chapter 3

Adapter Resources Palette

Wire Format

Choose Active Enterprise Message, Rendezvous Message or XML Message, depending on the format the application to which the adapter publishes requires. When you create a service, TIBCO Designer creates a corresponding session resource in the Sessions folder of the Advanced folder and displays it in this field. If you have explicitly created a custom session of the same type, you can click the Browse icon to replace the autocreated session. Note: It is not usually appropriate to change the session for a service. Edit the service instead.

Session Reference

Endpoint Reference

When you create a service, TIBCO Designer creates a corresponding endpoint resource in the Sessions folder of the Advanced folder and displays it in this field. If you have explicitly created a custom endpoint of the same type, you can click the Browse icon to replace the autocreated endpoint. Note: It is not usually appropriate to change the endpoint for a service. Edit the service instead.

Transport Tab (JMS Transport)

Destination Reply Destination Wire Format

Topic or queue to which you wish to send the message. Topic or queue where reply messages are sent. If a JMS transport is used, the wire format is always XML Message. Choose Queue or Topic. Choose Persistent or Non-Persistent.

Connection Factory Type Delivery Mode

TIBCO Designer Palette Reference

Services Reference 161

Session Reference

When you create a service, TIBCO Designer creates a corresponding session resource in the Sessions folder of the Advanced folder and displays it in this field. If you have explicitly created a custom session of the same type, you can click the Browse icon to replace the autocreated session. Note: It is not usually appropriate to change the session for a service. Edit the service instead.

Endpoint Reference

When you create a service, TIBCO Designer creates a corresponding endpoint resource in the Sessions folder of the Advanced folder and displays it in this field. If you have explicitly created a custom endpoint of the same type, you can click the Browse icon to replace the autocreated endpoint. Note: It is not usually appropriate to change the endpoint for a service.

Schema Tab Each service must be associated with schema that describe the data the service sends or receives. Click the Browse icon to associate the schema that describe the data the service actually sends or receives.

Subscription Service
When you choose a publication service, the configuration panel allows you to specify information in three tabs (only one of the Transport Tabs will be available): Configuration Tab Configuration Tab Transport Tab (TIBCO Rendezvous Transport) Transport Tab (JMS Transport) Schema Tab

Name Description

Name of the service. Optional description of the service.

TIBCO Designer Palette Reference

162

| Chapter 3

Adapter Resources Palette

Transport Type

Either Rendezvous for TIBCO Rendezvous or JMS for TIBCO Enterprise for JMS. The transport type you choose affects the contents of the Transport tab.

Transport Tab (TIBCO Rendezvous Transport)

Message Subject

Subject on which this subscriber will listen for messages. Do not change the subject unless you understand TIBCO Rendezvous. Choose Certified (the default), Reliable, Transactional, or Distributed Queue to create a service of that type. Choose Active Enterprise Message, Rendezvous Message, or XML Message depending on the format of the application to which the adapter publishes requires. When you create a service, TIBCO Designer creates a corresponding session resource in the Sessions folder of the Advanced folder and displays it in this field. If you have explicitly created a custom session of the same type, you can click the Browse icon to replace the autocreated session. Note: It is not usually appropriate to change the session for a service. Edit the service instead.

Quality of Service

Wire Format

Session Reference

Endpoint Reference

When you create a service, TIBCO Designer creates a corresponding endpoint resource in the Sessions folder of the Advanced folder and displays it in this field. If you have explicitly created a custom endpoint of the same type, you can click the Browse icon to replace the autocreated endpoint. Note: It is not usually appropriate to change the endpoint for a service. Edit the service instead.

TIBCO Designer Palette Reference

Services Reference 163

Transport Tab (JMS Transport)

Destination Wire Format

Topic or queue from which you receive messages. If a JMS transport is used, the wire format is always XML Message. Choose Queue or Topic. Choose Durable or Non-Durable. When you create a service, TIBCO Designer creates a corresponding session resource in the Sessions folder of the Advanced folder and displays it in this field. If you have explicitly created a custom session of the same type, you can click the Browse icon to replace the autocreated session. Note: It is not usually appropriate to change the session for a service. Edit the service instead.

Connection Factory Type Delivery Mode Session Reference

Endpoint Reference

When you create a service, TIBCO Designer creates a corresponding endpoint resource in the Sessions folder of the Advanced folder and displays it in this field. If you have explicitly created a custom endpoint of the same type, you can click the Browse icon to replace the autocreated endpoint. Note: It is not usually appropriate to change the endpoint for a service. Edit the service instead.

Schema Tab Each service must be associated with schema that describe the data the service sends or receives. Click the Browse icon to associate the schema that describe the data the service actually sends or receives.

Request-Response Invocation Service


An ActiveEnterprise request-response invocation service takes on the role of the client in an ActiveEnterprise operation. Provide the information for the following tabs to configure the service:

TIBCO Designer Palette Reference

164

| Chapter 3

Adapter Resources Palette

Configuration Tab

Configuration Tab Transport Tab (TIBCO Rendezvous Transport) Transport Tab (JMS Transport) Schema Tab

Name Description Transport Type

Name of the request-response invocation service. Optional description of the service. Either Rendezvous for TIBCO Rendezvous or JMS for TIBCO Enterprise for JMS. The transport type you choose affects the contents of the Transport tab.

Transport Tab (Rendezvous Transport)

Message Subject

Subject with which this publisher will send out messages. Do not change the subject unless you understand TIBCO Rendezvous. Choose certified or reliable, depending on the level of reliability you require. For ActiveEnterprise operations, only ActiveEnterprise Message format is allowed. When you create a service, TIBCO Designer creates a corresponding session resource in the Sessions folder of the Advanced folder and displays it in this field. If you have explicitly created a custom session of the same type, you can click the Browse icon to replace the autocreated session. Note: It is not usually appropriate to change the session for a service. Edit the service instead.

Quality of Service Wire Format

Session Reference

TIBCO Designer Palette Reference

Services Reference 165

Endpoint Reference

When you create a service, TIBCO Designer creates a corresponding endpoint resource in the Sessions folder of the Advanced folder and displays it in this field. If you have explicitly created a custom endpoint of the same type, you can click the Browse icon to replace the autocreated endpoint. Note: It is not usually appropriate to change the endpoint for a service. Edit the service instead.

Transport Tab (JMS Transport)

Destination Wire Format

Topic or queue to which you wish to send the message. If a JMS transport is used, the wire format is always XML Message. Choose Queue or Topic. Choose Persistent or Non-Persistent. When you create a service, TIBCO Designer creates a corresponding session resource in the Sessions folder of the Advanced folder and displays it in this field. If you have explicitly created a custom session of the same type, you can click the Browse icon to replace the autocreated session. Note: It is not usually appropriate to change the session for a service. Edit the service instead.

Connection Factory Type Delivery Mode Session Reference

Endpoint Reference

When you create a service, TIBCO Designer creates a corresponding endpoint resource in the Sessions folder of the Advanced folder and displays it in this field. If you have explicitly created a custom endpoint of the same type, you can click the Browse icon to replace the autocreated endpoint. Note: It is not usually appropriate to change the endpoint for a service. Edit the service instead.

TIBCO Designer Palette Reference

166

| Chapter 3

Adapter Resources Palette

Schema Tab Each service must be associated with schema that describe the data the service sends or receives. Click the Browse icon to associate the schema that describe the data the service actually sends or receives.

Request-Response Service
An ActiveEnterprise request-response service takes on the role of the server in an ActiveEnterprise operation. Provide the information for the following tabs to configure the service: Configuration Tab Configuration Tab Transport Tab (TIBCO Rendezvous Transport) Transport Tab (JMS Transport) Schema Tab

Name Description Transport Type

Name of the service. Optional description of the service. Either Rendezvous for TIBCO Rendezvous or JMS for TIBCO Enterprise for JMS. The transport type you choose affects the contents of the Transport tab.

Transport Tab (Rendezvous Transport)

Message Subject

Subject on which this subscriber will listen for messages. Do not change the subject unless you understand TIBCO Rendezvous. Choose Certified (the default), Reliable, or Distributed Queue to create a service of that type. For ActiveEnterprise operations, only ActiveEnterprise Message format is allowed.

Quality of Service Wire Format

TIBCO Designer Palette Reference

Services Reference 167

Session Reference

When you create a service, TIBCO Designer creates a corresponding session resource in the Sessions folder of the Advanced folder and displays it in this field. If you have explicitly created a custom session of the same type, you can click the Browse icon to replace the autocreated session. Note: It is not usually appropriate to change the session for a service. Edit the service instead.

Endpoint Reference

When you create a service, TIBCO Designer creates a corresponding endpoint resource in the Sessions folder of the Advanced folder and displays it in this field. If you have explicitly created a custom endpoint of the same type, you can click the Browse icon to replace the autocreated endpoint. Note: It is not usually appropriate to change the endpoint for a service. Edit the service instead.

Transport Tab (JMS Transport)

Destination Wire Format

Topic or queue from which the message is coming. If a JMS transport is used, the wire format is always XML Message. Choose Queue or Topic. Choose Durable or Non-Durable. When you create a service, TIBCO Designer creates a corresponding session resource in the Sessions folder of the Advanced folder and displays it in this field. If you have explicitly created a custom session of the same type, you can click the Browse icon to replace the autocreated session. Note: It is not usually appropriate to change the session for a service.

Connection Factory Type Delivery Mode Session Reference

TIBCO Designer Palette Reference

168

| Chapter 3

Adapter Resources Palette

Endpoint Reference

When you create a service, TIBCO Designer creates a corresponding endpoint resource in the Sessions folder of the Advanced folder and displays it in this field. If you have explicitly created a custom endpoint of the same type, you can click the Browse icon to replace the autocreated endpoint. Note: It is not usually appropriate to change the endpoint for a service.

Schema Tab Each service must be associated with schema that describe the data the service sends or receives. Click the Browse icon to associate the schema that describe the data the service actually sends or receives.

TIBCO Designer Palette Reference

SSL Configuration 169

SSL Configuration
The General palette provides a trusted store and identity resource for use in SSL (Secure Sockets Layer) configurations. TIBCO Rendezvous sessions and JMS sessions have an SSL configuration field which uses a dialog to perform SSL configuration. Before you can perform SSL configuration, you must make sure that the certificate and identity resources are available. This is discussed in: Adding Certificates to Your Project on page 169 Adding Identity Resources to Your Project on page 169

You can then configure TIBCO Rendezvous or JMS sessions to use SSL. See TIBCO Rendezvous SSL Configuration on page 170 JMS SSL Configuration on page 171

Adding Certificates to Your Project


TIBCO Designer projects store trusted certificates in PEM storage format. To add a certificate in PEM format to your project: 1. Select a folder into which you wish to import the certificate. 2. From the menu bar, choose Tools> Trusted Certificates > Import into PEM Format. 3. Provide the certificate URL when prompted. You can import certificates that are in PKCS7, and PEM formats (these formats do not store private keys). A new certificate copy is created when the import is done. If the certificate to be imported is already in PEM format, a new copy is created as is. You cannot import certificates from storage formats that require a password, such as PKCS12 and KeyStore.

Adding Identity Resources to Your Project


To add an Identity Resource to Your Project: 1. Drag an Identity resource (General palette) into the design panel.

TIBCO Designer Palette Reference

170

| Chapter 3

Adapter Resources Palette

2. Click on the Identity resource to open its configuration options panel. 3. Click Configure SSL to open the options dialog and configure your resource. See Identity on page 7 for more information. There are no restrictions on the file types supported by Identity resources.

TIBCO Rendezvous SSL Configuration


You can configure secure transports for TIBCO Rendezvous sessions. This leverages the new Secure Daemon feature (using SSL) available in TIBCO Rendezvous 7.0 and later. The following steps will guide you through an SSL configuration of an RV publication service as an example. The procedure is very similar for other services. To Configure a TIBCO Rendezvous Session for SSL: 1. Open a project and drag the Generic design panel. 2. Select the Adapter design panel.
Services Adapter Configuration

palette to the to the

folder and drag a Publication

Service

3. Select the Advanced folder in the left panel to display resources associated with the adapter. 4. Expand the Sessions folder. 5. Select the DefaultRVCMSession resource 6. Check the Use SSL? option, then click the Configure SSL button. This gives you access to the SSL Configuration option as is shown in Figure 58. Figure 58 TIBCO Rendezvous CM SSL Configuration

TIBCO Designer Palette Reference

SSL Configuration 171

7. Provide the following information as prompted: Daemon Certificate (TIBCO Rendezvous transports) File containing one or more certificates from trusted certificate authorities. This file is checked when connecting to a daemon to ensure that the connection is to a daemon that is trusted. This prevents connections to rogue TIBCO Rendezvous daemons that attempt to impersonate trusted daemons. You can retrieve a daemons certificate using the administration interface in TIBCO Rendezvous. See the TIBCO Rendezvous documentation for more information about obtaining certificates through the administration interface. Once retrieved, you can select a folder in your project and import this certificate into the folder using the Tools >Trusted Certificates >Import Into PEM Format menu item. Identity An Identity resource used to authenticate to the JMS server or TIBCO Rendezvous daemon. The Browse button allows you to select from a list of appropriately configured Identity resources. For TIBCO Rendezvous transports, only Identity resources whose Type field is set to Identity File or Username/Password are listed. See Adding Identity Resources to Your Project on page 169. You can also click the Copy From button to copy a certificate/identity combination already used by another session.

JMS SSL Configuration


You can configure secure transports for TIBCO Enterprise for JMS sessions. To configure a JMS Session for SSL: 1. Open a project and drag a Generic the design panel. 2. Select the Adapter the design panel.
Services Adapter Configuration

resource into
Service

folder and drag a Publication

into

TIBCO Designer Palette Reference

172

| Chapter 3

Adapter Resources Palette

3. Choose JMS from the Transport

Type

pop-up, then click Apply.

4. Select the Advanced folder in the left panel to display resources associated with the adapter. 5. Expand the Sessions folder. 6. Select the DefaultJmsTopicSession resource 7. In the configuration panel. Check the Use SSL? option, then click the Configure SSL button. Figure 59 TIBCO E4JMS SSL Configuration

a. In the Basic tab, provide the following information: Trusted Certificates Folder (JMS Transports) Location of the trusted certificates on this machine. The trusted certificates are a collection of certificates from servers to whom you will establish connections. If the server you wish to establish a connection presents a certificate that does not match one of your trusted certificates, the connection is refused. This prevents connections to unauthorized servers. See Adding Certificates to Your Project Identity This is an Identity resource used to authenticate to the JMS server or TIBCO Rendezvous daemon. The Browse button allows you to select from a list of appropriately configured Identity resources. For TIBCO Rendezvous transports, only Identity resources whose Type field is set to Identity File or Username/Password are listed. See Adding Identity Resources to Your Project.

TIBCO Designer Palette Reference

SSL Configuration 173

b. In the Advanced tab, provide the following information: Trace Debug Trace Verify Host Name If checked, SSL tracing is turned on. If checked, the SSL debug trace is turned on. This field specifies that the host name of the HTTP server should be checked against the host name listed in the servers digital certificate. This provides additional verification that the host name you believe you are connecting to is in fact the desired host. If the specified host name is not an exact match to the host name specified in the servers digital certificate, the connection is refused. Note: If you specify an equivalent hostname (for example, an IP address), but the name is not an exact match of the hostname in the hosts digital certificate, the connection is refused. Expected Host Name Strong Cipher Suites Only This name must match the name in the certificate. If checked, only strong Cypher Suites are allowed. See OpenSSL v3.0 Cipher Suite List on page 186 for a list of available suites.

8. Click OK when youre done. You can also click the Copy From button to copy a certificate/identity combination already used by another session.

TIBCO Designer Palette Reference

174

| Chapter 3

Adapter Resources Palette

Custom Log Sink Reference


The Log Sinks folder allows you to configure advanced logging behavior. For basic logging behavior, use the Logging tab of the adapter instance. See Logging Tab on page 155. This discusses the following log sink topics: Log Sinks Overview File Sink stdio Sink Network Sink Hawk Sink Adding Roles to Sinks

Log Sinks Overview


The TIBCO Adapter SDK allows programmers to define traces with different roles and sends them to sinks with the corresponding role. You can fine-tune where and when different types of information are sent. First you use the TIBCO Designer tool to define sinks and map each sink to one or more roles. Each time the program calls a tracing method, it has to explicitly or implicitly specify one or more roles. Each sink that has been mapped to that role receives that message if the role has been turned on. This way, the output information level can be tuned via modifications to the adapter configuration. To reduce the amount of information, roles can be turned off for the adapter configuration using the TIBCO Designer. Four types of sinks are predefined and configurable from the Log They are discussed in this chapter: File Sink on page 175 stdio Sink on page 176 Network Sink on page 176 Hawk Sink on page 177
Sinks

folder.

TIBCO Designer Palette Reference

Custom Log Sink Reference 175

You can also define a sink that uses a custom role. This is discussed in Adding Roles to Sinks on page 177.

File Sink
For a file sink, you specify the following information:
Name File Name

Sink name of this file sink. Global variable that includes the path and name of trace file. Extension .log is suggested. Maximum size of the file, in bytes. Default is 30000. Maximum is 2147483647 bytes. Number of rollover files. Default is 3. If checked, traces are added to the existing file at startup. If unchecked, the existing file is overwritten at startup if one of the same name exists. Only true and false are legal values. Optional description of this file sink.

File Limit (bytes) File Count Append Mode

Description

The default file sink that is part of each adapter has those roles predefined that were selected when you turned on Advanced Logging. If you create additional file sinks, you can add roles. See Adding Roles to Sinks on page 177 Understanding File Count and File Limit If you have specified a file sink in your configuration, your SDK-based adapter will go through these steps: 1. Creates a file with no extension using the specified filename. 2. Writes to that file until it reaches the size specified in File
Limit.

3. When File Limit has been reached (that is, as soon as the file is as big as or bigger than the limit) the adapter renames the current file to file.1 and creates a new file with no extension. 4. Note that the log file can be slightly larger than the limit because the new file is only created after the limit has been reached.

TIBCO Designer Palette Reference

176

| Chapter 3

Adapter Resources Palette

5. The adapter repeats this process until it reaches the number of files specified in File Count. The adapter overwrites the file with the highest number, that is, the oldest file, when the number of files reaches File Count and that last file reaches File Limit. To avoid that, set either File Count or File Limit to a sufficiently large value.

stdio Sink
For a
Name Output Stream stdio Sink,

you specify the following information. Name of this sink. Select stdio or stderr. If you select stderr, it remains selected even when you turn off Advanced Logging. Optional description of this sink.

Description

Network Sink
To add a network sink: 1. Select the Log
Sinks

panel. into the design panel.

2. Drag a Generic

Log Sink

3. In the configuration panel, choose Network from the pop-up menu. 4. Specify the network sinks attributes.
Name Session

Sink name of this network sink. Click the Browse icon and select one of the sessions you defined. Warning: You must use a TIBCO Rendezvous session, network sinks for TIBCO Enterprise for JMS are not currently supported.

Subject Description

Subject of TIBCO Rendezvous messages to be sent. Optional description of this sink.

5. Add roles. See Adding Roles to Sinks on page 177.


TIBCO Designer Palette Reference

Custom Log Sink Reference 177

Hawk Sink
A Hawk
sink

sends messages to TIBCO Hawk. To add a Hawk sink:


Sinks

1. Select the Log

panel. into the design panel.

2. Drag a Generic

Log Sink

3. In the configuration panel, choose Hawk from the pop-up menu. 4. Specify the Hawk sinks attributes.
Name MicroAgent Name Description

Name of this Hawk sink. Name of the microagent for traces from this Hawk sink. Optional description of the sink.

5. Add roles. See Adding Roles to Sinks on page 177.

Adding Roles to Sinks


For sinks that were defined for the adapter before Advanced Logging was turned on, one Role resource is included for each role that was turned on. If you wish to add additional roles, or if you wish to add roles to newly created sinks, you have the following options: To use an existing role, control-drag it into the sink. To create a new role, follow these steps: 1. Select the sink and drag a Generic Role into the design panel. 2. If you wish to add a custom role, type the name of the role into the available field and press Enter, then click Apply. 3. If you wish to add one of the predefined roles, choose the role from the pop-up, then click Apply.

TIBCO Designer Palette Reference

178

| Chapter 3

Adapter Resources Palette

Sessions Reference
When you add a service to an adapter, TIBCO Designer automatically creates the corresponding session and endpoint, depending on the protocol and delivery mode being used. Session and endpoint are placed in the Advanced folder of the Generic Adapter Configuration. This section is a reference to the sessions included with TIBCO Designer. Creating sessions explicitly is not recommended. TIBCO Designer creates a session and an endpoint for you when you create a service. Under certain situations, expert users may need to create sessions explicitly. The following sessions are discussed: RV Session RVA Session RVCM Session RVCMQ Session RVTX Session JMS Session

Sessions encapsulate stateful connections to a messaging source (such as a TIBCO Rendezvous daemon), database, or remote server. To Create a Session 1. Select the Adapter
Services

folder in the project panel.


Service)

2. Drag a service (e.g. a Publication

into the design panel.

3. Specify the transport type and fill in the information in the Transport tab. 4. TIBCO Designer creates the service and creates a corresponding session and endpoint in the Advanced folder. For TIBCO Rendezvous configuration, you must be familiar with TIBCO Rendezvous administration, as discussed in the TIBCO Rendezvous documentation set.

TIBCO Designer Palette Reference

Sessions Reference 179

RV Session
For TIBCO Rendezvous sessions, the configuration panel includes the following information. To edit the global variables used in this panel, click the Global Variables tab in the project panel in the upper left quadrant. For more information, see the TIBCO Designer Users Guide.
Name Description Service

Name of the TIBCO Rendezvous session. Optional description of the session. Global variable that specifies the service for this session. By default, the variable is defined to be the default TIBCO Rendezvous service (7500). Global variable that specifies the network for this session. By default, the variable is an empty string, which is interpreted as the primary network. Using this attribute only makes sense on computers with more than one network interface. Global variable that specifies the TIBCO Rendezvous daemon for this session. Default is the empty string. Check this option if you wish to use SSL. See , SSL Configuration.

Network

Daemon

SSL

RVA Session
For RVA sessions, the configuration panel includes the following information. To edit the global variables in this panel, click the Global Variables tab in the project panel in the upper left quadrant. For more information, see the TIBCO Designer Users Guide.
Name Description Host

Name of the TIBCO Rendezvous session. Optional description of the session. Global variable that specifies the name of the host. If no host is specified or the empty string is provided, the local host machine is the default.

TIBCO Designer Palette Reference

180

| Chapter 3

Adapter Resources Palette

Port

Global variable that specifies the port number for this session. This attribute is ignored if the host is not specified. When checked, first try to connect to rva through the specified port; if that attempt fails, then try tunneling through the HTTP port. When unchecked (the default), do not try HTTP tunneling.

Enable HTTP

RVCM Session
For RVCM sessions, the configuration panel includes the following information. To edit the global variables, click the Global Variables tab in the project panel in the upper left quadrant. For more information, see the TIBCO Designer Users Guide.
Name Description Service

Name of the rvCmSession. Optional description of the session. Global variable that specifies the service for this session. By default, the variable is defined to be the default TIBCO Rendezvous service (7500). Global variable that specifies the network for this session. By default, the variable defaults to the empty string, which is interpreted as the primary network. Using this attribute only makes sense on computers with more than one network interface. Global variable that specifies the TIBCO Rendezvous daemon for this session. Default is the empty string. Check this option if you wish to use SSL. See , SSL Configuration. Used to identify the delivery tracking session. It must be unique across the entire network. See A Note on Global Variables, page 149 for information about this field. Relay agent for this session.

Network

Daemon

SSL

CM Name

Relay Agent

TIBCO Designer Palette Reference

Sessions Reference 181

LedgerFile

Global variable that points to a ledger file. If the variables value is a valid filename, the session uses a file-based ledger. See A Note on Global Variables, page 149 for information about this field. If True, then operations that update the ledger file do not return until the changes are written to the storage medium. If False, the operating system writes changes to the storage medium asynchronously.

Synchronous Ledger Writes

Default Time Limit (ms) Require Old Messages

Default timeout value for all associated publishers, in milliseconds. Defaults to 0 (infinite). Indicates whether a persistent correspondent requires delivery of messages sent to a previous session with the same name for which delivery was not confirmed. Its value affects the behavior of other delivery-tracking senders. If checked, and if the name attribute is non-NULL, then this session requires certified senders to retain unacknowledged messages sent to this persistent correspondent. If unchecked, messages are not retained.

RVCMQ Session
For RVCMQ sessions, the configuration panel includes the following information. To edit the global variables in this panel, click the Global Variables tab in the project panel in the upper left quadrant. For more information, see the TIBCO Designer Users Guide.
Name Description Service

Name of the RVCMQ session. Optional description of the session. Global variable that specifies the service for this session. By default, the variable is defined to be the default TIBCO Rendezvous service (7500).
TIBCO Designer Palette Reference

182

| Chapter 3

Adapter Resources Palette

Network

Global variable that specifies the network for this session. By default, the variable defaults to the empty string, which is interpreted as the primary network. Using this attribute only makes sense on computers with more than one network interface. Global variable that specifies the TIBCO Rendezvous daemon for this session. Default is the empty string. Check this option if you wish to use SSL. See , SSL Configuration. Sequence of global variables that specifies the name of the queue. If the complete time is non-zero, the scheduler waits for a listener member to complete an assigned task. If the complete time elapses before the scheduler receives completion from the listener member, the scheduler reassigns the task to another listener member. Default is 0. See TIBCO Rendezvous Concepts for more information.

Daemon

SSL

CMQ Name

Complete Time (ms)

Scheduler Heartbeat (ms)

The scheduler session sends heartbeat messages at this interval (in milliseconds). All member sessions in the queue must specify the same value for this parameter. Acceptable values are the unsigned 32-bit integers (except zero). Default is 1000.

Scheduler Weight

Represents the ability of this session to fulfill the role of scheduler, relative to other members of the same queue. The queue members use relative scheduler weight values to elect one member as the scheduler. Members with higher scheduler weight take precedence. Acceptable values range from 1 to 65545. Default is 1.

Scheduler Activation (ms)

When the heartbeat signal from the scheduler has been silent for this interval (in milliseconds), the queue member with the greatest scheduler weight takes its place as the new scheduler. All member sessions in the queue must specify the same value for this parameter. Acceptable values are unsigned 32-bit integers (except zero). Defaults is 3000.

TIBCO Designer Palette Reference

Sessions Reference 183

Listener Weight

Relative listener weights assist the scheduler in assigning tasks. When the scheduler receives a task, it assigns the task to the available listener with the greatest listener weight. Default is 1. Listener tasks for this session. Default is 1.

Listener Tasks

RVTX Session
For TIBCO Rendezvous TX sessions, the configuration panel includes the following information. To edit the global variables in this panel, click the Global Variables tab in the project panel in the upper left quadrant. For more information, see the TIBCO Designer Users Guide.
Name Description Service

Name of TIBCO Rendezvous TX session. Optional description of the session. Global variable that specifies the service for this session. By default, the variable is defined to be the default TIBCO Rendezvous service (7500). Global variable that specifies the network for this session. By default, the variable defaults to the empty string, which is interpreted as the primary network. Using this attribute only makes sense on computers with more than one network interface. Global variable that specifies the TIBCO Rendezvous daemon for this session. Default is the empty string. Check this option if you wish to use SSL. See , SSL Configuration. Sequence of global variables used to identify the transaction session. This name must be unique across the entire network. Default timeout value for all associated publishers, in milliseconds. Defaults to 0 (infinite).
TIBCO Designer Palette Reference

Network

Daemon

SSL

Transactional Name

Default Time Limit

184

| Chapter 3

Adapter Resources Palette

Operation Timeout

Maximum amount of time that a transaction will wait for the RVTX daemon to reply.

JMS Session
For JMS sessions, the configuration panel includes the following information. To edit the global variables in this panel, click the Global Variables tab in the project panel in the upper left quadrant. For more information, see the TIBCO Designer Users Guide.
Name Description JNDI Lookups

Name of the JMS session. Optional description of the session. If checked, a JMDI Server is used. In that case, a number of fields in this tab change correspondingly. If this option is checked, the adapter connects to the JMS server using SSL. For this case, an SSL tab becomes available that lets you specify SSL settings. See Configure SSL Dialog below. Specifies the type of connection to the JMS server or the JNDI server. Choose topic or queue. Note: if you already specified the connection factory type for a service, you cannot change it for the session.

Use SSL

(JNDI) Connection Factory Type

(JNDI) Connection Factory Name (JNDI) Connection Username (JNDI) Connection Password (JNDI) Provider URL

Name of the connection factory. Username for logging into the JMS server or JNDI server. Password for logging into the JMS server or JNDI server. URL of the server.

TIBCO Designer Palette Reference

Sessions Reference 185

Configure SSL Dialog If you check Use SSL in the basic configuration tab for a JMS session, a Configure SSL button becomes available. When you click the button, an SSL configuration dialog prompts you for the following information: Basic Tab For the Basic tab, either click Copy From to use the SSL information used by another session, or fill in the following fields. Trusted Certificates Folder Identity Click the browse icon and select the folder in which the trusted certificates to be used by this transport are stored. See SSL Configuration on page 169 Click the browse icon and select the identity to be used by this transport. See SSL Configuration on page 169

Advanced TAb If you wish, you can also provide the following advanced information:
i

Trace Debug Trace Verify Host Name

If checked, SSL tracing is turned on. If checked, the SSL debug trace is turned on. This field specifies that the host name of the HTTP server should be checked against the host name listed in the servers digital certificate. This provides additional verification that the host name you believe you are connecting to is in fact the desired host. If the specified host name is not an exact match to the host name specified in the servers digital certificate, the connection is refused. Note: If you specify an equivalent hostname (for example, an IP address), but the name is not an exact match of the hostname in the hosts digital certificate, the connection is refused.

Expected Host Name

This name must match the name in the certificate.

TIBCO Designer Palette Reference

186

| Chapter 3

Adapter Resources Palette

Strong Cipher Suites Only

If checked, only strong Cypher Suites are allowed. See OpenSSL v3.0 Cipher Suite List on page 186 for a list of available suites.

OpenSSL v3.0 Cipher Suite List The following list is available on http://www.openssl.org/docs/apps/ciphers.html#CIPHER_SUITE_NAMES Table 13 Cipher suite list Suite Name
SSL_RSA_WITH_NULL_MD5 SSL_RSA_WITH_NULL_SHA SSL_RSA_EXPORT_WITH_RC4_40_MD5 SSL_RSA_WITH_RC4_128_MD5 SSL_RSA_WITH_RC4_128_SHA SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 SSL_RSA_WITH_IDEA_CBC_SHA SSL_RSA_EXPORT_WITH_DES40_CBC_SHA SSL_RSA_WITH_DES_CBC_SHA SSL_RSA_WITH_3DES_EDE_CBC_SHA SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA SSL_DHE_DSS_WITH_DES_CBC_SHA SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA SSL_DHE_RSA_WITH_DES_CBC_SHA SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA SSL_DH_anon_EXPORT_WITH_RC4_40_MD5

OpenSSL Name
NULL-MD5 NULL-SHA EXP-RC4-MD5 RC4-MD5 RC4-SHA EXP-RC2-CBC-MD5 IDEA-CBC-SHA EXP-DES-CBC-SHA DES-CBC-SHA DES-CBC3-SHA EXP-EDH-DSS-DES-CBC-SHA EDH-DSS-CBC-SHA EDH-DSS-DES-CBC3-SHA EXP-EDH-RSA-DES-CBC-SHA EDH-RSA-DES-CBC-SHA EDH-RSA-DES-CBC3-SHA EXP-ADH-RC4-MD5

E4JMS Client C C C & Java C & Java C & Java C & Java C C & Java C & Java C & Java C & Java C C & Java C & Java C & Java C & Java C

TIBCO Designer Palette Reference

Sessions Reference 187

Table 13 Cipher suite list Suite Name


SSL_DH_anon_WITH_RC4_128_MD5 SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA SSL_DH_anon_WITH_DES_CBC_SHA SSL_DH_anon_WITH_3DES_EDE_CBC_SHA

OpenSSL Name
ADH-RC4-MD5 EXP-ADH-DES-CBC-SHA ADH-DES-CBC-SHA ADH-DES-CBC3-SHA

E4JMS Client C C C C

TIBCO Designer Palette Reference

188

| Chapter 3

Adapter Resources Palette

Transaction Control and Advisory Reference


When you select the Transaction Control folder, you can choose a transaction control type resource, which can then be used in conjunction with a control pool resource. The folder is found under the GenericAdapterConfiguration Advanced folder. When you select the Advisories folder, you can specify advisory resources and associate each advisory with a session. This chapter provides reference information for the Transaction Controls and the Advisories folders.

Transaction Controls
Adapters use transaction control pools in conjunction with RVTX. To specify a transaction control pool, follow these steps: 1. Select the Transaction
Controls

folder.
Control Pool

2. From the palette panel, choose a Transaction drag it into the design panel.

resource and

3. In the configuration panel, select the appropriate type from the pop-up, then click Apply. 4. Specify configuration information as appropriate. For more detail, see the appropriate control pool. JDBC Control Pool ODBC Control Pool Null Control Pool Simple Control Pool XA Control Pool MTS Control Pool JDBC Control Pool For a JDBC Control bold are required):
Name Pool,

you can specify the following information (fields in

Name of this control pool.

TIBCO Designer Palette Reference

Transaction Control and Advisory Reference 189

User ID Password Driver Class Name JDBC URL

ID of the user who logs into the database. Password of the user who logs into the database. Name of the class that represents the JDBC driver Connection URL that tells JDBC how to create a driver and connect with it to the database. Name of the database table where transaction commit status information is stored. Used internally by TIBCO Rendezvous TX. Upper bound for the number of transaction controls that can be created. Optional description of this transaction control pool.

Transaction ID Table

Maximum Controls

Description

ODBC Control Pool For an ODBC


Name Maximum Controls Control Pool,

you can specify the following information

Name of this ODBC control pool. Upper bound for the number of transaction controls that can be created. Name of the database table where transaction commit status information is stored. Used internally by TIBCO Rendezvous RVTX. Optional description of this transaction control pool.

Transaction ID Table

Description

Null Control Pool For a Null


Name Description control pool,

you can specify the following information

Name of this Null control pool. Optional description of this transaction control pool.

TIBCO Designer Palette Reference

190

| Chapter 3

Adapter Resources Palette

Simple Control Pool For a simple control pool, you can specify the following information
Name Maximum Controls

Name of this simple control pool. Upper bound for the number of transaction controls that can be created. Optional description of this transaction control pool.

Description

XA Control Pool For an XA


Name Description control pool,

you can specify the following information


control pool.

Name of this XA

Optional description of this transaction control pool.

MTS Control Pool For an MTS control pool, you can specify the following information
Name Description

Name of this MTS

control pool.

Optional description of this transaction control pool.

Advisories
You can create one or more advisories and associate it with a session in your application. Follow these steps: 1. Select the Advisories folder in the project tree. 2. From the palette panel, drag an Advisory resource into the design panel. 3. In the configuration panel, specify a name and a subject. 4. To associate a session with the advisory, select the advisory in the project tree, then drag a session into the design panel.

TIBCO Designer Palette Reference

Folder Reference 191

Folder Reference
This section is a reference to the folders used by TIBCO Designer. The section is mostly meant for online help access. It discusses folders used by the Generic Adapter Configuration. Adapter Services Folder Advanced Folder Log Sinks Folder Sessions Folder Timers Folder Transaction Controls Folder Advisories Folder Metadata URLs Folder

Overview
By default, TIBCO Designer provides a number of folders as a part of every adapter configuration. These folders provide easy, organized access to every configurable adapter feature. Figure 60 shows the layout of the default folders.

TIBCO Designer Palette Reference

192

| Chapter 3

Adapter Resources Palette

Figure 60 TIBCO Designer Generic Adapter Configuration Default Folders

Adapter Services Folder


The Adapter Services folder is part of every adapter configuration. It is the starting point for configuration. You select services and drag them into the design panel, then configure the services in the configuration panel. See the online help for the individual services for additional information. Each time you configure a service, TIBCO Designer creates the corresponding session and endpoint in the Advanced folder.

Advanced Folder
The Advanced folder is part of every adapter configuration. It contains resources that are created by TIBCO Designer while the adapter developer configures the adapter. The folder can include sessions, endpoints, advanced logging and so on. The configuration of these resources can be changed for situations that require custom settings. In most situations, adapter developers configure the resources in the Adapter folder. They may then access the resources in this folder for certain custom configuration.
Services

TIBCO Designer Palette Reference

Folder Reference 193

Log Sinks Folder


The Log
Sinks

folder stores log sinks for an adapter.

You have two options for specifying logging for your adapter: For basic logging, use the Logging tab for the adapter instance. See Logging Tab, page 155 for information. If you are using this Generic Adapter Configuration to configure an already existing adapter that was loaded into it, your adapter may include additional logging information. For advanced logging, click Use Advanced Logging, in the adapters Advanced Logging tab, then specify log sinks in the Log Sinks folder. See , Custom Log Sink Reference.

Sessions Folder
The Sessions folder stores sessions and endpoints associated with an adapters services. When you specify services for an adapter, TIBCO Designer creates the corresponding sessions and endpoints. You can then edit the sessions and endpoints in this Sessions folder if customization not available for the service is required. See , Sessions Reference and , Custom Log Sink Reference.

Timers Folder
The Timers folder stores timers for an adapter. If you configure an adapter for which a palette is predefined, and timers are available for this adapter, they are included in this folder. If you configure a custom adapter, you create timers explicitly. See Timer on page 203.

Transaction Controls Folder


The Transaction
Controls

folder stores transaction controls for an adapter.

If you configure an adapter for which a palette is predefined, and transaction controls are available for this adapter, they are usually one of the services you work with. If you configure a custom adapter, you create timers explicitly. See Transaction Controls on page 188.

TIBCO Designer Palette Reference

194

| Chapter 3

Adapter Resources Palette

Advisories Folder
The Advisories folder stores advisories for an adapter. If you configure an adapter for which a palette is predefined, and advisories are available for this adapter, they are usually one of the services you work with. If you configure a custom adapter, you create timers explicitly. See Advisories on page 190.

Metadata URLs Folder


By default, an SDK-based adapter loads all metadata upon startup. This is the recommended behavior. If your adapter needs an extraordinary amount of time to load all metadata, you may specify a metadata URL. The adapter will then load only those metadata to which the URL points You specify the locations where the adapter will look for additional metadata (the metadata search URL) directly in the Startup tab for the adapter configuration. Load URL Resource The Load URL resource allows you to specify a directory that the adapter will search for schema classes upon startup. If you define custom schema for your adapter, you should create a folder inside the appropriate Schemas folder for those custom schema, then specify the path in this Load URL. To do so, click Browse to choose the location. See the Chapter 4, Adapter Schema Palette, for more information.

TIBCO Designer Palette Reference

Endpoint Reference 195

Endpoint Reference
Endpoints correspond closely to the publisher and subscriber, request-response invocation server, or request-response server objects used by an Adapter SDK program. This section provides reference information for all endpoints. In most cases, you do not create endpoints explicitly. Instead, TIBCO Designer creates a session and an endpoint for you when you create a service. This section also discusses timers, which can potentially be used to trigger actions just like endpoints. The following topics are covered: Endpoints Overview Publisher Endpoints Subscriber Endpoints Client / Request-Response Invocation Service Endpoints Server / Request-Response Service Endpoints Timer Adding Schema to Endpoints

Endpoints Overview
When you create a service by dragging a resource from the Adapter Services folder into the design panel, TIBCO Designer creates the corresponding session and endpoint in the Advanced folder of the Generic Adapter Configuration you are using. If you cannot fully configure the endpoint from the Adapter Services folder, you can access it in the Advanced folder and make changes there. This chapter lists the available fields for each endpoint.

Publisher Endpoints
A publisher sends data to TIBCO Rendezvous or TIBCO Enterprise for JMS. A publisher is associated with a schema class that specifies the data to be published. Also associated with a publisher is a session. Sessions of several types are

TIBCO Designer Palette Reference

196

| Chapter 3

Adapter Resources Palette

supported. The session for a publisher determines the wire format it can use. For JMS sessions, you can also change the delivery mode. Creating sessions explicitly and adding publishers to the session is not recommended. Instead, you should create the service you need, and let TIBCO Designer create the session and endpoint. If there are changes you cannot make directly to the service, you can then make them to the corresponding session or endpoint. TIBCO Rendezvous Publishers TIBCO Designer supports RV, RVA, RVCM, and RVTX sessions. For each type of session, you can create a corresponding publisher. For TIBCO Rendezvous publishers, following wire formats are supported at present: Rendezvous Message is a TIBCO Rendezvous message which may have any contents, not necessarily following the TIBCO ActiveEnterprise wire format. ActiveEnterprise Message is the TIBCO ActiveEnterprise standard wire format. It can include metadata information. XML Message uses aeXml message format.

TIBCO Enterprise for JMS Publisher TIBCO Designer supports JMS sessions and will create the appropriate session for you when you create a service. The Connection Factory Type (Topic or Queue) and the Delivery Mode (Persistent or non-Persistent) you assign to the service determine the session and endpoint that is created. TIBCO Rendezvous Publisher For an RV Publisher, you supply the following information:
Name Description Endpoint Type

Name of this publisher. Optional description of the publisher. Choose from the pop-up, which displays the allowed types for the current session.

TIBCO Designer Palette Reference

Endpoint Reference 197

Wire Format

or Default is ActiveEnterprise Message. If you choose ActiveEnterprise Message, control information is included with the message. If you choose Rendezvous Message, no control information is included with the message but control information may be included with the data.
XML Message.

Rendezvous Message, ActiveEnterprise Message,

Subject Reply Subject

Subject with which this publisher will send out messages. Reply subject for this publisher.

RVCM Publisher For an RVCM publisher, you supply the following information:
Name Description Endpoint Type

Name of this publisher. Optional description. Choose from the pop-up, which displays the allowed types for the current session. or Default is ActiveEnterprise Message. If you choose ActiveEnterprise Message, control information is included with the message. If you choose Rendezvous Message, no control information is included with the message but control information may be included with the data.
XML Message. Rendezvous Message, ActiveEnterprise Message,

Wire Format

Subject Reply Subject Message Timeout (ms)

Subject with which this publisher will send out messages. Reply subject for this publisher. Time after which the message is discarded from the ledger file. Default is 0 seconds, meaning that the timeout is infinite. Comma-separated list of listeners preregistered for this publisher. Refer to each listener using the CmName of the session.

Preregistered Listeners

TIBCO Designer Palette Reference

198

| Chapter 3

Adapter Resources Palette

RVTX Publisher For a TIBCO Rendezvous TX publisher, you can supply the following information:
Name Description Endpoint Type

Name of this publisher. Optional description. Choose from the pop-up, which displays the allowed types for the current session. or Default is ActiveEnterprise Message. If you choose ActiveEnterprise Message, control information is included with the message. If you choose Rendezvous Message, no control information is included with the message but control information may be included with the data.
XML Message. Rendezvous Message, ActiveEnterprise Message,

Wire Format

Subject Reply Subject Message Timeout

Subject with which this publisher will send out messages. Reply subject for this publisher. Message timeout for this publisher.

JMS Topic Publisher For a JMS publisher associated with a JMS session using a Topic Connection Factory, you can supply the following information:
Name Description Endpoint Type

Name of this publisher. Optional description. For JMS publishers, there are no endpoint type choices. Either persistent or non-persistent. Destination used by this publisher. Reply destination for this publisher. Message timeout for this publisher.

Delivery Mode Destination Reply Destination Message Timeout

TIBCO Designer Palette Reference

Endpoint Reference 199

JMS Queue Publisher For a JMS publisher associated with a JMS session using a Queue Connection Factory, you can supply the following information:
Name Description Endpoint Type

Name of this publisher. Optional description. For JMS publishers, there are no endpoint type choices. Always non-persistent. The mode persistent cannot be used with JMS Queue publishers. Destination used by this publisher. Reply destination for this publisher. Message timeout for this publisher.

Delivery Mode

Destination Reply Destination Message Timeout

Subscriber Endpoints
Subscribers specify the data consumers in the applications. Creating sessions explicitly and adding subscribers to the session is not recommended. Instead, you should create the service you need, and let TIBCO Designer create the session and endpoint. If there are changes you cannot make directly to the service, you can then make them to the corresponding session or endpoint. When you create a subscriber, the choices you get depend on the session in which the subscriber is created. RV Subscriber, RVCM Subscriber, RVCMQ Subscriber, RVTX Subscriber You supply the following information for each type of subscriber using TIBCO Rendezvous as the transport:
Name Description

Name of this subscriber. Optional description of the subscriber.

TIBCO Designer Palette Reference

200

| Chapter 3

Adapter Resources Palette

Endpoint Type

Choose from the pop-up, which displays the allowed types for the current session. or Default is ActiveEnterprise Message. If you choose ActiveEnterprise Message, control information is included with the message. If you choose Rendezvous Message, no control information is included with the message but control information may be included with the data.
XML Message. Rendezvous Message, ActiveEnterprise Message,

Wire Format

Subject Listen Timeout (ms)

Subject with which this publisher will send out messages. If no message is received after this amount of time, the adapter performs any actions specified in the program for that case. Default is 0

JMS Subscribers You supply the following information for subscribers using JMS as a transport:
Name Description Endpoint Type Delivery Mode

Name of this subscriber. Optional description of the subscriber. For JMS Subscribers, there is no choice to make. Either durable or non-durable. Note: For subscribers using a queue session, durable is not an option. Destination for this JMS subscriber. If this box is checked, the SDK automatically confirms events for this subscriber.

Destination Auto-confirm

Client / Request-Response Invocation Service Endpoints


Request-response invocation (client) services are used by ActiveEnterprise operations that communicate with a remote or local server. You can define request-response invocation services for each type of session.

TIBCO Designer Palette Reference

Endpoint Reference 201

See "The SDK Operation Model" in TIBCO Adapter SDK Programmers Guide for more information. Creating sessions explicitly and adding clients to the session is not recommended. Instead, you should create the service you need, and let TIBCO Designer create the session and endpoint. If there are changes you cannot make directly to the service, you can then make them to the corresponding session or endpoint. TIBCO Rendezvous Request-Response Invocation Service You can create a TIBCO Rendezvous Request-Response for RV or RVCM. Each Rendezvous Request-Response allows you to specify the following information:
Name Description Endpoint Type Invocation Service Invocation Service

Name of this client. Optional description of this client. Choice of endpoint types for the session to which the client currently belongs. Subject with which this client communicates with the server. If no reply is received by the client after this timeout, the application gets an error notification.

Subject

Invocation Timeout (ms)

JMS Request-Response Invocation Service Each JMS Request-Response Invocation Service allows you to specify the following information:
Name Description Delivery Mode Endpoint Type

Name of this client. Optional description of this client. Non-Persistent or Persistent. Choice of endpoint types for the session to which the client currently belongs. Destination used to communicate with the server. If no reply is received by the client after this timeout, the application gets an error notification.

Destination Invocation Timeout (ms)

TIBCO Designer Palette Reference

202

| Chapter 3

Adapter Resources Palette

Server / Request-Response Service Endpoints


Request-Response services are used by ActiveEnterprise operations that communicate with a remote or local client (request-response server). You can define request-response services for each type of session. Creating sessions explicitly and adding servers to the session is not recommended. Instead, you should create the service you need, and let TIBCO Designer create the session and endpoint. If there are changes you cannot make directly to the service, you can then make them to the corresponding session or endpoint. See "The SDK Operation Model" in TIBCO Adapter SDK Concepts for more information. TIBCO Rendezvous Request-Response Service You can create a TIBCO Rendezvous Request-Response or RVCMQ.
Service for RV, RVCM,

Each server allows you to specify the following information:


Name Description Endpoint Type

Name of this server. Optional description of this server. Choice of endpoint types for the session to which the client currently belongs. Subject with which this server communicates with clients.

Subject

JMS Request-Response Service Each server allows you to specify the following information:
Name Description Endpoint Type

Name of this server. Optional description of this server. Choice of endpoint types for the session to which the client currently belongs. Either durable or non-durable. Destination used to communicate with the client.

Delivery Mode Destination

TIBCO Designer Palette Reference

Endpoint Reference 203

Timer
TIBCO Designer allows you to add a timer to your adapter configuration. The timer can then be used by the adapter program. To add a timer, follow these steps: 1. Open the Timers folder 2. Drag a Timer from the palette panel into the design panel. 3. Specify configuration information for the timer.
Name Interval (milliseconds) Repeating

Name of this timer. Trigger interval in milliseconds (for repeating timers) If checked, this is a repeating timer. If not checked, this is a once-only timer. Click the Browse icon to associate a session with this timer.

Session Reference

Adding Schema to Endpoints


As a rule, it is best to add schema to endpoints using the Schemas tab of the service. If, however, you must create the session and endpoint directly, follow these steps to add schema: 1. In the project panel, select the endpoint while the schema object is visible. 2. From the project panel, drag the schema object into the design panel with the endpoint still selected. TIBCO Designer creates a reference to the schema object and includes it below the endpoint in the hierarchy. An alternate approach to adding the schema is to use the Link Resource menu command, as follows: 1. From the menu bar, choose Tools > Resource Tools > Link Resource. 2. Select the schema object as the Field Resource. 3. Select the endpoint as the Field Target. 4. Click OK.

TIBCO Designer Palette Reference

204

| Chapter 3

Adapter Resources Palette

TIBCO Designer Palette Reference

| 205
Chapter 4

Adapter Schema Palette

This chapter discusses the Adapter Schema palette. You can use this palette for configuring custom schema for custom adapters that were implemented using the TIBCO Adapter SDK.

Topics
Understanding Schema Management, page 206 TIBCO Designer Schema Reference, page 212 Schema Resource Reference, page 227 TIBCO Designer Adapter Schema Folders, page 231

TIBCO Designer Palette Reference

206

| Chapter 4

Adapter Schema Palette

Understanding Schema Management


TIBCO Designer is used for configuration of adapters and TIBCO BusinessWorks integration projects. TIBCO Designer is used by integration specialists who may be business analysts or programmers that know about the source or target system to which the adapter connects. Business analysts use TIBCO Designer to configure adapters to get data into and out of another system. The source or destination of the data could be, for example, SAP R/3, PeopleSoft, Siebel or any of the many systems for which TIBCO provides adapters. How schema management differs depending on the adapter: Managing Schema for Standard Adapters With Custom Palettes Managing Schema for Adapters that Are Loaded Into GAC Managing Schema for Custom Adapters Created with the SDK

Managing Schema for Standard Adapters With Custom Palettes


Many adapters are shipped with custom palettes for the adapter. In that case, the configuration process is as follows: 1. You install the adapter on the platform of your choice. 2. During installation, a TIBCO Designer palette for the adapter is placed into the appropriate folder. This palette becomes available the next time you start TIBCO Designer. Documentation for the adapter becomes available via the Help menu. 3. You configure the adapter using the adapter custom palette. During that process, you define schema data, but you do not use the schema resources discussed in this chapter. For an overview of the process, see Configuring Standard Adapter Endpoints and Schema on page 209.

Managing Schema for Adapters that Are Loaded Into GAC


If no custom palette is available for an adapter, you can still load that adapter into TIBCO Designer. When the adapter is loaded, a Generic Adapter Configuration (GAC) instance is created and endpoints and sessions are defined.

TIBCO Designer Palette Reference

Understanding Schema Management 207

You can then use the Generic Adapter Configuration with the associated Adapter Resources palette to configure the adapter. You configure the schema for the adapter using the AESchemas folder and associated Adapter Schemas palette, as discussed in this chapter.

Managing Schema for Custom Adapters Created with the SDK


If you are writing a custom adapter using the TIBCO Adapter SDK, you must define the schema that describe the data the adapter publishes and subscribes to, as discussed in this chapter. This document explains schema management but assumes you understand adapter configuration concepts. For example, you should know what an endpoint or a session is.

How TIBCO Applications Use Schema Data


TIBCO applications use schema data to describe or constrain data or operations used by the application. For example, you can specify that an adapter only subscribes to data of a prespecified type. The data could be restricted to a predefined type, for example an integer or string, or a custom type represented by a class. You could also restrict the operations used by client-server interactions. For operations, you can specify the number of required parameters, their type, the return type, and the exceptions. Schema data effectively isolate the data description from the application data itself. TIBCO Designer is used to define schema data for a project. The schema can then be used by all resources in the project. For example, assume you want to restrict the data a publisher sends. You can define a schema resource, then point to that resource from the publisher. The program will then use the schema to check whether outgoing data meet the requirements. For client/server operations, you can also define schema that describe operations, their parameters, return types, and exceptions. Schema Basics The TIBCO schema resources form the basis for model-driven computing with your adapter. Applications use schema to describe the data a particular subscriber or publisher receives from or publishes to TIBCO Messaging. That means that the schema data describe the data inside the TIBCO messages the adapter deals with. Configuring Standard Adapters When you configure a standard adapter for which a TIBCO Designer palette exists, you do not define schema data. Instead, you configure the publishers,
TIBCO Designer Palette Reference

208

| Chapter 4

Adapter Schema Palette

subscribers, clients, or servers your adapter uses. During that configuration, TIBCO Designer lets you choose the data with which the publisher, subscriber, etc. should work. TIBCO Designer automatically creates the schema objects corresponding to the data you choose. For an example, see Configuring Standard Adapter Endpoints and Schema, page 209. Working With Legacy and Custom Adapters You use the Adapter Schema Resources palette in these situations: If you load a legacy adapter, for which no palette exists, TIBCO Designer creates a palette using the Generic Adapter Configuration resources. You can then change the schema for the endpoints in that adapter using the Adapter Schema palette. If you are creating a custom adapter from scratch, you use the resources in the Adapter Resources palette to define the sessions, endpoints, and other elements. You then have to create schema resources to represent the data the endpoints in your custom adapter work with.

See Defining Custom Adapter Schema on page 210. Default Schema Resources A number of schema resources are included in the AESchemas folder by default. These resources represent schema that are recognized by the TIBCO Adapter SDK. They include: aeActiveEnterprise schema data ae folderContains default predefined ActiveEnterprise resources, such as MAdvisoryDocument or MBusinessDocument.

To use any of these resources, you should always first drag an AESchema resource into the Design panel, then add your own resources to the folders that are created.
corbaCORBA javajava sqlSQL

schema data

schema data

schema data

To use any of these resources, you should first create a separate folder and add resources to it as needed.

TIBCO Designer Palette Reference

Understanding Schema Management 209

Configuring Standard Adapter Endpoints and Schema


This example illustrates how you choose the schema information in a standard adapter and how TIBCO Designer creates the corresponding resources. The exact process differs for each adapter and is discussed in the adapters documentation. This example configures a PeopleSoft adapter subscriber which retrieves data from a PeopleSoft application. Follow these steps: 1. With the project displayed in the Design panel, drag a PeopleSoft Adapter Configuration resource from the palette panel into the design panel. 2. Find the adapter instance in the project tree, and open its Adapter Services folder. A number of services become available in the palette panel. 3. Drag a Subscribe Event into the design panel. In the configuration panel, the configuration tab changes to allow you to specify configuration information. 4. Click Fetch Component Interface Name. TIBCO Designer displays a window in which you can select the component interface to which you want to subscribe. 5. Choose Product, click OK, then click Apply in the configuration panel. You can now save your project with the new adapter including the subscriber and the schema for the subscriber. How TIBCO Designer Works With the Schema Data When you are setting up the PeopleSoft subscriber, TIBCO Designer performs a number of operations: Knowledge or understanding of these operations is not necessary or even useful for adapter configuration. They are included for the sake of completeness. Names the subscriber to reflect the component interface to which it subscribes. Sets the quality of service appropriate for this component interface.

TIBCO Designer Palette Reference

210

| Chapter 4

Adapter Schema Palette

Under the Schema tab, displays the schema in that interface. Click on the folders to see the fields and field types (which will translate to attributes and attribute types). Creates a session of the appropriate type in the Advanced Settings/Sessions folder. Creates a folder in the Schema/classes/ae folder for the application and adds class resources matching the schema with attributes matching the fields. Under the Advanced tab, displays the message subject, endpoint reference, and schema class reference. The endpoint reference points to the session that was created. The schema class reference points to the class created for this component interface.

Defining Custom Adapter Schema


If you are configuring an adapter for which no palette is available, or if you are creating an SDK-based adapter, you can configure Schema resources using the AESchemas folder. Defining SchemaOverview This section gives an overview of the schema definition steps, pointing to other sections as appropriate. To define schema for your adapter, follow these steps: 1. In the project tree panel, select the AESchemas folder and double-click the ae folder. 2. From the palette panel, select a Folder resource (General palette) and drag it into the design panel. 3. Name the folder appropriately for your adapter. It is highly recommended you use a separate Folder inside AESchemas for each adapter. It can be very helpful, for example, if you limit the data initially loaded by specifying a Metadata URL. See Metadata URLs Folder on page 194. 4. From the palette panel, select an AESchema resource (Adapter Schemas palette) and drag it into the design panel.

TIBCO Designer Palette Reference

Understanding Schema Management 211

The AESchema resource contains folders for the classes, sequences, etc. to be used by the adapter. Click the + below the resource in the project tree to see the folder hierarchy.

5. Select the Classes folder. From the palette panel, drag a Generic class into the design panel and choose a class type. Then proceed to configure the class as discussed in Defining a Class with Attributes on page 213 and Defining a Class with Operations on page 216. When you are configuring a service, you can then add the schema to the service by clicking the Browse icon in the Schemas tab. To add the schema object to an endpoint (for example, a publisher) explicitly, follow these steps: 1. In the project panel, select the endpoint while the schema object is visible. 2. From the project panel, drag the schema object into the design panel with the endpoint still selected. TIBCO Designer creates a reference to the schema object and includes it below the endpoint in the hierarchy.

TIBCO Designer Palette Reference

212

| Chapter 4

Adapter Schema Palette

TIBCO Designer Schema Reference


This section contains some introductory information, followed by reference information for each resource in the Adapter Schemas palette. When you configure a standard adapter, you do not usually add schema to the adapter explicitly. Instead, you specify configuration information and can then interactively select the data the services manipulate. This reference is therefore mainly for developers who perform a custom configuration using Generic Adapter Configuration. This section discusses the following topics: AESchemas Folder Adapter Schemas Palette Classes Operations Scalars Unions Sequences

AESchemas Folder
When you launch TIBCO Designer, the project tree always includes an AESchemas folder immediately under the top-level folder. The AESchemas folder is the repository for all schema data used by all applications in your project. When you configure a standard adapter, TIBCO Designer creates schema resources and places them in the appropriate location in the AESchemas folder. When you configure a custom adapter, you create schemas inside the AESchemas folder. You then add schema references to the services your adapter provides. Some examples are given in this chapter.

Adapter Schemas Palette


When you select an item inside the AESchemas folder, for example, a Classes folder or an individual class resource in the project tree, the Adapter Schema palette is displayed in the palette panel.
TIBCO Designer Palette Reference

TIBCO Designer Schema Reference 213

You use this palette to define schema for your adapter. See Defining Custom Adapter Schema on page 210 for an example.

Classes
Many TIBCO applications produce or consume data that are structured as objects. These objects are described by schemas. A Generic
Class

resource can be used for these purposes:

Define a class object to represent schema data for your adapter. See Defining a Class with Attributes on page 213 and Defining a Class with Operations on page 216. Add a class field to your class object. See Adding Class Attributes on page 214.

Defining a Class with Attributes


To define a class that describes data your adapter retrieves or publishes, follow these steps: 1. In the TIBCO Designer project tree, select the AESchemas folder, then the ae folder. 2. Drag a Folder resource into the ae folder displayed in the design panel and name it appropriately for your adapter. 3. Drag an AESchema resource into the folder. Open the AESchema resource and select its Classes folder. 4. In the palette panel, select the Generic Class icon and drag it into the design panel. 5. For the Class
Type

field, select Schema, then click Apply.

6. You can now add attributes to the class. If you are using palette view, you must select the appropriate palette before you can proceed. You cannot add attributes to a class until you have specified its type.

Adding Attributes to a Class The attributes of the schema class object define the type of data that the schema object you are creating will allow. To add attributes to a schema class, follow these steps:

TIBCO Designer Palette Reference

214

| Chapter 4

Adapter Schema Palette

1. Select the class in the project tree. The palette panel now displays the icons for resources you can add to the class (or the palettes containing the icons). 2. Drag the icon that represents the type of data for this attribute. For example, you could drag a class into the design panel, then click the Browse icon to select the class. Or you could drag a Generic Scalar (found in the Scalar Types palette) and choose the desired type from the pop-up. You have these choices: Adding Class Attributes, page 214 Adding Union Fields, page 215 Adding Sequence Fields, page 215 Adding Scalar Fields, page 215 For classes that have superclasses, an attribute or operation must not overload or hide one of the same name in a superclass. 3. Specify the following additional information about the attribute: Keyfield. Select the check box if this attribute represents a key field, or leave it unchecked if it does not. Default Value. Provide a default value. This property is not available for all attribute types. Readable. Select the check box to make the attribute readable, deselect otherwise. Writable. Select the check box to make the attribute writable, deselect otherwise. 4. Click Apply. Adding Class Attributes To add an attribute whose value must be a class: 1. Specify the class that should restrict the attribute value, if it does not yet exist. 2. Select the class to which you want to add the attribute, or drag a Generic Class into the design panel and choose Schema as the type. 3. With the Schema class selected, drag the class that should restrict the value into the design panel (or click the Browse button with the class field selected). 4. Click Apply. See How TIBCO Applications Use Schema Data, page 207 for more information.
TIBCO Designer Palette Reference

TIBCO Designer Schema Reference 215

Adding Union Fields To add an attribute whose value must be a union, you must first have defined one or more Union resources. See Unions, page 222: 1. Specify the union that should restrict the attribute value, if it does not yet exist. Add union members. 2. Select the class to which you want to add attributes, or drag a Generic into the design panel and choose Schema as the type. 3. Drag the Union resource into the design panel. You have now specified that union is the choices of attribute values. For example, you could drag both a string and an integer. 4. Click Apply. See Unions, page 222 for more information. Adding Sequence Fields To add an attribute of type sequence, you must have first defined a sequence. 1. Specify the sequence that should restrict the attribute value, if it does not yet exist. 2. Select the class to which you want to add attributes, or drag a Generic into the design panel and choose Schema as the type.
Class Class

3. Drag a Generic Sequence from the Sequence Types palette into the design panel. 4. Specify a Name, Element Type, and length for your sequence. The length is the number of elements in the sequence. 5. Click Apply. See Sequences, page 225 for more information. Adding Scalar Fields To add an attribute whose value must be a scalar, follow these steps: 1. Specify the scalar that should restrict the attribute value, if it does not yet exist. 2. Select the class to which you want to add attributes, or drag a Generic into the design panel and choose Schema as the type.
Class

3. Drag a Generic Scalar from the Scalar Types palette into the design panel.
TIBCO Designer Palette Reference

216

| Chapter 4

Adapter Schema Palette

4. Specify a name, then bring up the pop-up to specify the type of scalar. The values you can choose from are the types available as part of the Adapter SDK class library. See the TIBCO Adapter SDK Programmers Guide for information on the mapping of these types to Java or C++ types. 5. Specify other information as appropriate, then click Apply.

Defining a Class with Operations


To define a class that describes data your adapter retrieves or publishes, follow these steps: 1. In the TIBCO Designer project tree, select the AESchemas folder, then the ae folder. 2. Drag a Folder resource into the ae folder displayed in the design panel and name it appropriately for your adapter. 3. Drag an AESchema resource into the folder. Open the AESchema resource and select its Classes folder. 4. In the palette panel, select the Generic panel. 5. For the Class
Type Class

icon and drag it into the design then click Apply.

field, select Operation

Schema,

6. You can now add operations to the class (see Adding Operations to an Operation Class on page 216). If you are using palette view, you must select the appropriate palette before you can proceed. You cannot add attributes to a class until you have specified its type.

Adding Operations to an Operation Class The following section gives one example for defining an operation. The exact choices you make depend on the operation you want to define. To add operations to an Operation class, follow these steps: 1. Select the Operation resource in the project tree.

TIBCO Designer Palette Reference

TIBCO Designer Schema Reference 217

2. From the palette panel, drag the Operation icon into the design panel, then: a. Name the operation b. Click Browse and select the resource that specifies the return type. It could, for example, be a resource in the AESchema/ae/Scalars folder or a predefined class. c. Click the One
Way

check box if this is a one way operation.

3. Select the parameters folder and drag resources representing the parameter type into the design panel. For example, assume you want to specify an input parameter of type string: a. Drag a Generic
Scalar

into the design panel.

b. Specify a name, the type (String), and optional direction (In).


InIn

parameter. Client can set the value and invoke the operation. client and server can set the value.

In/OutBoth OutOnly

server can set the value and send the reply back to client.

c. Click Apply. d. Specify additional parameters by repeating steps a-c as desired. 4. Select the Exceptions folder and drag a resource representing the exception type into the design panel. For an error code, you could use a scalar with the appropriate type. You could also specify a class, as follows: a. Drag a Generic
Class

into the design panel.

b. Specify a name and click Browse to select a class. c. Choose AESchemas/ae/MAdvisoryDocument to indicate this exception returns an MAdvisoryDocument instance. d. Click Apply. e. Specify additional exceptions by repeating steps a-d as desired.

Operations
SDK operations are described in the metadata objects in the repository. The operation description can be shared across TIBCO ActiveEnterprise products and introspected at run time for dynamic invocation. Implementing ActiveEnterprise operations consists of two tasks: 1. Using TIBCO Designer to describe the operations to be performed. This includes parameters and exceptions for the operations.

TIBCO Designer Palette Reference

218

| Chapter 4

Adapter Schema Palette

2. Using TIBCO Adapter SDK classes to implement the behavior in the application code. Defining Operations To define an operation, follow these steps: 1. In the TIBCO Designer project tree, select the AESchemas folder, then the ae folder. 2. Drag a Folder resource into the ae folder displayed in the design panel and name it appropriately for your adapter. 3. Drag an AESchema resource into the folder. Open the AESchema resource and select its Classes folder. 4. In the palette panel, select the Generic panel. 5. For the Class
Type Class

icon and drag it into the design then click Apply.

field, select Operation

Schema,

6. Select the Operation Schema class in the project tree. From the palette panel, drag an Operation into the design panel. 7. Specify the following information for the operation: Name. Define the operation name. Returns: Click Browse and select the return type for the operation. It could, for example, be a resource in the AESchema/ae/Scalars folder or a predefined class. Oneway. Click this check box if the operation can be invoked without waiting for a return value or acknowledgment. 8. Select the Parameters folder of the operation. From the project tree, drag in the resources representing the parameter types. See Defining Operation Parameters on page 218. 9. Select the Exceptions folder of the operation. From the project tree, drag in the resources representing the exception types. Defining Operation Parameters When you define an operation, TIBCO Designer automatically adds two folders: Operation Parameter Folder Use this folder to drag in resources representing the parameter types, as discussed in the following sections.

TIBCO Designer Palette Reference

TIBCO Designer Schema Reference 219

Parameters of Type Class Parameters of Type Sequence Parameters of Type Scalar Parameters of Type Union

Operation Exceptions Folder Use this folder to drag in resources representing the exception types, as discussed in the following sections. See Defining Exception Parameters on page 221. Parameters of Type Class If you want to add a parameter that has a Schema Class as a type, follow these steps: 1. Create the operation, as discussed in Defining Operations on page 218. 2. In the project tree panel, double-click the Parameters folder. 3. Select a class in the project tree and drag it into the design panel, or click Browse and find the class you want to use. 4. Select the operation direction. InIn parameter. The client can set the value and invoke the operation. In/OutBoth client and server can set the value. OutOnly the server can set the value and send the reply back to client. 5. Click Apply. Your operation now expects a parameter which has the class you selected as its type. Parameters of Type Sequence If you want to add a parameter that has a sequence as a type, follow these steps: 1. Create the operation, as discussed in Defining Operations on page 218. 2. In the project tree panel, double-click the Parameters folder. 3. Select a sequence in the project tree and drag it into the design panel, or click Browse and find the class you want to use.

TIBCO Designer Palette Reference

220

| Chapter 4

Adapter Schema Palette

4. Select the operation direction. InIn parameter. The client can set the value and invoke the operation. In/OutBoth client and server can set the value. OutOnly the server can set the value and send the reply back to client. 5. Click Apply. Your operation now expects a parameter which has the sequence you selected as its type. Parameters of Type Scalar If you want to add a parameter that has a scalar as a type, follow these steps: 1. Create the operation, as discussed in Defining Operations on page 218. 2. In the project tree panel, double-click the Parameters folder. 3. Select a scalar in the project tree and drag it into the design panel, or click Browse and find the class you want to use. 4. Select the operation direction. InIn parameter. The client can set the value and invoke the operation. In/OutBoth client and server can set the value. OutOnly the server can set the value and send the reply back to client. 5. Click Apply. Your operation now expects a parameter which has the scalar you selected as its type. Parameters of Type Union If you want to add a parameter that has a union as a type, follow these steps: 1. Create the operation, as discussed in Defining Operations on page 218. 2. In the project tree panel, double-click the Parameters folder. 3. Select a union in the project tree and drag it into the design panel, or click Browse and find the class you want to use.

TIBCO Designer Palette Reference

TIBCO Designer Schema Reference 221

4. Select the operation direction. InIn parameter. The client can set the value and invoke the operation. In/OutBoth client and server can set the value. OutOnly the server can set the value and send the reply back to client. 5. Click Apply. Your operation now expects a parameter which has the union you selected as its type. Defining Exception Parameters When you define an operation, TIBCO Designer creates an Exceptions folder for you. You can specify the type of exceptions the operation should return as follows: 1. Create the operation, as discussed in Defining Operations on page 218. 2. In the project tree panel, double-click the Exceptions folder. 3. Drag the object representing the type of exception you wish to have delivered into the design panel. For example, for an exception of type MAdvisoryDocument, select an MAdvisoryDocument object. 4. Click Apply. 5. Add more exceptions to the operation as needed.

Scalars
Within TIBCO Designer, the term Scalar refers to a primitive object that describes a data type, such as int, long, char, byte, and date. You select the appropriate folder (for example, ae or sql) and object to determine what kind of primitive data type describes the object and which attributes must therefore be set. The resources in the ae folder correspond to the types available for SDK adapters. When an adapter repository is created, a number of scalar objects are included by default. In addition, you can work with parameterized primitive data types (for example, ae/fixed, ae/binary, ae/char), where you can derive an infinite number of types from a base type by changing various data type attributes. You can use these types, for example, to create a bounded binary or bounded char type. If there is a base data type, then it will be pre-loaded, but you are required to create any other instances as you need them, just as you would for sequence types.
TIBCO Designer Palette Reference

222

| Chapter 4

Adapter Schema Palette

You can use one of the scalar resources that are already included with TIBCO Designer, or define a custom scalar used by your application. To define a custom scalar: 1. In the project tree, select one of the folders inside the Scalars folder in the project tree or, to define a new scalar type, create a new folder first. 2. From the palette panel, drag a Generic
Scalar

into the design panel.

3. In the configuration panel, specify the information about the scalar, then click Apply. To add a scalar attribute to a custom class: 1. In the project tree panel, select the Classes folder. 2. In the palette panel, select a Generic
Class

and drag it into the design panel.

3. In the configuration panel, select Schema as the class type. 4. To add a scalar attribute, select the new schema class, then drag a Generic Scalar from the palette panel into the design panel. 5. Specify the information about the attribute you have added: NameName of the attribute TypeSelect the appropriate type from the pop-up. Default ValueSpecify the default value for this field. This information is optional and no type checking is performed. KeyfieldSelect if this is a key field. ReadableSelect if you want for this field to be readable. WritableSelect if you want for this field to be writable. 6. Click Apply.

Unions
Unions may be placed alongside classes within a Classes folder. Like classes, unions are containers of data items, but the contents of a union are alternatives. Only one alternative is actually present in the union instance. Like classes, unions may have an associated property list. Unions have a name and have one or more union members. Each union member, in turn, has a name and a type. Union and union member elements may have attributes.

TIBCO Designer Palette Reference

TIBCO Designer Schema Reference 223

Defining Union Objects Define one or more Union objects as follows: 1. Select the Union folder. 2. From the palette panel, drag a Generic
Union

into the design panel.

3. Give the Union a name, then add members to the Union. Adding Union Members to Union Objects When you specify the union members for a union, TIBCO Designer creates references to the object you add. This section discusses the process for the different resource types: Adding Class Reference Union Members on page 223 Adding Sequence Reference Union Members on page 224 Adding Scalar Reference Union Members on page 224 Adding Union Reference Union Members on page 225

Adding Class Reference Union Members When you add a class union member to a union, TIBCO Designer creates a class reference. To define union members that are classes, follow these steps: 1. Select a union in the project tree. 2. From the project tree, drag an existing class, for example, an MBusinessDocument into the design panel. TIBCO Designer creates a reference to MBusinessDocument and makes it the first union member. 3. Drag a second class, for example, an MAdvisoryDocument into the design panel. TIBCO Designer creates a second class reference. If you now add the union as an attribute to a schema class and assign that schema to an endpoint, the endpoint will only accept data of type MBusinessDocument or MAdvisoryDocument. You can add more than 2 class references as union members. You can also mix class references and other references.

TIBCO Designer Palette Reference

224

| Chapter 4

Adapter Schema Palette

Adding Sequence Reference Union Members When you add a sequence union member to a union, TIBCO Designer creates a sequence reference. To define union members that are sequences, follow these steps: 1. Select a union in the project tree. 2. From the project tree, drag an existing sequence into the design panel. See Sequences on page 225. TIBCO Designer creates a reference to the sequence. 3. From the project tree, drag an second sequence into the design panel. TIBCO Designer creates a reference to the second sequence. 4. If you now add the union as an attribute to a schema class and assign that schema to an endpoint, the endpoint will only accept data that either match one or the other sequence. You can add more than 2 sequence references as union members. You can also mix sequence references and other references. Adding Scalar Reference Union Members When you add a scalar as a union member to a union, TIBCO Designer creates a scalar reference. To define union members that are scalars, follow these steps: 1. Select a union in the project tree. 2. From the project tree, drag a scalar into the design panel. See Scalars on page 221. TIBCO Designer creates a reference to the scalar. 3. From the project tree, drag a second scalar into the design panel. TIBCO Designer creates a reference to the second scalar. 4. If you now add the union as an attribute to a schema class, and assign that schema to an endpoint, the endpoint will only accept data that match either one or the other scalar. You can add more than 2 scalar references as union members. You can also mix scalar references and other references.

TIBCO Designer Palette Reference

TIBCO Designer Schema Reference 225

Adding Union Reference Union Members When you add a union as a union member to an existing union, TIBCO Designer creates a union reference. To define a union members that are, in turn, unions, follow these steps: 1. Select a Union in the project tree. 2. From the project tree, drag a union into the design panel. See Unions on page 222. TIBCO Designer creates a reference to the union. 3. From the project tree, drag a second union into the design panel. TIBCO Designer creates a reference to the second union. 4. If you now add the union as an attribute to a schema class, and assign that schema to an endpoint, the endpoint will only accept data that match either one or the other union, that is, any of the elements in either union. You can add more than 2 union references as union members. You can also mix union references and other references.

Sequences
Sequence objects describe ordered sets of the same type, for example, an ordered set of integers. The sequence is described by its optional maximum length and the type of element in the sequence. Because the sequence is parameterized both by length and element type, there are an infinite number of sequence types. Create a sequence as follows: 1. Select the Sequence folder. 2. From the palette panel, drag a Generic
Sequence

into the design panel.

3. In the configuration panel, select the name, type of the elements, and length of the sequence. The maximum length is the number of elements in the sequence.

Associations
An association has two endpoints and each association has attributes such as multiplicity and navigability.

TIBCO Designer Palette Reference

226

| Chapter 4

Adapter Schema Palette

Association Types To better support mapping to relational databases, the XML standard defines an association type, which is one of the following: CONTAINMENT. Implies that an instance of class A "owns" one or more instances of class B. No other class has ownership of the same B instance. If class A is deleted, logically the B instance should be deleted also. REFERENCE. An instance of class A is associated with zero or more instances of class B. The B instances may be referenced by more than one instance of A. This is the most general form of association and is the default if no type is specified. CONSTRAINT_REF. An instance of class A and an instance of class B together contain enough key information to uniquely associate them with an instance of class C. Deletion of A or B instances should cause deletion of all C instances which are no longer referenced. The relation of A or B to C is of type CONSTRAINT_REF.

A Note on Multiplicity Both ends of an association can have a multiplicity. For example, a 1 to 1 relation has multiplicity = 1 on both ends. One to n (i.e. unlimited) has 1 at one end and -1 (unlimited) on the other. In these cases, there is only one multiplicity number and minMultiplicity and maxMultiplicity will be equal. In rather rare cases, you would specify a different minimum and maximum. One example given in the "UML Distilled" book is that a car can have 2 to 4 doors. So in this case the "car" end of the association would have multiplicity 1 and the "door" end would have minMultiplicity = 2 and maxMultiplicity = 4. See any reference on UML for more details.

TIBCO Designer Palette Reference

Schema Resource Reference 227

Schema Resource Reference


This section lists resources created by TIBCO Designer under certain special conditions. The section is not meant to be read sequentially, instead, it is accessed by the online help when you click "What is this" on any of the resources. You may also find it helpful when you are interested in information about a specific resource. Class Reference Scalar Reference Union Reference Sequence Reference Generic Class Generic Scalar Generic Union Generic Sequence Class Field Scalar Field Union Field Sequence Field

Class Reference
TIBCO Designer creates a schema class reference in these situations: When you add a class to a union as a union member. See Adding Class Reference Union Members on page 223. When you add a class as an exception to the Exceptions folder of an operation. See Defining Exception Parameters on page 221. When you add a class to an endpoint to restrict the data it should work with. See Defining Custom Adapter Schema on page 210.

Scalar Reference
TIBCO Designer creates a scalar reference in these situations:

TIBCO Designer Palette Reference

228

| Chapter 4

Adapter Schema Palette

When you add a scalar to a union as a union member. See Adding Scalar Reference Union Members on page 224. When you add a scalar as an exception to the Exceptions folder of an operation. See Defining Exception Parameters on page 221. When you add a scalar to an endpoint to restrict the data it should work with. See Defining Custom Adapter Schema on page 210.

Union Reference
TIBCO Designer creates a union reference in these situations: When you add a union to a union as a union member. See Adding Union Reference Union Members on page 225. When you add a union as an exception to the Exceptions folder of an operation. See Defining Exception Parameters on page 221. When you add a union to an endpoint to restrict the data it should work with. See Defining Custom Adapter Schema on page 210.

Sequence Reference
TIBCO Designer creates a sequence reference in these situations: When you add a sequence to a union as a union member. See Adding Sequence Reference Union Members on page 224. When you add a sequence as an exception to the Exceptions folder of an operation. See Defining Exception Parameters on page 221. When you add a sequence to an endpoint to restrict the data it should work with. See Defining Custom Adapter Schema on page 210.

Generic Class
A generic class is a resource template in the palette panel that you can drag into the design panel. The actual resource TIBCO Designer creates from the generic class depends on the current selection. If the current selection is any of the folders or subfolder inside the AESchemas folder, TIBCO Designer creates a generic class. You can then select the class type (Schema or Operation class) and TIBCO Designer creates a resource of that type. See How TIBCO Applications Use Schema Data on page 207.

TIBCO Designer Palette Reference

Schema Resource Reference 229

If the current selection is a Schema class, the Generic class becomes a Class field, that is, a field inside the class that has that class as the type. See Adding Class Attributes on page 214. If the current selection is a Union or the Exceptions folder inside an operation, TIBCO Designer creates a class reference. See Class Reference on page 227.

Generic Scalar
A generic scalar is a resource template in the palette panel that you can drag into the design panel. The actual resource TIBCO Designer creates from the generic scalar depends on the current selection. If the current selection is any of the folders or subfolder inside the AESchemas folder, TIBCO Designer creates a Scalar Type resource. See Scalars on page 221. If the current selection is a Schema class, the Generic sequence becomes a Union field, that is, a field of type Union inside the class. See Adding Union Fields on page 215. If the current selection is a Union or the Exceptions folder inside an operation, TIBCO Designer creates a union reference. See Union Reference on page 228.

Generic Union
A generic union is a resource template in the palette panel that you can drag into the design panel. The actual resource TIBCO Designer creates from the generic union depends on the current selection. If the current selection is any of the folders or subfolder inside the AESchemas folder, TIBCO Designer creates a Union Type resource. See Unions on page 222. If the current selection is a Schema class, the Generic sequence becomes a Union field, that is, a field of type Union inside the class. See Adding Union Fields on page 215. If the current selection is a Union or the Exceptions folder inside an operation, TIBCO Designer creates a union reference. See Union Reference on page 228.

Generic Sequence
A generic sequence is a resource template in the palette panel that you can drag into the design panel. The actual resource TIBCO Designer creates from the generic sequence depends on the current selection.

TIBCO Designer Palette Reference

230

| Chapter 4

Adapter Schema Palette

If the current selection is any of the folders or subfolder inside the AESchemas folder, TIBCO Designer creates a Sequence Type resource. See Sequences on page 225. If the current selection is a Schema class, the Generic sequence becomes a Sequence field, that is, a field of type Sequence inside the class. See Adding Sequence Fields on page 215. If the current selection is a Union or the Exceptions folder inside an operation, TIBCO Designer creates a sequence reference. See Sequence Reference on page 228.

Class Field
TIBCO Designer creates a class field when you drag a Class into the design panel while a schema resource is selected. See Adding Class Attributes on page 214.

Scalar Field
TIBCO Designer creates a scalar field when you drag a Scalar into the design panel while a schema resource is selected. See Adding Scalar Fields on page 215.

Union Field
TIBCO Designer creates a union field when you drag a Union into the design panel while a schema resource is selected. See Adding Union Fields on page 215.

Sequence Field
TIBCO Designer creates a sequence field when you drag a Sequence into the design panel while a schema resource is selected. See Adding Sequence Fields on page 215.

TIBCO Designer Palette Reference

TIBCO Designer Adapter Schema Folders 231

TIBCO Designer Adapter Schema Folders


This section briefly discussed TIBCO Designer Adapter Schema folders. The appendix is not meant to be read sequentially, instead, it is accessed by the online help when you click "What is this" on any of the folders. You may also find it helpful when you are interested in information about a specific folder. Folders in the Generic Adapter Configuration point to this appendix (because they are folders, and online help for folders points here). These folders are also discussed separately in Folder Reference on page 191. The following folders are discussed: Folder Resource AESchemas Folder Classes Folder Scalars Folder Unions Folder Sequences Folder Associations Folder

Folder Resource
Folder resources are used to organize projects. For example, you can add one folder each for each adapter instance you are designing. TIBCO Designer uses folders inside the AESchemas folder to organize Schema resources.

AESchemas Folder
The AESchemas folder is a container for all schema data used by all applications in your project. When you configure a standard adapter, TIBCO Designer creates schema resources and places them in the appropriate location in the AESchemas folder. When you configure a custom adapter, you create schemas inside the AESchemas folder. You then add schema references to the endpoints in your application. Some examples are given in this chapter.

TIBCO Designer Palette Reference

232

| Chapter 4

Adapter Schema Palette

Classes Folder
The Classes folder is a container for all classes used by all applications in your project. Create a folder for you application inside this folder for a clean organization. See the TIBCO Adapter SDK Programmers Guide for more information.

Scalars Folder
The Scalars folder is a container for all scalars used by all applications in your project. It contains folders for scalars commonly used by applications. The Scalars folder under AESchemas/ae contains TIBCO ActiveEnterprise scalars. For information on mapping between those scalars and C++ and Java types, see the TIBCO Adapter SDK Programmers Guide. The Scalers folder under AESchemas is meant to hold a folder for the scalars used as schema by your application.

For more information, see Scalars on page 221

Unions Folder
The Unions folder is a container for all unions used by all applications in your project. Create a subfolder to hold unions used by your project. For more information, see Unions on page 222

Sequences Folder
The Sequences folder is a container for all sequences used by all applications in your project. Create a subfolder to hold sequences used by your project. See the TIBCO Adapter SDK Programmers Guide for more information. For more information on using sequences inside TIBCO Designer, see Sequences on page 225

Associations Folder
The Associations folder is a container for all associations used by all applications in your project. For more information, see Associations on page 225.

TIBCO Designer Palette Reference

| 233
Chapter 5

Repository Palette

The Repository palette allows you to manipulate legacy project repositories and their data directly. You can also use this palette to interact with Administration Servers. In most cases, you interact with project repositories using the TIBCO Designer GUI elements. Using this palette is only useful in rare cases for legacy applications. The Repository palette is therefore not displayed by default. To display the palette, choose Palettes > General > Repository from the TIBCO Designer menu bar. The palette is displayed if the check mark is visible.
i

You cannot use the Repository palette and associated Repository manage multi-file projects.

Finder

to

Topics
Introduction, page 234 Managing Repository Instances, page 243 Managing Repository Content, page 249 Menus and Toolbar Icons, page 257

TIBCO Designer Palette Reference

234

| Chapter 5

Repository Palette

Introduction
TIBCO Designer offers two paradigms for manipulating data: projects and repositories. In most cases, you use the project paradigm. In some cases, you want to look at or work with the underlying paradigm, the repository. You can locate, manage, and monitor repositories using the repository palette. By default, the repository palette is hidden.

This chapter first compares the two paradigms. It then explains how to display the repository palette, and how to use TIBCO Designer to locate repository instances. It also gives a reference to all icons in the Repository palette. You can use Repository Finder only to manage 4.x repositories. It does not work for 5.x multi-file projects (VC format repositories). This chapter gives an introduction to projects and repositories and how they interact. Projects and Repositories Showing the Repository Palette Repository Finder Tool Using Repository Finder to Locate Repositories Repository Palette

Projects and Repositories


TIBCO Designer allows you to view and manipulate your data using two different paradigms: A project is a collection of information you are currently working on. A project represents the work you have done. You can save projects, share them with others, and open them again. A project could contain, for example, several adapter instances used by your integration and folders to organize the adapters. A repository is a data store, that is, a collection of information stored in one place. Repositories can be simple, for example, contain data used by an application, or more complex, for example, contain the definitions for several adapters.

TIBCO Designer Palette Reference

Introduction 235

You can view and manipulate any repository using Repository Finder. This includes repositories saved as projects from Designer and legacy repositories created by other tools. You can also view and manipulate currently loaded projects as repositories. Warning: In almost all cases, it is appropriate to work with your data using the projects folders, resources, and configuration information. One reason for this is that TIBCO Designer makes sure the public and private repository areas are in sync when you edit a project. Inconsistencies may result if you change a repository using Repository Finder. The Repository Finder hierarchy is meant for certain administrative tasks on legacy projects and not usually used for application design.

Showing the Repository Palette


By default, the Repository palette is not displayed in the palette panel because its functionality is for repository management only. To display the Repository palette, choose Palettes > General > Repository. That makes the Repository palette available from the palette panel when the top-level folder is selected.

Repository Finder Tool


The Repository Finder tool lets you locate and manage repositories. Locate both local and remote repositories based on the discovery criteria you specify. See Using Repository Finder to Locate Repositories, page 235. Manage repository instances. See Introduction on page 234. Stop a repository server. See Stopping a Repository Server, page 247. Manage data inside the repository. See Introduction on page 234.

When you add a Repository Finder to your project, the Finder is later saved as part of your project. However, the search information is not saved.

Using Repository Finder to Locate Repositories


Repository Finder lets you locate both local and server-based repositories. You can only locate repositories that have been saved in .dat format. You cannot locate repositories for multi-file projects.

TIBCO Designer Palette Reference

236

| Chapter 5

Repository Palette

To locate a repository, follow these steps: 1. Make sure the Repository palette is available (not hidden). See Showing the Repository Palette on page 235. 2. Drag a Repository Finder from the palette panel to the design panel. A Repository Finder is added to your project and displayed in the design panel and the project tree. The configuration panel lets you specify discovery criteria.

Drag a Repository Finder into the design panel.

TIBCO Designer Palette Reference

Introduction 237

Local File Repositories

3. To locate local file repositories a. Click the Local File Repositories tab. b. Click the Search Locally check box. c. Click Browse and select the directory in which the repository is located. d. If you only want to look for local file repositories, click Rediscover.

TIBCO Designer looks for repositories in the specified directory and displays them in the project tree panel under a Local Repositories entry. Heres an example of part of a repository hierarchy for a TIBCO BusinessConnect for RosettaNet application.

By default, Repository Finder only displays repository directories and objects. If you want to view attribute information, select Advanced Browsing in the Advanced tab before you click Rediscover. See Introduction on page 234. e. If you want to look for both local and remote repositories, go on to the next step.

TIBCO Designer Palette Reference

238

| Chapter 5

Repository Palette

Servers and Instances

4. Click Server Repositories if you want to find repository servers and their instances. a. Click the Search Remotely check box. b. If the server is using RVD, specify any non-default TIBCO Rendezvous daemon, network, and service, specify it here. Otherwise, TIBCO Designer searches using the defaults, which are: RV Daemon: tcp:7500 RV Network: unspecified RV Service: unspecified c. If you are using RVA, click the RVA button and specify the host and port.

d. Click Rediscover (unless you intend to specify advanced settings). TIBCO Designer finds any remote repositories for the specified TIBCO Rendezvous settings and displays them in the project tree. If you do not have read permission for a server-based repository managed by TIBCO Administrator, you may not be able to display it.

TIBCO Designer Palette Reference

Introduction 239

5. Browse the local and remote repositories that match your search criteria. In the hierarchy, you see repository instances, directories, and objects.

Repository instance Repository directory

Repository object

6. If you need additional information on the contents of the object, or want to change its attribute, choose the Advanced tab, then turn on advanced browsing and editing. See Viewing Attributes of Repository Objects, page 253 and Modifying Attributes Inside Repository Objects, page 253. In most situations, adding resources to projects and manipulating their attributes is preferable to manipulating repository objects through the Repository Finder hierarchy. One reason for this is that TIBCO Designer makes sure the public and private repository areas are in sync if you edit a project, but cannot do so if you change a repository.

TIBCO Designer Palette Reference

240

| Chapter 5

Repository Palette

Navigating the Repository Hierarchy


The repository hierarchy in the project tree panel allows you to view repository servers, instances, directories, and objects. This section gives a brief overview of what you see. Servers and Instances Heres an example of the first level of the hierarchy which shows both local and server-based instances:
Repository server Server-based instance

Local instance

At the first level of the hierarchy, you can see the following items: Repository Server A repository server manages repository instances. The instances can be local or remote, and can be files or stored in a database. The server uses TIBCO Rendezvous software to communicate with remote clients. A repository server can support multiple remote repository instances. A repository server is identified by a name which must be unique among all repository servers on a network. The repository server communicates with repository instances via TIBCO Rendezvous. Server-based Instance A server-based instance can be on any computer on the network and can be in a file or a database. Local Instance A local instance is always a .dat file and accessed directly, not via TIBCO Rendezvous. You cannot view multi-file projects using Repository Finder.

TIBCO Designer Palette Reference

Navigating the Repository Hierarchy 241

Directories and Objects When you go lower in the hierarchy, you see repository directories and objects. See Repository Directory, page 242 and Repository Object, page 242 for more information.

Repository directory

Repository object

Repository Palette
When you select Repository Finder or one of the resources below it in the project tree hierarchy, the Repository palette is displayed in the palette panel. Depending on the selected resource, you can either add a repository instance or a repository directory and object to the design panel.
Repository Instance Repository Directory Repository Object

Repository Instance A repository instance is a named collection of data, usually metadata and configuration data that is persistently stored. A local repository instance is stored on the local file system and directly accessed by the client. A remote repository instance is managed by a repository server and accessed by a client using TIBCO Rendezvous. See Introduction on page 234 for information on the operations you can perform.

TIBCO Designer Palette Reference

242

| Chapter 5

Repository Palette

Repository Directory A repository directory is a container for one or more directories as well as one or more objects. Directories are used for organizing objects so that they can then be referred to unambiguously. Repository Object A repository object is a container for the data. Data are organized as an ordered list of name:value pairs called an association list. In effect, an object is a named association list. The term object is used although there is no notion of inheritance or information hiding, nor does the object have any methods.

TIBCO Designer Palette Reference

Managing Repository Instances 243

Managing Repository Instances


This section discusses the different repository management activities TIBCO Designer offers. Creating Repository Instances Specifying Additional Repository Information Cloning Repository Instances Deleting Repository Instances Stopping a Repository Server Starting or Stopping a Repository Instance

Exporting and importing repositories is discussed in Introduction on page 234. It usually involves making changes to the XML file that results from the export.

Creating Repository Instances


In most circumstances, you do not create repository instances using the Repository Finder, but instead create a project and save it to the project repository. See the TIBCO Designer Users Guide, available via Help > Designer Help for more information. If for some reason you want to create a repository using Repository Finder, you must first decide whether you want to create a local or a remote repository instance. Local repository files cannot be located by a repository server. Remote repositories can be files or in a database. They must always be associated with a repository server.

Creating Local Repository Instances To create a local repository instance using Repository Finder, follow these steps: 1. If Local File Repositories is not currently displayed below Repository Finder in the project tree, find an already existing local repository instance. TIBCO Designer displays a Local File Repositories icon in the project tree and below it any repository instances it found in the specified location.

TIBCO Designer Palette Reference

244

| Chapter 5

Repository Palette

2. Right-click Local Repositories and choose Create Repository Instance.

3. Specify the instance name, display name, and file type as prompted. TIBCO Designer creates a repository instance and displays it under Local File Repositories. 4. If you like, you can specify additional information. See Specifying Additional Repository Information on page 245 You can also add a repository instance by Selecting Local File Repositories. Dragging an Instance icon from the palette panel to the design panel. Specifying the instance information when prompted. Creating a Repository Instance Managed by a Server A repository instance managed by a server can be on any machine on the network, and can either be a file or inside a database. To create a remote repository instance, follow these steps: 1. Make sure the repository server for the instance is running. 2. In the Repository Finder configuration panel, click Search Remotely, specify the search parameters for the server, and click Rediscover. The server is displayed, even if this server currently has no instances. 3. From the right-button menu of the server, choose Create Repository Instance. 4. Provide the name, display name, and request subject prefix as prompted. TIBCO Repository creates the repository instance in the remoteRepos directory associated with that server.

TIBCO Designer Palette Reference

Managing Repository Instances 245

If you like, you can specify additional information. See Specifying Additional Repository Information on page 245. You can also add a repository instance by Selecting the appropriate repository server. Dragging an Instance icon from the palette panel to the design panel. Specifying the instance information when prompted.

Specifying Additional Repository Information


After you have created a local repository or a repository managed by a server, you can specify additional information for it as follows: 1. Select the repository. 2. In the configuration panel (with the General tab selected), specify the following information: Display Name Encoding Display name for this repository

Specify the encoding you intend to use for this projects encoding property. This property is used by client applications that access the project for any TIBCO Rendezvous communications. For example, if a TIBCO Adapter accesses the file, it will then use the value specified in this Encoding property for TIBCO Rendezvous communication with other applications. Note that this is not the encoding of the repository's persistent storage. Legal values are ISO8859-1 (for Latin-1 and ASCII 7-bit character sets) and UTF-8 (for other non-Latin-1 and Asian character sets).

Responsible Person Description Support Info

Person to contact.

Description of this repository. Support information for this repository.

TIBCO Designer Palette Reference

246

| Chapter 5
IsDefault

Repository Palette

If checked, this is the default repository. Warning: There can be only one default repository within a repository network. That is then the repository to which the server connects when you search for repositories. The option should almost always be left unchecked.

The following information is included in the General tab but cannot be changed. Version Shows the version for this repository (cannot be changed). Default for TIBCO Designer 4.0.0 repositories is 4.0.0. Either LocalFile for a local file repository or remoteRV for any repository managed by a server. Either BIN or XML, as specified during repository creation. (Local only) Directory in which this repository is stored. TIBCO Rendezvous request subject prefix for this repository.

Instance Type File Type Dir Name Request Subject Prefix

Cloning Repository Instances


You can clone a repository instance, that is, create a precise copy that is associated with the same repository server as the original. To clone a repository instance, follow these steps: 1. In the project tree, right-click the repository instance you want to clone. You can clone either a local or a remote repository.

2. Select Clone Repository Instance.


TIBCO Designer Palette Reference

Managing Repository Instances 247

You are prompted for information about the new repository. For local file repositories: Instance Name Display Name File Type Dir Name Name of the instance. Display name. Either XML or BIN. Directory name for this repository.

3. Supply the information and click OK. TIBCO Designer creates an exact copy of the source repository. If you clone a remote repository, the copy is accessible through the same server.

Deleting Repository Instances


To delete a repository instance: 1. Select the instance. 2. From the right-button menu, choose Delete Repository Instance. 3. You are prompted whether you really want to delete the instance. Deletion is permanent. When deleting the instance, you are permanently removing it from the hard disk. 4. Click Yes to remove the repository, No to keep it where it is.

Stopping a Repository Server


You can stop a repository server version 3.3 or later using TIBCO Designer as follows: 1. Select the repository server you want to stop. 2. From the right-button menu, click Stop Repository Server. As an alternative, you can also click Stop Repository Server in the configuration panels General tab with the server selected. After you stop a repository server, no one on your network can view or modify repository instances associated with that server.
TIBCO Designer Palette Reference

248

| Chapter 5

Repository Palette

Starting or Stopping a Repository Instance


When you stop a repository instance, it is no longer visible to the server that manages it. As a result, it is also no longer visible through TIBCO Designer. When you start a repository instance, it then becomes visible again. To stop a repository instance, follow these steps: 1. Select the repository instance in the project tree. 2. From the right-button menu, choose Stop Repository Instance. 3. After a short time-out, the selected repository disappears from your display. To start a repository instance, follow these steps: 1. Select the Repository Server for the repository instance. 2. From the right-button menu, choose Start Repository Instance. 3. Type the name of the repository into the dialog. You cannot start a repository that is already running. 4. The repository is displayed below the selected server or below Local File Repositories.

TIBCO Designer Palette Reference

Managing Repository Content 249

Managing Repository Content


You can change the content of a repository in several ways, discussed in this section. Exporting and Importing Repository Instances Adding TIBCO Repository Directories and Objects Advanced Repository Management Advanced Repository Management

Exporting and Importing Repository Instances


TIBCO Designer functionality is in most cases sufficient and appropriate for making changes to a repository instance. In some cases, however, you may decide to export the repository to XML, make your changes, and import the file. Exporting a repository instance means writing its contents to a TIBCO Repository XML file. Importing a repository means importing a file that was previously exported from TIBCO Repository into an existing repository. During the import process, you have some control over rejecting or accepting import of duplicate repository directories or duplicate repository objects. You cannot control, however, whether a directory or object is imported that does not exist in the current repository instance. The RepoExport and RepoImport command line tools, available in <TIBCO_CORE_HOME>/tra/<version>/bin allow for more fine grained operations. Exporting and importing are useful: For diagnostics and troubleshooting. Viewing the XML file may help you pinpoint a problem. For creating a copy of a repository instance in a different repository server. For merging local repository instances into one remote repository instance.

You can use the RepoImport and RepoExport command line tools instead of TIBCO Designer. These tools allow you to use schema validation as part of your export process if desired. Exporting an Instance To export a repository instance, follow these steps:

TIBCO Designer Palette Reference

250

| Chapter 5

Repository Palette

1. Select the repository instance. 2. From the right-button menu, choose Export Repository Instance. 3. Choose the location for the XML file, then click OK. TIBCO Designer saves your repository to the specified location using TIBCO Repository XML format (generic format). You can also use the Export icon to export a repository.

Importing an Instance To import a repository instance, follow these steps: 1. Select a repository instance that you want to overwrite, or create a new repository and select it. 2. Right-click the repository and choose Import Repository Instance. You are prompted for a file. 3. Select an XML file that had previously been exported from a repository, either using TIBCO Designer or using the RepoExport command-line utility. The system prompts you with the following dialog:

4. Click Yes to replace the contents. In that case, TIBCO Designer first completely empties the existing repository instance and then imports all information from the file.

TIBCO Designer Palette Reference

Managing Repository Content 251

5. Click No if you want to partially replace the existing repository. In that case, the TIBCO Designer prompts you whether duplicates should be replaced: If there are duplicate repository directories, you can replace or reject a whole directory and its contents. If there are duplicate repository objects, you can replace or reject the object and its contents. You can also use the Import icon to import a repository.

Adding TIBCO Repository Directories and Objects


In almost all cases, you do not modify a repository directly. Instead, you modify a project, then save the project as a repository. In some situations, however, modifying the repository directly might be appropriate. You do so using the Repository palette. To add a directory and an object to a repository, follow these steps: 1. Browse the repository to select the directory for which you want to add a subdirectory. 2. From the repository palette, drag a directory resource template into the design panel. 3. Rename the directory, then double-click it to open it. 4. From the repository palette, drag an object resource template into the design palette. You are adding an object to the newly created directory. 5. Rename the object. 6. If you want to add attributes to the object, you must first turn on the advanced editing and browsing options. See Advanced Repository Management, page 251. You cannot delete the root node or add a root node. All repositories have exactly one root node and directories and objects can only be added below that root node.

Advanced Repository Management


The Advanced tab specifies information for both local and remote repositories.

TIBCO Designer Palette Reference

252

| Chapter 5

Repository Palette

You can specify a user and password, and turn on advanced browsing and editing to access and change attribute values. Follow these steps: 1. Drag a Repository Finder into the design panel. 2. With the Repository Finder selected, click the Advanced tab in the configuration panel.

User

Name of the user that accesses the repository. The repository needs this information for keeping track of who currently uses a repository. Password to access the repository. This might be needed if the repository is stored in a database. If checked, you can view attribute and property information. The default, unchecked, is usually appropriate because low-level work should be done using the project view. If checked, you can edit attribute and property information. The default, unchecked, is usually appropriate because low-level work should be done using the project view.

Password Advanced Browsing

Advanced Editing

TIBCO Designer Palette Reference

Managing Repository Content 253

Viewing Attributes of Repository Objects


You can use repository finder to view the contents of repository objects. Follow these steps: 1. Turn on Advanced Browsing. 2. Select an object you want to view. 3. Click the Advanced tab in the configuration panel.

Object Attribute

TIBCO Designer displays the object and its attributes. Attributes usually have names, attribute types, and other properties. The value of each attribute is either a string or a global name. In the example above, the attribute with the name statusMsg has an attributeType that is a global name.

Modifying Attributes Inside Repository Objects


This section explains how to modify attributes of repository objects. In almost all cases, it is preferable to modify the attributes as part of the resources in a project. However, if you are working with an adapter that has custom objects, you may need to use the Repository Finder capabilities. Terminology Keep in mind the following terminology used to describe repository content. An object contains attributes. An attribute is a named association list. As a result, you add an association list to an object, then name it and have an attribute. The name:value pairs inside the association lists are called properties of the attribute. For example, name, attributeType, and isKey are properties of the attribute. Custom properties are also allowed.

TIBCO Designer Palette Reference

254

| Chapter 5

Repository Palette

Steps To modify an attribute, follow these steps: 1. Locate the repository in which you want to make changes. See Introduction on page 234. 2. In the configuration panel, click Advanced, then select the Advanced Browsing and Advanced Editing check box and click Apply. 3. In the project tree panel, find the repository object in which you want to add or change attributes. 4. When you select the object the object is displayed in the configuration panel edit buttons for the configuration panel are displayed at the bottom of the panel (see below) you can select the named association lists and their properties 5. To change the value of a property inside an attribute, triple-click the property to select it, then type the new value into the edit field that opens. In the screen shot below, the defaultStartup property of the startup attribute is being edited.

TIBCO Designer Palette Reference

Managing Repository Content 255

6. If you want to add a new association list to an object or an association list, or add a property to an association list, use one of the following icons (see Table 14 for explanation):

up/down association list binary reference string delete load file into a byte array (file => byte array) save the value of a binary property into a file (byte array => file)

Table 14 Icons in Extended Properties Editor Icon Association list icon Binary icon Description Click to add an association list below the current location. Click the binary icon to add a property a byte array stored in a file. After youve added the binary, you can click the file => byte array or byte array => file icons Loads a file into a byte array. Copies a byte array into a file (on disk) and saves the file. It does not remove the byte array value from the binary property. Add a reference to another object inside the repository. You can use this, for example, to point to a session you created in the public area of the project. The patch always starts with /tibco, for example,
/tibco/public/session/.../mySession.

File => byte array Byte array => File

Reference Icon

TIBCO Designer Palette Reference

256

| Chapter 5

Repository Palette

Table 14 Icons in Extended Properties Editor Icon String Description Adds a string property to the current association list.

You must click Commit to save changes before selecting another resource or your changes are lost. You can click Rollback to undo changes since the last commit. You can also move properties by clicking the up/down icon, and delete them by clicking the delete icon.

TIBCO Designer Palette Reference

Menus and Toolbar Icons 257

Menus and Toolbar Icons


This section is a reference to menu items and toolbar items that are available when you work with Repository Finder, or with items inside it. Other menus and icons are discussed in the TIBCO Designer Users Guide, available if you select Help > Designer Help, or in the documentation for other TIBCO products you installed. Repository Server Menu Repository Instance Menu Toolbar Icons

Repository Server Menu


When you select a Repository Server or the Local File Repositories icon, the following items become available: What is this Create Repository Instance Start Repository Instance Stop Repository Server Add Resource Displays online help. Prompts you for information about the repository instance you wish to create. See Creating Repository Instances on page 243. Prompts you for the name of an instance to start. (Not available from Local File Repositories icon). Stops the selected (Not available from Local File Repositories icon). Allows you to add repository instances.

Repository Instance Menu


When you select a repository instance, the following menu items become available:

What is this

Displays online help.

TIBCO Designer Palette Reference

258

| Chapter 5

Repository Palette

Stop Repository Instance

Stops this repository instance so it is no longer visible as one of the instances of this server. (Only available for server-based repositories).

Clone Repository Instance Export Repository Instance

Clones a repository instance. See Cloning Repository Instances, page 246. Exports a repository instance. See Exporting an Instance, page 249.

Import Repository Imports a repository instance. See Importing an Instance, Instance page 250. Delete Repository Instance Add Resource Deletes a repository instance. See Deleting Repository Instances, page 247. Adds a resource to the instance.

Toolbar Icons
When you select a repository instance, three icons are added to the toolbar that allow you to perform actions also available from the instances right-button menu. Export to XML FileExports the selected instance to a TIBCO Repository XML file. Clicking this button does the same things as using the TIBCO Repository RepoExport command-line tool. The file is saved in generic XML format (not AEXML format). Import file into RepositoryDisplays a window that lets you choose an XML file to import into the currently selected repository instance. You can import repositories in generic or AEXML format. Clone selected RepositoryCreates a copy of the selected repository.

TIBCO Designer Palette Reference

| 259

Index

A
adapter endpoints 209 adapter schemas palette 212 adapters configuring 207 creating 143 Add Module button 101 Add Namespace button 54 adding 15 adding adapters 143 adding class fields 214 adding class union members 223 adding color to tags 128 adding new XML resource 15 adding operations 216 adding scalar union members 224 adding sequence union members 224 adding unions as union members 223 Advanced folder 192 Advanced pane Notations tab 64 Advanced panel 62, 102 advanced repository management 251 advisories 190 Advisories folder 194 aliases for attributes 128 aliases for elements 128 all content models 35 all occurrence indicators 34 appendmode attribute 175 association lists 253 associations 225 types 226

attributes 37, 147, 213, 253 adding 213 aliases 128 declaring 50 hiding 127 inserting 121 promoted 129 Attributes panel 49, 92

B
blue ellipsis icon 134 building content model with reusables 90 building content models content model editor 48, 90 occurrence and sequence indicators 44, 86 building documents 137

C
choice 33 class 213, 216 adding attributes 213 class fields 214 class reference 223 client service 163 clients 200 cloning repository instances 246 cmname attribute 180 cmqname attribute 182 collapsing elements 127 collapsing markup view 134 color adding to tags 128
TIBCO Designer Palette Reference

260

| Index
color options 128 comments 123 inserting 121 common table columns 25, 26 completed content model 45 Configuration panel 37, 81, 119 Configuration tab 155 configuring standard adapters 207 Constraints tab 60 content hints 131 as tool tip 124 content model diagram 32, 48 editor 48, 90 example 45, 88 specifying data type 35 Content model diagram 35 content model diagram 32, 92 modifying display 35 navigating 35 content model editor 48, 90 content panel 120, 137 edit area 130 tag area 121 control pools JDBC 188 MTS 190 Null 189 ODBC 189 XA 190 creating internal parameter entities 103 creating local repository instances 243 creating repository instances 243, 244 custom adapters 208 custom log sinks 146 customer support xiv customized view tag area 125 customizing documents 138 data type creating 65 specifying in content model panel 35 data types panel 65 declaring attributes 50 defaulttimelimit attribute 181 defining external general entities 106 defining external unparsed entities 106 defining internal general entities 105 deleting items 148 deleting repository instances 247 directories 241, 251 document-building options 138 documents customizing 138 modifying structure 123 navigating 124 populating 138 DTD 81 DTD example, examples DTD 112

E
element list 83 element/type list 40 element/types list 40 elements aliases 128 collapsing 127 expanding 127 hiding s 127 inserting 121 promoted 129 elements panel list 83 elements/types list 39 endpoints 209 overview 195 entry constraints 124 enumeration tab 61, 102 Properties pane 102 Errors panel 109, 134

D
daemon attribute 179, 180, 182, 183

TIBCO Designer Palette Reference

Index 261

example building simple schema 69 defining and deriving complex and simple types 75 examples building a content model 45, 87 creating a schema 18 creating a user-derived data type 66 creating or editing an attribute 50, 97 including declarations from another schema 56, 101 manufacturer schema 70 referencing an element from another namespace 54 exception parameters 221 exceptions folder 219 expanding elements 127 expanding markup view 134 exporting and importing repository instances 249 exporting instances 249 exporting repository instances 247, 249 exporting to XML 258 external general entity 105, 106 external parameter entities 104 external unparsed entity 106

generic adapter configuration 143 getting started instance resources 20 schema and DTD resources 17 XML tools palette 15 graphical view schema 74, 116

H
hawk sink 177 hiding attributes 127 hiding elements 127

I
identifying data entry constraints 124 importing an instance 250 importing namespace 54 importing repository instances 247, 249 importing XML files 258 Insert box 121, 122 inserting attributes 121 elements 121 inserting comments 121, 123 inserting processing instructions 121 instance 118 instance editing environment 21 instance resources getting started 20 internal general entities 105 internal general entity 105 internal parameter entities 90 internal parameter entity 103 introduction to XML 14 item right-button menu 126

F
factory bar 122 fields type class 214 type scalar 215 type sequence 215 type union 215 file sink 175 folders Advanced 192 Advisories 194 Log Sinks 193

G
general entities 105 general entity 104, 105, 106

TIBCO Designer Palette Reference

262

| Index
J
JDBC control pool 188 navigating content model diagram 35 navigating the document 124 Navigator bar 124 network attribute 179, 180, 182, 183 network sink 176 new data type 65 new resource 15 Notations tab 63 Advanced pane 64 Notes panel 67, 109 null control pool 189

L
ledgerfile attribute 181 legacy adapters 208 Load URL 194 local instance 240 local repository instances 243 locating repositories 235 log sinks custom 146 folder 193 overview 174 logging tab 155

O
objects 241, 251 occurrence indicators 34, 44, 86 ODBC control pool 189 operation exceptions folder 219 operation parameter folder 218 operation parameters 218 operations 216, 217 defining 218 exception parameters 221 parameters 218 optional and repeatable set of choices 34 Overview panel 52, 99 Overview tree 53, 100 overwriting traces 175

M
manufacturer schema 70 markup format 133 markup view collapsing 134 expanding 134 menu options 27 metadata 241 mixed content model 34 modifying attributes 253 modifying display of content model diagram 35 modifying document structure 123 monitoring tab 157 MTS control pool 190 multiplicity 226

P
panels 23 Parameter entities tab 103 parameter folder 218 parameters type class 219 type scalar 220 type sequence 219 type union 220 populating documents 138

N
namespace 54 Namespaces tab 62
TIBCO Designer Palette Reference

Index 263

processing instructions 108 inserting 121 projects 234 promoted attributes 129 promoted elements 129 properties 147 Properties pane enumeration tab 102 Properties panel 57, 101 Properties tab 57 publisher services 159 publishers default time limit 181, 183

R
reading the content model diagram 32 referencing complex types in other schemas 80 referencing elements from another namespace 55 referencing parameter entities within a content mode 103 referencing reusable (internal) parameter entities 91 repositories 234 repository directories 251 repository directory 242 repository finder 235 repository instance 241 repository instances cloning 246 creating 243, 244 exporting 247, 249 importing 247, 249 locating 235 starting 248 stopping 248 repository management 251 repository object 242 repository objects 251 viewing 253 repository palette 241 repository server 240

repository servers locating 235 stopping 247 request-response invocation service 163 request-response server 166 requireoldmessages attribute 181 resizing rows to allow for additional promotion 130 resource creating 15 reviewing schema 74, 116 right-button menu 123 row format (default view) 133 RPC class 216 rv publisher 196 rv session 179 rv tx publisher 198 rva session 179 rvcm publisher 197 rvcm session 180 rvcm sessions defaultTimeLimit attribute 181 ledger files 181 rvCmSession attribute 181 rvcmq session 181 rvtx session 184

S
scalar fields 215 scalar reference 224 scalars 221 scheduleractivation attribute 182 schedulerheartbeat attribute 182 schedulerweight attribute 182 schema 36 graphical view 74, 116 reviewing 74, 116 schema and DTD resources getting started 17 Schema menu 39, 82 schema and DTD resources 27 Schema properties panel 67, 109

TIBCO Designer Palette Reference

264

| Index
schemas and tibco designer 209 basics 207 example 210 folder 212 overview 207 selecting a hidden element to show 127 sequence 33 sequence fields 215 sequence indicators 44, 86 sequence reference 224 sequences 225 server service 166 server-based instance 240 servers 202 stopping 247 servers and instances 240 service attribute 179, 180, 181, 183 services client 163 publisher 159 request-response 166 request-response invocation 163 server 166 subscriber 161 sessions 144 sessions folder 193 setting a schema 119 Show as markup 133 Show as Rows 133 siblings displayed on navigator bar 125 simple control pool 190 sinks file sink 175 hawk sink 177 Source panel 68, 111, 135 Source view 75, 116 specifying additional repository information 245 specifying an alias 128 specifying data type in content model panel 35 specifying values for existing properties 148 standard adapter endpoints 209 standard adapters 207 starting repository instances 248 startup tab 156
TIBCO Designer Palette Reference

statistics 37, 81 stdio sink 176 stopping repository instances 248 stopping repository servers 247 subscriber service 161 subscribers 200 support, contacting xiv

T
tag area customized view 125 tags adding color 128 technical support xiv terminology 147, 253 TIBCO Rendezvous 241 timer 203 timers folder 193 toolbar 39, 82, 119 toolbar buttons 26 traces maximum file size 175 number of rollover files 175 overwrite vs. append 175 transaction controls 188 transaction controls folder 193 type right-button menu 126

U
unacknowledged messages 181 understanding file count and file limit 175 union fields 215 union members 223, 224 union reference 223 unions 222, 223 unparsed entity 106

Index 265

V
viewing attributes 253

X
XA control pool 190 XML introduction 14 XML file 258 XML instance editing environment 118 XML instance exercise 136 XML menu 119 XML menu (instance resources) 29 XML resource 15 XML schema exercises 69 XML tools palette getting started 15 XML tools palette resources common table columns 26

TIBCO Designer Palette Reference

266

| Index

TIBCO Designer Palette Reference

Вам также может понравиться