TIBCO Designer™ Palette Reference Software Release 5.6 July 2008

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 User’s Guide OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USER LICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE “LICENSE” FILE(S) OF THE SOFTWARE. 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 ActiveMatrix 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. 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-2008 TIBCO Software Inc. ALL RIGHTS RESERVED. TIBCO Software Inc. Confidential Information

| iii

Contents

Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv How to Contact TIBCO Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15 15 16 17 21 24 26 27 28

TIBCO Designer Palette Reference

iv

| Contents Content Model Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37 37 38 40 40 40 41 49 50 53 58 63 66 68 68 68 69

XML Schema Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Exercise 1: Building a Simple Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Exercise 2: Defining and Deriving Complex and Simple Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 DTD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Configuration Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Schema Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Elements Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 The Element List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 The Content Model Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Attributes Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Overview Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Properties Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Advanced Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Schema Properties Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Errors Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Notes Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Source Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 DTD Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XML Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting a Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Content Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Content Panel: Tag Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TIBCO Designer Palette Reference

119 120 120 120 120 121 122

|

Contents v

Content Panel: Edit Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Errors Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Source Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 XML Instance Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Building Your Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customizing and Populating Your Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

137 137 138 139

Chapter 3 Adapter Resources Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

144 144 145 145 147 147 148 150 150 151 152

Generic Adapter Configuration Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logging Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Startup Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Monitoring Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

156 156 156 157 158

Services Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Publication Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Subscription Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Request-Response Invocation Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Request-Response Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

160 160 162 164 167

Custom Log Sink Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Log Sinks Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . File Sink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . stdio Sink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Network Sink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hawk Sink. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Roles to Sinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

170 170 171 172 172 173 173

Sessions Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RV Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RVA Session. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RVCM Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RVCMQ Session. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RVTX Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

174 175 175 176 177 179

TIBCO Designer Palette Reference

vi

| Contents JMS Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Transaction Control and Advisory Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Transaction Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Advisories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Folder Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adapter Services Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Advanced Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Log Sinks Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sessions Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Timers Folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transaction Controls Folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Advisories Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Metadata URLs Folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

187 187 188 188 189 189 189 189 190 190

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 191 195 196 198 199 199

Chapter 4 Adapter Schema Palette. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

202 202 202 203 203 205 206

TIBCO Designer Schema Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AESchemas Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adapter Schemas Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining a Class with Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining a Class with Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scalars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Associations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

208 208 208 209 209 212 213 217 218 221 221

Schema Resource Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 TIBCO Designer Palette Reference

|

Contents vii

Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scalar Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Union Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sequence Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generic Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generic Scalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generic Union. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generic Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Class Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scalar Field. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Union Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sequence Field. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

223 223 224 224 224 225 225 225 226 226 226 226

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 228 228

Chapter 5 Repository Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Projects and Repositories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Showing the Repository Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Repository Finder Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Repository Finder to Locate Repositories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

230 230 231 231 231

Navigating the Repository Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Repository Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

239 239 241 242 243 243 244

Managing Repository Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exporting and Importing Repository Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding TIBCO Repository Directories and Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Advanced Repository Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Viewing Attributes of Repository Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modifying Attributes Inside Repository Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

245 245 247 247 249 249

Menus and Toolbar Icons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 TIBCO Designer Palette Reference

viii

| Contents Repository Server Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Repository Instance Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Toolbar Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

TIBCO Designer Palette Reference

| ix

Figures

Figure 1

Adding an XML Resource to your project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Figure 2

Editing environment for Schema and DTD resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Figure 3

Instance editing environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Figure 4

Common table columns used by XML Tools palette resources . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Figure 5

Content Model Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Figure 6

Diagram for a sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Figure 7

Diagram for a choice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Figure 8

Optional and repeatable set of choices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Figure 9

All occurrence indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Figure 10

Mixed content model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Figure 11

All content model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Figure 12

Element/Types panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Figure 13

Element/Type list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Figure 14

Completed content model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Figure 15

Content Model Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Figure 16

Attributes panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Figure 17

Overview panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Figure 18

Referencing an element from another namespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Figure 19

Notations tab of the advanced pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Figure 20

Creating a new simple type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Figure 21

Graphical view of the schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Figure 22

Referencing a complex type in another schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Figure 23

A completed content model for a B o o k element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Figure 24

Content model editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Figure 25

Referencing a reusable (internal parameter entity) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Figure 26

Attributes panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Figure 27

Overview panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Figure 28

Enumerations tab of the properties pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 TIBCO Designer Palette Reference

x

|

Figures

Figure 29

Creating an internal parameter entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

Figure 30

Referencing a parameter entity within a content mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

Figure 31

Listing of external parameter entities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

Figure 32

Defining internal general entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Figure 33

Defining an external general entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

Figure 34

Defining an external unparsed entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

Figure 35

Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

Figure 36

Graphical view of the schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

Figure 37

XML instance editing environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

Figure 38

Content panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

Figure 39

Insert box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

Figure 40

Factory bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

Figure 41

Inserting a comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

Figure 42

Right button menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

Figure 43

Content hint as tool tip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

Figure 44

Navigator bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

Figure 45

Siblings displayed on navigator bar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

Figure 46

Item and type level (right-button) menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

Figure 47

Selecting a hidden element to show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

Figure 48

Specifying an alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Figure 49

Color options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Figure 50

Promoted elements and attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

Figure 51

Resizing rows to allow for additional promotion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

Figure 52

Content hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

Figure 53

Row format (the default view) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

Figure 54

Markup format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

Figure 55

Blue ellipsis icon for collapsing or expanding markup view. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

Figure 56

Content panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

Figure 57

Document-building options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

Figure 58

TIBCO Designer Generic Adapter Configuration Default Folders . . . . . . . . . . . . . . . . . . . . . . . . . 188

TIBCO Designer Palette Reference

| xi

Tables

Table 1

General Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv

Table 2

Syntax Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi

Table 3

XML Tools panels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Table 4

Toolbar buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Table 5

Schema menu options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Table 6

XML menu options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Table 7

Occurrence indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Table 8

Sequence indicators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Table 9

Properties tab fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Table 10

Occurrence indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Table 11

Sequence indicators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Table 12

Datatypes within a DTD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

Table 13

Occurrence indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

Table 14

Sequence indicators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

Table 15

Cipher suite list. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

Table 16

Icons in Extended Properties Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

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



Typographical Conventions, page xv



How to Contact TIBCO Support, page xvii

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 d o c 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.

TIBCO Designer Palette Reference

|

Preface xv

Typographical Conventions The following typographical conventions are used in this manual. Table 1 General Typographical Conventions Convention

Use

code font

Code font identifies commands, code examples, filenames, pathnames, and output displayed in a command window. For example: Use M y C o m m a n d to start the foo process.

bold code

Bold code font is used in the following ways:

font



In procedures, to indicate what a user types. For example: Type a d m i n .



In large code samples, to indicate the parts of the sample that are of particular interest.



In command syntax, to indicate the default parameter for a command. For example, if no parameter is specified, M y C o m m a n d is enabled: MyCommand [e n a b l e | disable]

italic font

Key combinations

Italic font is used in the following ways: •

To indicate a document title. For example: See TIBCO ActiveMatrix BusinessWorks Concepts.



To introduce new terms For example: A portal page may contain several portlets. Portlets are mini-applications that run in a portal.



To indicate a variable in a command or code syntax that you must replace. For example: M y C o m m a n d pathname

Key name separated by a plus sign indicate keys pressed simultaneously. For example: Ctrl+C. Key names separated by a comma and space indicate keys pressed one after the other. For example: Esc, Ctrl+Q. The note icon indicates information that is of special interest or importance, for example, an additional action required only in certain circumstances. The tip icon indicates an idea that could be useful, for example, a way to apply the information provided in the current section to achieve a specific result.

TIBCO Designer Palette Reference

xvi

| Typographical Conventions Table 1 General Typographical Conventions (Cont’d) Convention

Use The warning icon indicates the potential for a damaging situation, for example, data loss or corruption if certain steps are taken or not taken.

Table 2 Syntax Typographical Conventions Convention

Use

[ ]

An optional item in a command or code syntax. For example: MyCommand [optional_parameter] required_parameter

|

A logical ’OR’ that separates multiple items of which only one may be chosen. For example, you can select only one of the following parameters: MyCommand para1 | param2 | param3

{ }

A logical group of items in a command. Other syntax notations may appear within each logical group. For example, the following command requires two parameters, which can be either the pair p a r a m 1 and p a r a m 2 , or the pair p a r a m 3 and p a r a m 4 . MyCommand {param1 param2} | {param3 param4}

In the next example, the command requires two parameters. The first parameter can be either p a r a m 1 or p a r a m 2 and the second can be either p a r a m 3 or p a r a m 4 : MyCommand {param1 | param2} {param3 | param4}

In the next example, the command can accept either two or three parameters. The first parameter must be p a r a m 1 . You can optionally include p a r a m 2 as the second parameter. And the last parameter is either p a r a m 3 or p a r a m 4 . MyCommand param1 [param2] {param3 | param4}

TIBCO Designer Palette Reference

|

Preface xvii

How to Contact TIBCO Support For comments or problems with this manual or the software it addresses, please contact TIBCO Support as follows. •

For an overview of TIBCO Support, and information about getting started with TIBCO Support, visit this site: http://www.tibco.com/services/support



If you already have a valid maintenance or support contract, visit this site: https://support.tibco.com Entry to this site requires a user name and password. If you do not have a user name, you can request one.

TIBCO Designer Palette Reference

|

xviii How to Contact TIBCO Support

TIBCO Designer Palette Reference

|1 Chapter 1

General Palette

The G e n e r a l 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

2

| 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 ActiveMatrix BusinessWorks or a custom adapter, those products add palettes and 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 . j a r 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, TIBCO Designer uses aliases to specify file locations. When including a file, an alias is created that specifies the file’s 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 package all the referenced files when their enterprise archive file is built. Because AliasLibraries reference files via a reference, you must ensure that the machine where the enterprise archive file is generated can access all externally referenced files. See Creating an AliasLibrary on page 95 in TIBCO Designer User’s Guide for more information.

TIBCO Designer Palette Reference

4

| 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 6, Creating an Archive for Deployment in TIBCO Designer User’s 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 F o l d e r resource in the G e n e r a l palette, displayed with a multi-folder icon, become folders in the file system.



Other folders, such as the A d a p t e r S e r v i c e s 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

6

| Chapter 1

General Palette

Generic Image Resource The G e n e r i c I m a g e r e s o u r c e allows you to associate a custom image with a predefined resource. This is useful, for example, if you have configured a G e n e r i c A d a p t e r C o n f i g u r a t i o n and you wish to represent it with a custom image. To add an image to a project, follow these steps: 1. With the G e n e r a l palette displayed in the palette panel, drag a G e n e r i c I m a g e 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 P r e v i e w 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 I c o n Browse and select the icon.

TIBCO Designer Palette Reference

Reference

field. Click

|

Identity 7

Identity The Identity resource encapsulates 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 want to use. The identity certificate location, its type, and password can be specified as global variables. Resources referencing an identity must use the same identity type because this is selectable from a pop-up and does not allow global variables.

Certificate/Private Key Identity Use this option if the private key and the certificate are in two separate files. Name

Name of this identity resource.

Description

Optional description.

Certificate URL

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.

Key URL

Location of the private key file associated with the certificate.

Key Password

Password used for private key.

Identity File Use this option of the certificate includes the private key information in the same file. Name

Name of this identity resource.

Description

Optional description.

URL

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.

TIBCO Designer Palette Reference

8

| Chapter 1

General Palette

File Type

Choose the certificate from the pop-up.

Password

Password for the certificate.

Username/ Password Use this option if you want to use a username and password for authentication and don’t want to use a certificate. Supply information in the following fields: Name

Name of this identity resource.

Description

Optional description.

Username

Name of the user for this identity.

Password

Password for the user for this identity.

TIBCO Designer Palette Reference

|

LibraryBuilder 9

LibraryBuilder The L i b r a r y B u i l d e r resource is used to build a design-time library, which allows resources you have defined in one project to be used in other projects. This allows you to create shareable resources once and 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. See Creating a Design-time Library on page 98 in TIBCO Designer User’s 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 P r o j e c t palette mode. 2. Drag a T a s k

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 T e x t D o c u m e n t 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 T e x t and the text.

TIBCO Designer Palette Reference

Document,

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

| 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 37



XML Schema Exercises, page 70



DTD, page 82



DTD Exercise, page 113



Instance, page 119



XML Instance Exercise, page 137

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 ActiveMatrix BusinessWorks activities have Input Editor or Output Editor tabs where you can use a reference to a defined schema. TIBCO provides partial support for XML Schema redefines in design-time editing of XSD schemas and runtime processing of XML. There are some known issues with complex, multi-level usage of this feature of the schema language that manifest in the TIBCO ActiveMatrix BusinessWorks Mapper activity and in runtime validation of data. Given the industry trend away from this XSDL feature, TIBCO has no plans to further enhance support. It is recommended that schema authors use other features of the language to create similar patterns of inheritance and restriction, such as type extension, substitution groups, and so on. Please contact TIBCO Support if you need help with schema design alternatives.

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 you’re in palette mode by clicking the switch palette mode icon. — Choose the Palettes > General > XML Tools menu and make sure X M L T o o l s is checked.

TIBCO Designer Palette Reference

16

| Chapter 2

XML Tools Palette

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 TIBCO Designer User’s Guide. 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

TIBCO Designer Palette Reference

|

Getting Started with the XML Tools Palette 17



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



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.

TIBCO Designer Palette Reference

18

| Chapter 2

XML Tools Palette

Figure 2 Editing environment for Schema and DTD resources

Content Model Diagram

Elements/Types Panel

Properties Panel

Configuration Panel

When you begin work on a new XML Schema or DTD, most of your work is 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. Example: Creating a Schema For example, to create an element called B o o k for a schema describing the structure of a book (which may contain elements such as a t i t l e , a u t h o r, c h a p t e r s , s e c t i o n s , g l o s s a r y, i n d e x , and so on), follow these steps: 1. Drag a S c h e m a 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 E l e m e n t column and replace r o o t with Book. Names must begin with a letter and may contain numbers, underscores, dashes, and full stops -- typically periods. 3. Ignore the D e r i v e s F r o m column for now as this declaration will not be derived from an existing complex type definition.

TIBCO Designer Palette Reference

|

Getting Started with the XML Tools Palette 19

4. Tab to the C o n t e n t column and select the appropriate content type from the C o n t e n t T y p e button. In this example, the content for B o o k will contain other elements (such as C h a p t e r ), so select E l e m e n t s .

5. Tab to the C o n t e n t M o d e l column and type in the content model of the book. A simple content model for B o o k might look like the one shown below. See

TIBCO Designer Palette Reference

20

| Chapter 2

XML Tools Palette

Elements/Types Panel on page 40 and Example: Building a Content Model on page 46, 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 C r e a t e

new elements as Locally defined

and click Create.

By default, new elements are declared to have x s : s t r i n g 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 t i t l e that appears within a b o o k element and another local element named t i t l e that appears within a m o r t g a g e 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

|

Getting Started with the XML Tools Palette 21

7. Click Create to create the elements. 8. Tab to the A t t r i b u t e s column for the element's row and type in attributes for the element. For example, the element C h a p t e r 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 x s : s t r i n g . These attributes can be seen and modified in the Attributes Panel. See Attributes Panel on page 50 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 I n s t a n c e resources is provided in Table 3 on page 24. For step-by-step XML Schema building exercises, see XML Schema Exercises on page 70. To build a sample DTD, see DTD Exercise on page 113.

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

22

| Chapter 2

XML Tools Palette



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

|

Getting Started with the XML Tools Palette 23

(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 132. 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

24

| Chapter 2

XML Tools Palette

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 new text

insert as sibling

insert new comment

insert as parent

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 I n s t a n c e resources is provided in Table 3 on page 24. A detailed, step-by-step XML instance building exercise is included at the end of the Instance chapter. See XML Instance Exercise on page 137.

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 3. Table 3 XML Tools panels Panel

Resource

Description

Configuration

All

The configuration panel is used for setting the XML resource name. For more information on the configuration panel, see:

TIBCO Designer Palette Reference



Schema Properties Panel, page 38 (Schema)



Configuration Panel, page 82 (DTD)



Configuration Panel, page 120 (Instance)

|

Getting Started with the XML Tools Palette 25

Table 3 XML Tools panels Panel

Resource

Description

Source

All

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

Elements/Types

All

Schema and DTD



Source Panel, page 69 (Schema)



Source Panel, page 112 (DTD)



Source Panel, page 136 (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 68 (Schema)



Errors Panel, page 110(DTD)



Errors Panel, page 135 (Instance)

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 40 (Schema)



Elements Panel, page 84 (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 I n s t a n c e 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 121.

Attributes

Schema and DTD

The attributes panel is used to view, create, and edit attribute type declarations. For more information on the attributes panel, see: •

Attributes Panel, page 50 (Schema)



Attributes Panel, page 93 (DTD)

TIBCO Designer Palette Reference

26

| Chapter 2

XML Tools Palette

Table 3 XML Tools panels Panel

Resource

Description

Overview

Schema and DTD

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

Advanced

Simple Types

Schema and DTD

Schema and DTD

Schema



Overview Panel, page 53 (Schema)



Overview Panel, page 100 (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 58 (Schema)



Properties Panel, page 102 (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 63 (Schema)



Advanced Panel, page 103 (DTD)

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: •

Component Doc or Notes

Schema and DTD

Simple Types Panel, page 66

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 68 (Schema)



Notes Panel, page 110 (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

|

Getting Started with the XML Tools Palette 27

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 4. Table 4 Toolbar buttons Toolbar Button

Resource

Function

All

Checks the resource for errors and reports the results in the errors panel.

All

Opens the source panel. If the button is dimmed, the panel is already open.

Schema and DTD

Opens and closes the overview panel.

Schema and DTD

Opens and closes the properties panel.

TIBCO Designer Palette Reference

28

| Chapter 2

XML Tools Palette

Table 4 Toolbar buttons Toolbar Button

Resource

Function

Schema and DTD

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

Opens the simple types panel. If the button is dimmed, the panel is already open.

Schema and DTD

Opens the attributes panel. If the button is dimmed, the panel is already open.

Instance

Opens the content panel.

Instance

Allows you to associate a schema from your project with your instance document.

Instance

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

|

Getting Started with the XML Tools Palette 29

Table 5 describes the Schema menu. Table 5 Schema menu options Menu

Option

Description

Schema > View

Schema Properties

Opens the schema properties panel.

Schema > View

Overview

Opens or closes the overview panel.

Schema > View

Properties

Opens or closes the properties panel.

Schema > View

Element/Types

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

Attributes

Opens the attributes panel. If the option is dimmed, the panel is already open.

Schema > View

Advanced

Opens the advanced panel. If the option is dimmed, the panel is already open.

Schema > View

Source

Opens the source panel. If the option is dimmed, the panel is already open.

Schema > View

Notes or Component Doc

Opens or closes the notes or component doc panel.

Schema > View

Errors or Validation

Opens or closes the errors or validation panel.

Schema > View

Zoom In

Makes the items in the content model diagram larger.

Schema > View

Zoom Out

Makes the items in the content model diagram smaller.

Schema > View

Auto-Update Diagram

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

30

| Chapter 2

XML Tools Palette

Table 5 Schema menu options Menu

Option

Description

Schema > View

Diagram Attributes

Displays or hides attributes in the content model diagram.

Schema > View

Expand

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.

Schema > Tools

Check For Errors

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.)

Schema > Tools

Define Reusable

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 91 (DTD).

Schema > Tools

Edit Reusable

Provides options for editing existing reusable pieces of declarations or text.

Schema > Tools or Edit

Find

Enables you to search for text in the active window. Select this option for the initial search.

Schema > Tools or Edit

Find Again

Searches for the next occurrence of the text previously entered in the Find dialog box.

Schema > Tools or Edit

Replace

Used to search and replace text in the active window. Replace is used for the initial search-and-replace.

Schema > Tools or Edit

Replace Again

Searches and replaces the next occurrence of the text previously entered in the Replace dialog box.

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

|

Getting Started with the XML Tools Palette 31



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 6 describes the XML menu. Table 6 XML menu options Menu

Option

Description

XML > Tools

Insert

Enables you to insert an element, attribute, comment, or processing instruction.

XML > Tools

Find

Enables you to search for text in the active window. Select this option for the initial search.

XML > Tools

Find Again

Searches for the next occurrence of the text previously entered in the Find dialog box.

XML > Tools

Replace

Used to search and replace text in the active window. Replace is used for the initial search-and-replace.

XML > Tools

Replace Again

Searches and replaces the next occurrence of the text previously entered in the Replace dialog box.

XML > View

Navigator

Toggles the navigator bar on or off. If a check appears to the left of the menu item, the Context bar is turned on.

XML > View

Factory

Toggles the factory bar on or off. If a check appears to the left of the menu item, the factory bar is turned on.

XML > View

Errors

Opens or closes the errors panel that displays errors found when validating a document against a schema.

XML > View

Markup Icons

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.

TIBCO Designer Palette Reference

32

| Chapter 2

XML Tools Palette

Table 6 XML menu options Menu

Option

Description

XML > View

Content Hints

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.

XML > View

Default Attributes

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.

XML > View

Content

Displays the content panel. If a check appears to the left of the menu item, the content panel is displayed.

XML > View

Source

Displays the source panel. If a check appears to the left of the menu item, the source panel is displayed.

XML > View

Align Labels/Indent Labels

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).

XML > Presentation

New

Creates a new presentation. Returns the content view to its default environment to allow new customizations from scratch.

XML > Presentation

Save As

Allows you to name and save the current presentation.

XML > Presentation

(Presentation Listing)

A listing of the previously defined presentations. The presentation currently displayed is indicated by a check mark.

XML > Presentation

Set Default

Sets the presentation selected in the presentation listing as the presentation to appear by default when its associated schema is initially set.

XML > Presentation

Remove

Removes the selected presentation.

TIBCO Designer Palette Reference

|

Getting Started with the XML Tools Palette 33

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 element’s 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

34

| Chapter 2

XML Tools Palette

If an element’s 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 element’s children, click once on the parent element’s 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 s e q u e n c e . 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 c h o i c e s with the content model ( c h o i c e 1 | c h o i c e 2 | c h o i c e 3 ) . 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 m u l t i c h o i c e element has the content model (choice1 | choice2 | choice3)*.

TIBCO Designer Palette Reference

|

Getting Started with the XML Tools Palette 35

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 p o s s i b i l i t i e s element whose content model contains all the occurrence indicators: ( s e q 1 , c h o i c e 1 ? , 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 m i x e d element may contain both text and elements. Figure 10 Mixed content model

For Schema resources, if a content model is defined as a l l , 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 a l l content model cannot be repeatable.) Figure 11 illustrates the a l l content model ( a l l 1 & a l l 2 & a l l 3 ) , represented with an arc.

TIBCO Designer Palette Reference

36

| Chapter 2

XML Tools Palette

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 G o t o E l e m e n t N a m e 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 — element’s 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

|

Schema 37

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 70.

Configuration Tab The C o n f i g u r a t i o n tab has the following fields. Field

Description

Name

Name of the file when persisted. The * . x s d suffix will be automatically added.

Target Namespace

Namespace for your declarations and definitions. See Target Namespace Tab on page 38.

TIBCO Designer Palette Reference

38

| Chapter 2

XML Tools Palette

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 T a r g e t

Namespace

tab has the following fields.

Field

Description

Schema Name

Name of the file when persisted. The * . x s d suffix will be automatically added.

Target Prefix

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.

Target Namespace

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.

Import Reserved XML Namespace

Check this field to import the reserved XML namespace, enabling the use of the attributes defined within the XML namespace (x m l : l a n g , x m l : s p a c e , or x m l : b a s e ).

Schema Attributes Tab The S c h e m a A t t r i b u t e s tab is used to specify schema-level properties (specifically, attributes of the s c h e m a element that control how the schema’s components can be used within the schema or within XML instance documents.) Because these attributes serve very specific purposes, the fields within the A t t r i b u t e s tab typically do not need to be edited. Field

Description

elementFormDefault

By default, the e l e m e n t F o r m D e f a u l t attribute of the element takes the value q u a l i f i e d . Thus, you must declare top-level elements to be associated with a namespace in the instance document. schema

TIBCO Designer Palette Reference

|

Schema 39

Field

Description

attributeFormDefault

By default, the a t t r i b u t e F o r m D e f a u l t attribute of the s c h e m a element takes the value u n q u a l i f i e d . Thus, unless you specify otherwise, only globally declared attributes can be associated with a namespace in the instance document.

blockDefault

Use the b l o c k D e f a u l t attribute of the s c h e m a element to control whether types can be replaced by their derived types in instance documents. The b l o c k D e f a u l t 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 #a l l to prevent any type replacement by derived types

finalDefault

The f i n a l D e f a u l t attribute of the s c h e m a 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.

id

The i d attribute on the s c h e m a element can be used to apply an identifier value to your schema. The value you give for i d must be of type I D , which requires an NCName.

version

The v e r s i o n attribute on the s c h e m a element can be used to apply a version value to your schema.

The settings in the S c h e m a A t t r i b u t e s tab are universal, controlling all of the schema’s components. To specify similar properties for an individual component, use the P r o p e r t i e s tab of the properties panel. See Properties Tab, page 58. Schema Documentation Tab This tab displays an edit area where you can add schema level documentation for your schema.

TIBCO Designer Palette Reference

40

| Chapter 2

XML Tools Palette

Schema Statistics Tab The Schema S t a t i s t i c s tab is not editable. The tab displays the number of times a schema component type is used. The tab has the following fields. Field

Description

Element Type

Number of element declarations.

Complex Types

Number of complex type definitions.

Simple Types

Number of user-derived data type definitions.

Attributes

Number of attribute declarations

Attribute Groups

Number of attribute group definitions.

Model Groups

Number of model group definitions.

Notations

Number of notation declarations.

Includes

Number of includes declarations.

Imports

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 27.

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 5 on page 29.

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

|

Schema 41

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

42

| Chapter 2

XML Tools Palette

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

Description

Row Selector/ Error Indicator

This column allows you to modify the row and detect errors in the declaration. See Common Columns In Tables on page 26 for more information about this column.

Included Document Indicator

This column indicates whether the declaration comes from a file or from an external schema. See Common Columns In Tables on page 26 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.

Element/ Complex Type

This column is labelled as either E l e m e n t or C o m p l e x T y p e depending on the type of declaration indicated in the D e c l a r a t i o n T y p e column for the selected row. A new element or complex type can be created by clicking on a blank row under the E l e m e n t / C o m p l e x T y p e column, and then entering a name. To edit an element or complex type name, click on an existing name in the E l e m e n t / C o m p l e x T y p e 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

TIBCO Designer Palette Reference

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 C o n t e n t M o d e l column to specify how the new complex type should be derived from the existing one.

|

Schema 43

Column

Description

Content

The content column is used to specify the type of content model to be created. When the user tabs to this column, a C o n t e n t T y p e button appears, providing a menu of the following choices. •

Any



E m p t y — 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.



M i x e d — 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 any combination of elements and/or character data (text).

— The content model contains elements

only. •

— The content is either a simple type (such as or x s : f l o a t ) or a named complex type. Typed

xs:string, xs:integer,

TIBCO Designer Palette Reference

44

| Chapter 2

XML Tools Palette

Column

Description

Content Model/Data Type

The C o n t e n t M o d e l / D a t a T y p e 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 C o n t e n t M o d e l or D a t a T y p e , depending on the content type set in the C o n t e n t column.) Users who are comfortable with occurrence and sequence indicator syntax can enter element content models directly by typing them in the C o n t e n t M o d e l 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 45 for more information. The I n s e r t button provides a drop-down menu that differs depending on whether the content model may include elements or data. The I n s e r t 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 46 for more information. For a description of XML Schema’s built-in data types, see http://www.w3.org/TR/xmlschema-2/#built-in-dataty pes

Attributes

The A t t r i b u t e s 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 x s : s t r i n g and with no constraints (The declaration can be further refined in the attributes panel at any time. See Attributes Panel on page 50 for more information.) When the user tabs to an A t t r i b u t e s field, an I n s e r t A t t r i b u t e 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

|

Schema 45

Building Content Models: Occurrence and Sequence Indicators For element content models, buttons are also provided for applying sequence and occurrence indicators. Table 7 describes the O c c u r r e n c e indicators. Table 8 describes the S e q u e n c e indicators. Table 7 Occurrence indicators Occurrence Indicator

Meaning

In Content Model column, click...

None

The element must appear once and only once.

(This is the default occurrence).

?

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.

Optional but not Repeatable.

+

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.

Repeatable but not Optional.

*

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.

Repeatable and Optional.

{}

The element (or group of elements) must appear within the specified range of times.

and specify the min. and max. values for the range.

{}

Table 8 Sequence indicators Occurrence Indicator

Meaning

In Content Model column, click...

|

Can be read as 'or'. Creates content model with particles enumerated (only one may be chosen).

Choices

,

Can be read as 'followed by,' requiring that the elements or groups of elements appear in the precise sequence indicated.

Sequence

&

Elements may appear in any order, but may not be repeatable.

All

()

Groups elements, allowing a set of choices or a sequence to be used anywhere that a single element can appear.

()

TIBCO Designer Palette Reference

46

| Chapter 2

XML Tools Palette

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 M E M O element might therefore have the following content model: (To+, From+, CC*, Subject, Body, Typist?)

This declaration requires the M E M O element to contain, in sequence, one or more T o elements, one or more F r o m elements, zero or more C C elements, a single S u b j e c t element, a single B o d y element, and zero or one T y p i s t 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 I n t r o 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. p r e f i x : c o m p o n e n t N a m e ). 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 55.

TIBCO Designer Palette Reference

|

Schema 47

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 T i t l e , an A u t h o r, multiple C h a p t e r s , maybe an A p p e n d i x (or several), perhaps a G l o s s a r y, and possibly an I n d e x . Assuming these elements are already declared (as shown in the next diagram), the steps to build the content model for B o o k appear below:

1. In the row for B o o k , 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, you’ll start with T i t l e ). 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

48

| Chapter 2

XML Tools Palette

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 C h a p t e r in the Content Model, and click on the Repeatable button. This adds a '+' indicator after C h a p t e r, to indicate it is repeatable. Likewise, there may be more than one appendix, so highlight A p p e n d i x and click Repeatable to add a '+' indicator after A p p e n d i x .

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 G l o s s a r y, and click the Optional button. Likewise, highlight I n d e x , 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 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

|

Schema 49



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 C o n t e n t M o d e l E d i t o r dialog box. The C o n t e n t M o d e l E d i t o r 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 33 for more information about the content model diagram.

TIBCO Designer Palette Reference

50

| Chapter 2

XML Tools Palette

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 element’s attribute in the element/type list, you must use the A t t r i b u t e s panel to specify an attribute’s 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

Description

Row Selector/Error Indicator

This column allows you to modify the row and detect errors in the declaration. See Common Columns In Tables on page 26 for more information about this column.

Included Document Indicator

This column indicates whether the declaration comes from the file being edited or from an external schema. See Common Columns In Tables on page 26 for more information.

Attribute Name

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

|

Schema 51

Column

Description

Element

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.

Data Type

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 I n s e r t u s e r - d e f i n e d t y p e 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 66. Note: For a description of XML Schema’s built-in data types, see http://www.w3.org/TR/xmlschema-2/#built-in-dataty pes

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 x s : s t r i n g . Creation of an attribute type within the attributes panel consists of several steps. As an example, let's say we have an element P i c t u r e , with the attribute G r a p h i c s T y p e . G r a p h i c s T y p e 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, G r a p h i c s T y p e will be enumerated (that is, it will only ever have the value of J P G , T I F, or G I F ). Because the values for this enumeration are best defined as strings, the x s : s t r i n g data type is xs:string.

TIBCO Designer Palette Reference

52

| Chapter 2

XML Tools Palette

appropriate. An attribute type declaration, by default, sets the data type for an attribute to x s : s t r i n g . In this example, G r a p h i c s T y p e will be enumerated (that is, it will only ever have the value of J P G , T I F, or G I F ). Because the values for this enumeration are best defined as strings, the x s : s t r i n g data type is appropriate. For example:

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

3. Because G r a p h i c s T y p e can be only be a J P G , T I F, or G I F, 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

|

Schema 53

GraphicsType

to J P G , click the Properties tab and enter JPG in the default

field.

This completes the declaration for G r a p h i c s T y p e .

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

54

| 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

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

|

Schema 55

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 namespace’s 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

56

| Chapter 2

XML Tools Palette

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 panel’s tree and as an entry in the N a m e s p a c e s 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 a d d r e s s element defined in a different namespace is being used within the content model for a s h i p - t o element. Figure 18 Referencing an element from another namespace

The prefix used to associate components with the namespace can be changed in the N a m e s p a c e s tab of the A d v a n c e d 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

|

Schema 57

Include Button The Include option of the overview panel allows you to include the declarations from another of your project’s 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 schema’s 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 schema’s 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 schema’s namespace). If the external schema’s namespace differs from the schema you are building, consider reusing its components through the Include option described above.

TIBCO Designer Palette Reference

58

| Chapter 2

XML Tools Palette

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 61.



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 62.

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 P r o p e r t i e s tab, summarized Table 9 below, vary depending on the selected declaration type. Table 9 Properties tab fields Field

Description

id

Use the id field to add an identifier to the selected component declaration.

abstract

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 x s i : t y p e attribute.

TIBCO Designer Palette Reference

|

Schema 59

Table 9 Properties tab fields Field

Description

block

Use the b l o c k property to control whether types can be replaced by their derived types in instance documents. The b l o c k property takes one of the following values:

final



restriction



e x t e n s i o n - prevents type replacement in the instance if derivations is by extension



substitution



r e s t r i c t i o n e x t e n s i o n - prevents type replacement in the instance document if derivation is byrestriction or extension



restriction substitution



e x t e n s i o n s u b s t i t u t i o n - prevents replacement in instance documents by substitution groups and prevents type replacement if derivation is by extension



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

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

- prevents replacement by substitution groups in the instance document

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

The f i n a l property allows you to prevent new types from being derived from the selected simple or complex type. The f i n a l property takes one of the following values: •

restriction



e x t e n s i o n - to prevent derivation by extension in the schema document



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

- to prevent derivation by restriction in the schema document

TIBCO Designer Palette Reference

60

| Chapter 2

XML Tools Palette

Table 9 Properties tab fields Field

Description

default

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.

fixed

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 attribute’s value to be what you've specified in this field.

nillable

Click here if you require missing or unknown element content to be stated explicitly in the XML instance document.

substitution group

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.

form

Use this field to specify whether the selected element or attribute should be either q u a l i f i e d or u n q u a l i f i e d in the instance document. If qualified, the element or attribute must be associated with the target namespace in the instance document. If u n q u a l i f i e d , 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 u n q u a l i f i e d . 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 38 for more information.

TIBCO Designer Palette Reference

|

Schema 61

Facets Tab The Facets tab is used to further constrain the acceptable values for your schema’s 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

Description

Make list

Check this option if a white space separated list of values (corresponding to the data type) is desired.

length

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.

minLength

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.

maxLength

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.

TIBCO Designer Palette Reference

62

| Chapter 2

XML Tools Palette

Facet

Description

whiteSpace

Specifies how white space should be handled in the type’s value. A menu offering the options to collapse, preserve, or replace white space is provided.

totalDigits

Constrains the value of a decimal-based data type to a total number of digits. When specifying this facet, use a nonNegativeInteger.

fractionDigits

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.

pattern

Constrains the value of the type to a specific pattern. When specifying this facet, use a regular expression.

maxInclusive

Constrains the value of the type to an inclusive upper bound. That is, the type’s value must be less than or equal to this facet’s value.

maxExclusive

Constrains the value of the type to an exclusive upper bound. That is, the type’s value must be less than this facet’s value.

minInclusive

Constrains the value of the type to an inclusive lower bound. That is, the type’s value must be greater than or equal to this facet’s value.

minExclusive

Constrains the value of the type to an exclusive lower bound. That is, the type’s value must be greater than this facet’s value.

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

|

Schema 63

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



Notations Tab

Namespaces Tab The N a m e s p a c e s tab provides an inventory of the external namespaces being used by your schema. The X M L S c h e m a 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 N a m e s p a c e s tab. The N a m e s p a c e s tab permits only limited editing of the namespace declaration: •

the imported namespace can be removed using the row selector



the prefix can be changed

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

Description

Row Selector/Error Indicator

Allows you to modify the row and detect errors in the declaration. See Common Columns In Tables on page 26.

TIBCO Designer Palette Reference

64

| Chapter 2

XML Tools Palette

Column

Description

Included Document Indicator

Indicates whether the declaration comes from the file being edited or from an external schema. See Common Columns In Tables on page 26.

Prefix

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.

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.

Location

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.

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

|

Schema 65

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

Description

Row Selector/Error Indicator

This column allows you to modify the row and detect errors in the declaration. See Common Columns In Tables on page 26 for more information about this column.

Included Document Indicator

This column indicates whether the declaration comes from the file being edited or from an external schema. See Common Columns In Tables on page 26 for more information about this column.

Name

Enter or edit the name of the notation.

Location

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.

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.

TIBCO Designer Palette Reference

66

| Chapter 2

XML Tools Palette

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 r a t i n g that is derived from the base type i n t e g e r 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

Description

Row Selector/Error Indicator

Allows you to modify the row and detect errors in the declaration. See Common Columns In Tables on page 26.

Included Document Indicator

Indicates whether the declaration comes from the file being edited or from an external schema. See Common Columns In Tables on page 26.

Name

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

|

Schema 67

Column

Description

Base Type

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 Schema’s built-in data types, see http://www.w3.org/TR/xmlschema-2/#built-in-dat atypes User-defined types, such as r a t i n g , can also be used as base types. To further constrain r a t i n g , 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 r a t i n g 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 N a t i v e Type button to select the type x s : p o s i t i v e I n t e g e r. 3. Click the Facets button, which loads the Facets tab of the properties panel. 4. In the properties panel, use the m i n I n c l u s i v e and m a x I n c u s i v e facets to restrict the acceptable values of rating to positive integers from 1 to 10. The r a t i n g 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

68

| Chapter 2

XML Tools Palette

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 38. 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

|

Schema 69

When the Component Doc panel reflects the selected declaration, the following tabs are available: Tab

Description

Documentation

Use this tab to associate a new note with the selected declaration. In the source code, the note will appear within the selected declaration.

Source Preview

Displays the source code for the selected declaration.

XML Schema uses two elements for annotations: d o c u m e n t a t i o n and a p p i n f o . The Documentation tab displays and adds d o c u m e n t i o n annotations only, which are intended to facilitate human understanding of the schema. There is no facility for adding a p p i n f o 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

70

| Chapter 2

XML Tools Palette

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

Description

price.list

the “root” element inside of which all others will appear

manufacturer

a container for information about a manufacturer

name

the name of the manufacturer

date.issued

the date the price list was issued

product

a container for information about a product

sku

the product's sku (Stock Keeping Unit - Inventory Identifier)

product.name

the product's name

price

the product's price

description

a text description of the product

promotion

a container for information about a price promotion

start.date

the date the promotion starts

end.date

the date the promotion ends

TIBCO Designer Palette Reference

|

XML Schema Exercises 71

Getting Started To create 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 r o o t and replace it with m a n u f a c t u r e r .

b. Tab across to the Attributes column and type in n a m e . 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 m a n u f a c t u r e r and type d a t e . i s s u e d .

TIBCO Designer Palette Reference

72

| Chapter 2

XML Tools Palette

7. Now define d a t e . i s s u e d as a d a t e 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 d a t e . i s s u e d element with an appropriate data type, select d a t e from the menu that appears upon clicking Insert. 8. To specify that the m a n u f a c t u r e r element must always include the d a t e . i s s u e d element a. Move to the Content column on the m a n u f a c t u r e r row b. Select “Elements” from the Content Type menu. This restricts the content model for m a n u f a c t u r e r to elements only. c. Tab to the Content Model column and click the insert button. d. Select d a t e . i s s u e d to restrict the contents of m a n u f a c t u r e r to one and only one d a t e . i s s u e d element. You are now ready to create a second element called product. 1. Move to the empty line below d a t e . i s s u e d and type p r o d u c t . Press tab. Select “Elements” from the Content Type menu and press tab. 2. Move to the Content Model column for p r o d u c t , position your cursor inside the “()” and type s k u , p r o d u c t . n a m e , p r i c e , d e s c r i p t i o n , p r o m o t i o n . 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 45).

TIBCO Designer Palette Reference

|

XML Schema Exercises 73

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 d e s c r i p t i o n an optional element: a. Go back to the p r o d u c t 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 45. 5. Make p r i c e a decimal data type by clicking on p r i c e 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 d e c i m a l 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 p r o m o t i o n by specifying “Elements” in the Content column and then entering p r i c e into the Content Model column. 7. Tab to the Attributes column for promotion and enter s t a r t . d a t e , e n d . d a t e . Press Tab. To further refine the definitions of these attributes, you can right-click on each of their names and choose “Go to < n a m e > “or click Attributes on the toolbar. TIBCO Designer Palette Reference

74

| Chapter 2

XML Tools Palette

The attributes panel will appear with options for data typing the attribute and for indicating its usage (o p t i o n a l , r e q u i r e d , d e f a u l t , f i x e d , o r p r o h i b i t e d ). 8. Within the attributes panel, indicate that the values of the s t a r t . d a t e and e n d . d a t e attributes should be of type d a t e . 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 p r i c e . l i s t . 1. Return to the elements/types panel and add an element named p r i c e . l i s t . Press tab and specify “Elements” content. 2. Enter m a n u f a c t u r e r , p r o d u c t + as the content model. (The plus sign designates the p r o d u c t 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”. 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

|

XML Schema Exercises 75

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 75.) Only elements that define a content model can be expanded. Within the diagram, double clicking on the root element, in this case p r i c e . l i s t , 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

76

| Chapter 2

XML Tools Palette

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 76 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 137.

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

Description

Address

Complex type from which two other complex types are derived

name

Element for the name of the addressee

street

Element for the street address

city

Element for the city

USAdress

Complex type derived by extension from Address

state

Element for the state

zip

Element for the zip code

UKAddress

Complex type derived by extension from Address

TIBCO Designer Palette Reference

|

XML Schema Exercises 77

Component

Description

postcode

Element for the UK postal code

exportCode

Element for the UK export code

USState

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 A d d r e s s 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 A d d r e s s 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

78

| Chapter 2

XML Tools Palette

7. Tab to the Content Model field. With the pointer positioned between the parentheses, type in the following elements, separated by commas: n a m e , s t r e e t , c i t y.

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 U S S t a t e . 1. In the Toolbar, click the Data Types button. 2. In the first field in the Name column, type U S S t a t e . Tab to the Base Type column. Click Type and choose s t r i n g from the drop-down menu. 3. Tab to the Options column. To define a list of possible values for U S S t a t e , 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

|

XML Schema Exercises 79

Follow the same procedure for the values 'AL' and 'AR'. (Of course, there are more postal abbreviations, but let’s 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 U S A d d r e s s . 4. Tab to the D e r i v e s F r o m column and click Extends. Next, click Select and select A d d r e s s . 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 U S A d d r e s s is being derived from the base type A d d r e s s by extension. If you derive from a base type by restriction, you'll see the prefix “r_”.

TIBCO Designer Palette Reference

80

| Chapter 2

XML Tools Palette

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 s t a t e , Tab out of the Content Model column.

zip.

7. In the Auto-Create dialog box that appears, click the G l o b a l l y button and then click Create.

radio

defined

8. In the row for the element s t a t e , navigate to the Data Type column. Click Insert user-defined type and select U S S t a t e from the menu of options.

9. In the row for the element z i p , 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 p o s i t i v e I n t e g e r as the data type for z i p . You are now ready to define some elements on your own. 1. Define a complex type named U K A d d r e s s as an extension of A d d r e s s . Add the element p o s t c o d e to the content model and create p o s t c o d e as a global declaration. Also give U K A d d r e s s and attribute called e x p o r t C o d e .

2. For further practice, define a simple type (data type) called U K P o s t c o d e and assign it to the p o s t c o d e 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, s h i p T o and b i l l T o elements could be added to this schema and be declared as having the type U S A d d r e s s . 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 s h i p T o of

TIBCO Designer Palette Reference

|

XML Schema Exercises 81

type U S A d d r e s s . 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 U S A d d r e s s 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

82

| Chapter 2

XML Tools Palette

DTD Resource

The DTD resource of the XML Tools palette enables the creation of a DTD (Document Type Definition), as defined by the W3C’s 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 113.

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

Description

Name

This is the name of the file when persisted. The * . d t d 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

Description

Elements

The number of element declarations is displayed.

TIBCO Designer Palette Reference

|

DTD 83

Field

Description

Complex Types

The number of complex type definitions is displayed. (This is an XML Schema metric only.)

Attributes

The number of attribute declarations is displayed.

Attribute Groups

The number of attribute group definitions is displayed.

Model Groups

The number of model group definitions is displayed.

Data Types

The number of user-derived datatype definitions is displayed. (This is an XML Schema metric only).

Namespaces

The number of namespace declarations is displayed. (This is an XML Schema metric only.)

Included Modules

The number of included modules is displayed.

Notations

The number of notation declarations is displayed.

Processing Instructions

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 27.

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 5 on page 29.

TIBCO Designer Palette Reference

84

| Chapter 2

XML Tools Palette

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

Description

Row Selector/Error Indicator

This column allows you to modify the row and detect errors in the declaration. See Common Columns In Tables on page 26 for more information about this column.

Included Document Indicator

This column indicates whether the declaration comes from the file being edited or from an external schema. See Common Columns In Tables on page 26 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

|

DTD 85

Column

Description

Content

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 i n t e g e r or d a t e -- are not afforded by DTDs. Accordingly, selecting the Type option is equivalent to selecting the Text option.

TIBCO Designer Palette Reference

86

| Chapter 2

XML Tools Palette

Column

Description

Content Model

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 87 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 88 and Building Content Models with Reusables (Internal Parameter Entities) on page 91 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 s t r i n g 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

|

DTD 87

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 10 describes the Occurrence indicators. Table 11 describes the Sequence indicators. Table 10 Occurrence indicators Occurrence Indicator

Meaning

In Content Model column, click...

None

The element must appear once and only once.

(This is the default occurrence).

?

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.

Optional but not Repeatable

+

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.

Repeatable but not Optional.

*

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.

Repeatable and Optional.

Table 11 Sequence indicators Occurrence Indicator |

In Content Model column, click...

Meaning Can be read as 'or'. Creates content model with particles enumerated (only one may be chosen).

Choices

TIBCO Designer Palette Reference

88

| Chapter 2

XML Tools Palette

Table 11 Sequence indicators Occurrence Indicator

Meaning

In Content Model column, click...

,

Can be read as 'followed by,' requiring that the elements or groups of elements appear in the precise sequence indicated

Sequence

()

Groups elements, allowing a set of choices or a sequence to be used anywhere that a single element can appear.

()

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 M E M O element to contain, in sequence, one or more T o elements, one or more F r o m elements, zero or more C c elements, a single S u b j e c t element, a single B o d y element, and zero or one T y p i s t 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 I n t r o element could appear once (and only once) at the start of the chapter, and then S e c t i o n or S i d e b a r elements could follow in any order. (This model is read as “an I n t r o element followed by zero or more S e c t i o n or S i d e b a r 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

|

DTD 89

Figure 23 A completed content model for a B o o k 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 T i t l e , an A u t h o r, multiple C h a p t e r s , maybe an A p p e n d i x (or several), perhaps a G l o s s a r y, and possibly an I n d e x . Assuming these elements are already declared, the steps to build the content model for Book appear below: 1. In the row for B o o k , 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 T i t l e ). 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

90

| Chapter 2

XML Tools Palette

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 C h a p t e r in the Content Model, and click on the Repeatable button. This adds a '+' indicator after C h a p t e r, to indicate it is repeatable. Likewise, there may be more than one appendix, so highlight A p p e n d i x and click Repeatable to add a '+' indicator after A p p e n d i x .

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 G l o s s a r y, and click the Optional button. Likewise, highlight I n d e x , 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 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

|

DTD 91

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 91. 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

92

| Chapter 2

XML Tools Palette

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

Description

Model Group

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.

Attribute Group

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.

Constraints

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.

Text

Use this editor to create reusable text (parameter entity).

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

|

DTD 93

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 33 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 element’s attribute in the element list, the attributes panel is required to specify an attribute’s 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

94

| Chapter 2

XML Tools Palette

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

Description

Row Selector/Error Indicator

This column allows you to modify the row and detect errors in the declaration. See Common Columns In Tables on page 26 for more information about this column.

Included Document Indicator

This column indicates whether the declaration comes from the file being edited or from an external schema. See Common Columns In Tables on page 26 for more information about this column.

Attribute Name

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

|

DTD 95

Column

Description

Data Type

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 12 on page 97.

Constraints

The Constraints column allows you to limit the choices available for attribute values. This column is only applicable if the e n u m e r a t e d 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 102.

Use

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.

TIBCO Designer Palette Reference

96

| Chapter 2

XML Tools Palette

Column

Description

Value

If the attribute’s usage is designated as d e f a u l t or f i x e d , enter the default or fixed value in the Value column. Choosing either o p t i o n a l or r e q u i r e d and then entering a value in the Value column will produce an error message. Choosing either d e f a u l t or f i x e d and omitting a value in the Default column will also produce an error.

TIBCO Designer Palette Reference

|

DTD 97

Table 12 Datatypes within a DTD Datatype

Meaning

ID

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.

IDREF

The attribute value must match the value of an ID attribute of an element contained within the same XML document.

IDREFS

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.)

ENTITY

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.)

ENTITIES

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.)

NMTOKEN

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.)

TIBCO Designer Palette Reference

98

| Chapter 2

XML Tools Palette

Table 12 Datatypes within a DTD Datatype

Meaning

NMTOKENS

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.)

enumerated

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).

NOTATION

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.

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 s t r i n g . Creation of an attribute type within the attributes panel consists of several steps. For example, assume you have an element P i c t u r e , with the attributes G r a p h i c s T y p e . G r a p h i c s T y p e is an attribute that tells us if a picture is a JPG, TIF, or GIF file. Here are steps for declaring G r a p h i c s T y p e :

TIBCO Designer Palette Reference

|

DTD 99

1. Click on a blank line under the Attributes Name column. Enter the attribute name G r a p h i c s T y p e . 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 G r a p h i c s T y p e . Since we know this attribute will be used by the element P i c t u r e , type in P i c t u r e .

3. Select the cell under the next column heading, Data Type. An attribute type declaration, by default, sets the data type for an attribute to s t r i n g . In this example, G r a p h i c s T y p e will be enumerated (that is, it will only ever have the value of J P G , T I F, or G I F ). 4. Click the Type button and select e n u m e r a t i o n from the XML Types menu. Since G r a p h i c s T y p e can be only be a J P G , T I F, or G I F, 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

100

| Chapter 2

XML Tools Palette

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 G r a p h i c s T y p e to J P G , 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 G r a p h i c s T y p e .

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

|

DTD 101

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

102

| Chapter 2

XML Tools Palette

Add Module...Button The Add Module option of the overview panel allows you to include the declarations from another of your project’s 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 schema’s 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 schema’s 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 e n u m e r a t i o n , use the Enumeration tab to create a list of possible values.

TIBCO Designer Palette Reference

|

DTD 103

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 e n u m e r a t i o n . 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

104

| Chapter 2

XML Tools Palette

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 panel’s 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

|

DTD 105

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

106

| Chapter 2

XML Tools Palette

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 & p r o d u c t N a m e ; (& p r o d u c t N u m ; ) 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

|

DTD 107

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 & e n t i t y N a m e ; syntax. In this case, & p l a y ; 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

108

| Chapter 2

XML Tools Palette

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

Description

Row Selector/Error Indicator

This column allows you to modify the row and detect errors in the declaration. See Common Columns In Tables on page 26 for more information about this column.

Included Document Indicator

This column indicates whether the declaration comes from the file being edited or from an external schema. See Common Columns In Tables on page 26 for more information about this column.

Name

Enter or edit the name of the notation.

TIBCO Designer Palette Reference

|

DTD 109

Column

Description

Location

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

Description

Row Selector/Error Indicator

This column allows you to modify the row and detect errors in the declaration. See Common Columns In Tables on page 26 for more information about this column.

Included Document Indicator

This column indicates whether the declaration comes from the file being edited or from an external schema. See Common Columns In Tables on page 26 for more information about this column.

TIBCO Designer Palette Reference

110

| Chapter 2

XML Tools Palette

Column

Description

Target

Enter the target name. The target needs to be a name beginning with a letter and possibly containing numbers, underscores, dashes, and periods.

Instruction

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,

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

|

DTD 111

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

Description

All Notes

Displays all the notes entered for the selected declaration. Notes cannot be edited within this tab.

Usage Notes

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:

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

Description

All Notes

Displays all the top-level notes. Notes cannot be edited within this tab.

Usage Notes

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

112

| Chapter 2

XML Tools Palette

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

|

DTD Exercise 113

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

Description

price.list

the “root” element inside of which all others will appear

manufacturer

a container for information about a manufacturer

name

the name of the manufacturer

date.issued

the date the price list was issued

product

a container for information about a product

sku

the product's sku (Stock Keeping Unit - Inventory Identifier)

product.name

the product's name

price

the product's price

description

a text description of the product

promotion

a container for information about a price promotion

start.date

the date the promotion starts

end.date

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

114

| Chapter 2

XML Tools Palette

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 r o o t and replace it with m a n u f a c t u r e r. 6. Tab across to the Attributes column and type in n a m e . 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 m a n u f a c t u r e r and type d a t e . i s s u e d . Tab to the Content column and select “Text” by clicking on the Content Type button and selecting “Text” from the drop down menu. Now, go back and specify a content model for m a n u f a c t u r e r to ensure that the element always includes the d a t e . i s s u e d element.

manufacturer

8. Move to the Content column on the m a n u f a c t u r e r row and select “Elements” from the Content Type menu. This restricts the content model for m a n u f a c t u r e r 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

|

DTD Exercise 115

10. Type d a t e . i s s u e d into the Content Model column to restrict the contents of m a n u f a c t u r e r to one and only one d a t e . i s s u e d element. Since n a m e is an attribute, it does not need to be within the m a n u f a c t u r e r element.

11. Move to the empty line below d a t e . i s s u e d and type p r o d u c t then press tab. Select “Elements” from the Content Type menu and press tab. 12. Move to the content model column for p r o d u c t , position your cursor inside the “()” and type s k u , p r o d u c t . n a m e , p r i c e , d e s c r i p t i o n , p r o m o t i o n 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 87. 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, d e s c r i p t i o n will be made an optional element.

TIBCO Designer Palette Reference

116

| Chapter 2

XML Tools Palette

14. Go back to the p r o d u c t content model and highlight d e s c r i p t i o n . Once highlighted, click the “optional” button on the tool bar that appears. Notice the '?' that was appended to d e s c r i p t i o n . 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 87. 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 p r o m o t i o n by specifying “Elements” in the Content column and then entering p r i c e into the Content Model column. 16. Tab to the Attributes column for p r o m o t i o n and enter e n d . d a t e . 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 p r i c e . l i s t . Below p r o m o t i o n , type in p r i c e . l i s t , press tab, and specify “Elements” content. 18. Enter m a n u f a c t u r e r , p r o d u c t + as the content model. (The plus sign designates the p r o d u c t 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

|

DTD Exercise 117

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 117.) Note that only elements that define a content model can be expanded. Within the diagram, double clicking on the root element, in this case p r i c e . l i s t , 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

118

| Chapter 2

XML Tools Palette

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 i n t e g e r, d e c i m a l and d a t e 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 70

TIBCO Designer Palette Reference

|

Instance 119

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 137.

TIBCO Designer Palette Reference

120

| Chapter 2

XML Tools Palette

Configuration Panel When editing an Instance resource, the Configuration tab has the following fields:. Field

Description

Name

This is the name of the file when persisted. The * . x m l 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 27.

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 28.

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

|

Instance 121

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

122

| Chapter 2

XML Tools Palette

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 122



Modifying Document Structure on page 124



Identifying Data-Entry Constraints on page 125



Navigating the Document on page 125



Creating a Customized View of the Tag Area on page 126

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

|

Instance 123

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, s t r e e t and c i t y are siblings to the selected element, s t r e e t , and hence, appear along the same vertical line. The elements s h i p T o and i t e m 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 new text

insert as sibling

insert new comment

insert as parent

insert new processing instruction

insert schema-defined element or attribute

In Figure 39, a name (s u i t e N u m b e r ) for a new sibling element for s t r e e t 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

124

| Chapter 2

XML Tools Palette

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 126.) Figure 42 Right button menu

TIBCO Designer Palette Reference

|

Instance 125

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 130). 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 q u a n t i t y element should be entered as an i n t (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--s t r e e t --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 b i l l T o element. TIBCO Designer Palette Reference

126

| Chapter 2

XML Tools Palette

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 element’s 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 a d d r e s s elements, the menu choice will only affect the a d d r e s s 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

|

Instance 127

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 128



Hiding elements and attributes on page 128



Creating aliases for elements and attributes on page 129



Adding color to your tags on page 129



Promoting elements and attributes on page 130

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

128

| Chapter 2

XML Tools Palette

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 a d d r e s s 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

|

Instance 129

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 d u r is given the alias of d u r a t i o n . 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

130

| Chapter 2

XML Tools Palette

Once a color has been selected, the tag’s 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 n a m e and f o c u s have been placed on the same row as their element, s a l e _ a g e n t and the elements t o t a l _ s a l e s , t o t a l _ c a l l s , n a i l s , and s c r e w s have been placed on the same row of their parent, m o n t h l y. 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 m o n t h l y has been resized to allow for three lines of promotion.

TIBCO Designer Palette Reference

|

Instance 131

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 134 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

132

| Chapter 2

XML Tools Palette

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

|

Instance 133

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 13 describes the Occurrence indicators. Table 14 describes the Sequence indicators. Table 13 Occurrence indicators Occurrence Indicator

Meaning

None

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 14 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

134

| Chapter 2

XML Tools Palette

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 d a t e 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 d a t e 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

|

Instance 135

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

136

| Chapter 2

XML Tools Palette

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

|

XML Instance Exercise 137

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 70) 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 p r i c e . l i s t 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

138

| Chapter 2

XML Tools Palette

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

|

XML Instance Exercise 139

Figure 57 Document-building options insert new element insert new attribute insert as child

insert new text

insert as sibling

insert new comment

insert as parent

insert new processing instruction

insert schema-defined element or attribute

1. To add the n a m e attribute to the m a n u f a c t u r e r element, click on m a n u f a c t u r e r within the tag area. Once m a n u f a c t u r e r is selected, n a m e becomes an option on the factory bar. Click once on n a m e to add it to the document.

2. Select p r o m o t i o n within the tag area, and use the factory bar to add the s t a r t . d a t e and e n d . d a t e 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

140

| Chapter 2

XML Tools Palette

1. If you right-click on the element m a n u f a c t u r e r, a menu of options will appear. Select Element “manufacturer” > Color > Green to highlight the element with a green background. You will notice that the m a n u f a c t u r e r 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 p r o d u c t element in yellow and the p r o m o t i o n element in blue. S

3. Now you can promote the child elements as well as the attributes of m a n u f a c t u r e r 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 m a n u f a c t u r e r. 4. Now drag the element d a t e . i s s u e d up to the right of the attribute n a m e , on the same level of m a n u f a c t u r e r.

Promoting the elements does not change their structural position within the XML document, just their position within the content panel. 5. Promote s k u ,

TIBCO Designer Palette Reference

product.name,

and p r i c e up to their parent, p r o d u c t .

|

XML Instance Exercise 141

6. Finally, drag s t a r t . d a t e , e n d . d a t e , and p r i c e to the same level of their parent, p r o m o t i o n .

7. To illustrate the entry of data, click to the right of the n a m e attribute and enter a value that conforms to the data type, in this case a s t r i n g .

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 p r o d u c t to the price list, highlight p r o d u c t in the tag area and then select p r o d u c t from the factory bar. Notice that the new p r o d u c t 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

142

| Chapter 2

XML Tools Palette

TIBCO Designer Palette Reference

| 143 Chapter 3

Adapter Resources Palette

This chapter gives detailed information about the Adapter Resources palette.

Topics •

Specifying Generic Adapter Configurations, page 144



Generic Adapter Configuration Reference, page 156



Services Reference, page 160



Custom Log Sink Reference, page 170



Sessions Reference, page 174



Transaction Control and Advisory Reference, page 184



Folder Reference, page 187



Endpoint Reference, page 191

TIBCO Designer Palette Reference

144

| 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 G e n e r i c A d a p t e r C o n f i g u r a t i o n resource and the associated A d a p t e r R e s o u r c e s 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 G e n e r i c A d a p t e r C o n f i g u r a t i o n . However, resources in the G e n e r i c A d a p t e r C o n f i g u r a t i o n 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 145

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 TIBCO Designer User’s 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 G e n e r i c 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 156. Decide now whether you need to perform advanced logging. •

If the adapter doesn’t use custom roles, use the L o g g i n g tab to specify logging information.



If the adapter uses custom roles, click the U s e A d v a n c e d L o g g i n g check box, and use the Log Sinks folder later to define your sinks. See Custom Log Sink Reference on page 170.

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

Adding Services to Your Adapter Adapter services are an abstraction useful for configuration of already existing adapters and they are therefore used in the G e n e r i c A d a p t e r C o n f i g u r a t i o n . 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.

TIBCO Designer Palette Reference

146

| Chapter 3

Adapter Resources Palette

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 A d a p t e r

Services

folder.

2. In the palette panel, select one of the services, for example, a P u b l i c a t i o n S e r v i c e , 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 T r a n s p o r t 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 Reference on page 160 for detailed information on the individual services and different T r a n s p o r t tab content.

TIBCO Designer Palette Reference

|

Specifying Generic Adapter Configurations 147

5. If the schema that determines the data used by the service has already been defined, click the S c h e m a 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, a n y, 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 A d v a n c e d folder and do it there. See Advanced Adapter Configuration on page 147.

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 174 and Custom Log Sink Reference on page 170.



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 170.



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 184.



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 190. 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 Adapter’s S t a r t u p 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 instance’s 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.

TIBCO Designer Palette Reference

148

| Chapter 3

Adapter Resources Palette

2. Select the L o g

Sinks

folder.

3. Customize the existing F i l e S i n k and s t d i o page 171 and stdio Sink, page 172.

Sink

if you like. See File Sink,

4. To add more file sinks or stdio sinks: 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 170. 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 172. 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 173.

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. •

Specifying Values for Existing Properties



Adding Properties



Deleting Items

Terminology Keep in mind the following terminology used to describe repository content. •

An object contains attributes.

TIBCO Designer Palette Reference

|

Specifying Generic Adapter Configurations 149



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.

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

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 150. 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: TIBCO Designer Palette Reference

150

| Chapter 3

Adapter Resources Palette

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 adapter’s XML file. The following example shows the elements and attributes required for a custom Hawk Microagent. See the s d k / p u b s u b 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 - 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 TIBCO Designer User’s Guide for information. Do not set values for the % % I n s t a n c e I d % % and % % A p p N a m e % % global variables. The variables are set at runtime by run-time adapters.

TIBCO Designer Palette Reference

|

Specifying Generic Adapter Configurations 151

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 Programmer’s 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 M D a t a : : t o X M L ( ) 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 don’t 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 ActiveMatrix BusinessWorks). Implementation The low-level callout behavior is made available by an M T r a n s f o r m a t i o n P l u g i n 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 TIBCO Designer as follows: 1. With the top level project selected, drag a M e s s a g e design panel. Name it appropriately for clarity.

Filter

resource into the

2. Specify the name of the implementing class in the I m p l e m e n t a t i o n field.

TIBCO Designer Palette Reference

152

| Chapter 3

Adapter Resources Palette

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 G e n e r i c A d a p t e r C o n f i g u r a t i o n tab.

Configuration

2. Click the Browse button next to the M e s s a g e M e s s a g e F i l t e r you defined earlier.

resource and choose the Filter

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 t e s t s t r i n g . In C++:

pMProperties->getValue( pMApp->getAppName() + "/deployment/transformationPlugin/attributes/test", myMStringProp);

In Java:

myStringProp = mapp.getConfigProperties().getString(app.getAppParameters().getApp Name() + "/deployment/transformationPlugin/attributes/test");

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 F A L S E to stop message flow. A programming example is included in the TIBCO Adapter SDK Programmer’s Guide.

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.

TIBCO Designer Palette Reference

|

Specifying Generic Adapter Configurations 153

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 TIBCO Designer. 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.

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. TIBCO Designer Palette Reference

154

| Chapter 3

Adapter Resources Palette

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

Working directory from which to execute the adapter. Click Browse to select the directory. See Setup for Testing TIBCO Adapters for more information.

Adapter Executable

Name of the executable for the adapter. Click Browse to select the executable. See Setup for Testing TIBCO Adapters for more information.

Arguments

Arguments passed to the adapter executable. The last argument should be '- - p r o p F i l e ', 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

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.

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 C u s t o m S h e l l C o m m a n d 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 Programmer’s Guide more information on the available arguments and options for custom adapters.

TIBCO Designer Palette Reference

|

Specifying Generic Adapter Configurations 155

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 C o n s o l e 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

156

| Chapter 3

Adapter Resources Palette

Generic Adapter Configuration Reference When you drag a G e n e r i c A d a p t e r C o n f i g u r a t i o n 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 C o n f i g u r a t i o n 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 t i b c o / p r i v a t e area of TIBCO Repository.

Version

Version of the adapter repository. To change the default, click the Change Version button at the bottom of the page.

SDK AppName

Short name of the adapter used in the source code.

Description

Optional description of the adapter.

Message Filter

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 151.

Two buttons at the bottom of the Configuration tab allow you to change configuration values. Change Version

Allows you to change the adapter repository version.

Edit Adapter XML

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 L o g g i n g tab allows you to specify your logging preferences and information. You have two choices:

TIBCO Designer Palette Reference

|

Generic Adapter Configuration Reference 157



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 170.



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.

Use Advanced Logging

When this check box is selected, you configure log sink resources from the Log Sinks folder of the adapter’s Advanced folder. See Custom Log Sink Reference on page 170.

Log to Standard I/O

Sends logging information to standard I/O.

Log File

Sends logging information to the specified file. See A Note on Global Variables, page 150 for information on the value.

Log Info Messages

Sends all messages of type I N F O to the specified location(s).

Log Debug Messages

Sends all messages of type D E B U G to the specified location(s).

Log Warning Messages

Sends all messages of type W A R N I N G to the specified location(s).

Log Error Messages

Sends all messages or type E R R O R to the specified location(s).

Startup Tab The S t a r t u p tab allows you to specify startup information for your adapter. Show Startup Banner

If checked, a banner is displayed when the adapter is started.

Metadata Search URL

Click the browse icon to specify a previously defined Metadata Search URL for this adapter. See Metadata URLs Folder on page 190 for information on defining a Metadata Search URL.

TIBCO Designer Palette Reference

158

| Chapter 3

Adapter Resources Palette

Monitoring Tab The M o n i t o r i n g tab allows you to provide TIBCO Hawk information for the standard TIBCO Hawk microagent. See Adding Custom Hawk Microagents to Your Adapter on page 150 for information on configuring custom microagents. Enable Standard MicroAgent

If true, a standard TIBCO Hawk microagent is available for this adapter. Its name is C O M . T I B C O . A D A P T E R . Default is false.

Standard MicroAgent Name

TIBCO Hawk microagent name. Defaults to COM.TIBCO.ADAPTER.

Standard 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.

Enable Class MicroAgent

If true, an adapter-specific TIBCO Hawk microagent is available for this adapter. Its name is C O M . T I B C O . A D A P T E R .adaptername.

Class MicroAgent Name

Redefines the name for the adapter-specific agent. Defaults to COM.TIBCO.ADAPTER.adgeneric.%%Deploym e n t % % . % % I n s t a n c e I d % % . See A Note on Global Variables, page 150 for information on the value.

Class MicroAgent Timeout

TIBCO Designer Palette Reference

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.

|

Generic Adapter Configuration Reference 159

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

160

| Chapter 3

Adapter Resources Palette

Services Reference The A d a p t e r S e r v i c e s 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 145.

Publication Service When you choose a publication service, the configuration panel allows you to specify information in the following: •

Configuration Tab



Transport Tab (Rendezvous Transport)



Transport Tab (JMS Transport)



Schema Tab

Configuration Tab

Name

Name of the service.

Description

Optional description of the service.

Transport Type

Either Rendezvous for TIBCO Rendezvous or JMS for TIBCO Enterprise Message Service. The transport type you choose affects the contents of the T r a n s p o r t 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 Message Subject

Reply subject for this publication service.

Quality of Service

Choose C e r t i f i e d (the default), R e l i a b l e , or T r a n s a c t i o n a l to create a service of that type.

TIBCO Designer Palette Reference

|

Services Reference 161

Wire Format

Choose A c t i v e E n t e r p r i s e M e s s a g e , R e n d e z v o u s M e s s a g e or X M L M e s s a g e , depending on the format the application to which the adapter publishes requires.

Session Reference

When you create a service, TIBCO Designer creates a corresponding session resource in the S e s s i o n s folder of the A d v a n c e d folder and displays it in this field. If you have explicitly created a custom session of the same type, you can click the B r o w s e 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 S e s s i o n s folder of the A d v a n c e d 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

Topic or queue to which you wish to send the message.

Reply Destination

Topic or queue where reply messages are sent.

Wire Format

If a JMS transport is used, the wire format is always XML Message.

Connection Factory Type

Choose Q u e u e or T o p i c .

Delivery Mode

Choose Persistent or Non-Persistent.

TIBCO Designer Palette Reference

162

| Chapter 3

Adapter Resources Palette

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



Transport Tab (TIBCO Rendezvous Transport)



Transport Tab (JMS Transport)



Schema Tab

Configuration Tab

Name

Name of the service.

Description

Optional description of the service.

TIBCO Designer Palette Reference

|

Services Reference 163

Transport Type

Either R e n d e z v o u s for TIBCO Rendezvous or J M S for TIBCO Enterprise Message Service. The transport type you choose affects the contents of the T r a n s p o r t 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.

Quality of Service

Choose C e r t i f i e d (the default), R e l i a b l e , T r a n s a c t i o n a l , or D i s t r i b u t e d Q u e u e to create a service of that type.

Wire Format

Choose A c t i v e E n t e r p r i s e M e s s a g e , R e n d e z v o u s M e s s a g e , or X M L M e s s a g e depending on the format of the application to which the adapter publishes requires.

Session Reference

When you create a service, TIBCO Designer creates a corresponding session resource in the S e s s i o n s folder of the A d v a n c e d folder and displays it in this field. If you have explicitly created a custom session of the same type, you can click the B r o w s e 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 S e s s i o n s folder of the A d v a n c e d folder and displays it in this field. If you have explicitly created a custom endpoint of the same type, you can click the B r o w s e 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

164

| Chapter 3

Adapter Resources Palette

Transport Tab (JMS Transport)

Destination

Topic or queue from which you receive messages.

Wire Format

If a JMS transport is used, the wire format is always X M L Message.

Connection Factory Type

Choose Q u e u e or T o p i c .

Delivery Mode

Choose D u r a b l e or N o n - D u r a b l e .

Session Reference

When you create a service, TIBCO Designer creates a corresponding session resource in the S e s s i o n s folder of the A d v a n c e d folder and displays it in this field. If you have explicitly created a custom session of the same type, you can click the B r o w s e 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 S e s s i o n s folder of the A d v a n c e d folder and displays it in this field. If you have explicitly created a custom endpoint of the same type, you can click the B r o w s e 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 B r o w s e 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

|

Services Reference 165



Configuration Tab



Transport Tab (TIBCO Rendezvous Transport)



Transport Tab (JMS Transport)



Schema Tab

Configuration Tab

Name

Name of the request-response invocation service.

Description

Optional description of the service.

Transport Type

Either R e n d e z v o u s for TIBCO Rendezvous or J M S for TIBCO Enterprise Message Service. 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.

Quality of Service

Choose certified or reliable, depending on the level of reliability you require.

Wire Format

For ActiveEnterprise operations, only A c t i v e E n t e r p r i s e M e s s a g e format is allowed.

Session Reference

When you create a service, TIBCO Designer creates a corresponding session resource in the S e s s i o n s folder of the A d v a n c e d 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.

TIBCO Designer Palette Reference

166

| Chapter 3

Adapter Resources Palette

Endpoint Reference

When you create a service, TIBCO Designer creates a corresponding endpoint resource in the S e s s i o n s folder of the A d v a n c e d folder and displays it in this field. If you have explicitly created a custom endpoint of the same type, you can click the B r o w s e 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

Topic or queue to which you wish to send the message.

Wire Format

If a JMS transport is used, the wire format is always X M L Message.

Connection Factory Type

Choose Q u e u e or T o p i c .

Delivery Mode

Choose P e r s i s t e n t or N o n - P e r s i s t e n t .

Session Reference

When you create a service, TIBCO Designer creates a corresponding session resource in the S e s s i o n s folder of the A d v a n c e d folder and displays it in this field. If you have explicitly created a custom session of the same type, you can click the B r o w s e 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 S e s s i o n s folder of the A d v a n c e d folder and displays it in this field. If you have explicitly created a custom endpoint of the same type, you can click the B r o w s e 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 167

Schema Tab Each service must be associated with schema that describe the data the service sends or receives. Click the B r o w s e 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



Transport Tab (TIBCO Rendezvous Transport)



Transport Tab (JMS Transport)



Schema Tab

Configuration Tab

Name

Name of the service.

Description

Optional description of the service.

Transport Type

Either R e n d e z v o u s for TIBCO Rendezvous or J M S for TIBCO Enterprise Message Service. The transport type you choose affects the contents of the T r a n s p o r t 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.

Quality of Service

Choose C e r t i f i e d (the default), R e l i a b l e , or D i s t r i b u t e d Q u e u e to create a service of that type.

Wire Format

For ActiveEnterprise operations, only A c t i v e E n t e r p r i s e M e s s a g e format is allowed.

TIBCO Designer Palette Reference

168

| Chapter 3

Adapter Resources Palette

Session Reference

When you create a service, TIBCO Designer creates a corresponding session resource in the S e s s i o n s folder of the A d v a n c e d folder and displays it in this field. If you have explicitly created a custom session of the same type, you can click the B r o w s e 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

Topic or queue from which the message is coming.

Wire Format

If a JMS transport is used, the wire format is always X M L Message.

Connection Factory Type

Choose Q u e u e or T o p i c .

Delivery Mode

Choose D u r a b l e or N o n - D u r a b l e .

Session Reference

When you create a service, TIBCO Designer creates a corresponding session resource in the S e s s i o n s folder of the A d v a n c e d folder and displays it in this field. If you have explicitly created a custom session of the same type, you can click the B r o w s e icon to replace the autocreated session. Note: It is not usually appropriate to change the session for a service.

TIBCO Designer Palette Reference

|

Services Reference 169

Endpoint Reference

When you create a service, TIBCO Designer creates a corresponding endpoint resource in the S e s s i o n s folder of the A d v a n c e d folder and displays it in this field. If you have explicitly created a custom endpoint of the same type, you can click the B r o w s e 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

170

| 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 156. 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 TIBCO Designer 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 TIBCO Designer. Four types of sinks are predefined and configurable from the L o g They are discussed in this chapter: •

File Sink on page 171



stdio Sink on page 172



Network Sink on page 172



Hawk Sink on page 173

Sinks

folder.

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

TIBCO Designer Palette Reference

|

Custom Log Sink Reference 171

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

Sink name of this file sink.

File Name

Global variable that includes the path and name of trace file. Extension . l o g is suggested.

File Limit (bytes)

Maximum size of the file, in bytes. Default is 30000. Maximum is 2147483647 bytes.

File Count

Number of rollover files. Default is 3.

Append Mode

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.

Description

Optional description of this file sink.

The default file sink that is part of each adapter has those roles predefined that were selected when you turned on A d v a n c e d L o g g i n g . If you create additional file sinks, you can add roles. See Adding Roles to Sinks on page 173 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 F i l e

Limit.

3. When F i l e L i m i t 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

172

| Chapter 3

Adapter Resources Palette

5. The adapter repeats this process until it reaches the number of files specified in F i l e C o u n t . The adapter overwrites the file with the highest number, that is, the oldest file, when the number of files reaches F i l e C o u n t and that last file reaches F i l e L i m i t . To avoid that, set either F i l e C o u n t or F i l e L i m i t to a sufficiently large value.

stdio Sink For a

stdio Sink,

you specify the following information.

Name

Name of this sink.

Output Stream

Select s t d i o or s t d e r r. If you select s t d e r r, it remains selected even when you turn off A d v a n c e d L o g g i n g .

Description

Optional description of this sink.

Network Sink To add a network sink: 1. Select the L o g

Sinks

2. Drag a G e n e r i c

panel.

Log Sink

into the design panel.

3. In the configuration panel, choose N e t w o r k from the pop-up menu. 4. Specify the network sink’s attributes. Name

Sink name of this network sink.

Session

Click the B r o w s e icon and select one of the sessions you defined.

Subject

Subject of TIBCO Rendezvous messages to be sent.

Description

Optional description of this sink.

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

TIBCO Designer Palette Reference

|

Custom Log Sink Reference 173

Hawk Sink A Hawk

sink

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

1. Select the L o g

Sinks

2. Drag a G e n e r i c

panel.

Log Sink

into the design panel.

3. In the configuration panel, choose H a w k from the pop-up menu. 4. Specify the Hawk sink’s attributes. Name

Name of this Hawk sink.

MicroAgent Name

Name of the microagent for traces from this Hawk sink.

Description

Optional description of the sink.

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

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

174

| 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 A d v a n c e d folder of the G e n e r i c A d a p t e r C o n f i g u r a t i o n . 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 A d a p t e r

Services

folder in the project panel.

2. Drag a service (e.g. a P u b l i c a t i o n

Service)

into the design panel.

3. Specify the transport type and fill in the information in the T r a n s p o r t tab. 4. TIBCO Designer creates the service and creates a corresponding session and endpoint in the A d v a n c e d 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 175

RV Session For TIBCO Rendezvous sessions, the configuration panel includes the following information. To edit the global variables used in this panel, click the G l o b a l V a r i a b l e s tab in the project panel in the upper left quadrant. For more information, see TIBCO Designer User’s Guide. Name

Name of the TIBCO Rendezvous session.

Description

Optional description of the session.

Service

Global variable that specifies the service for this session. By default, the variable is defined to be the default TIBCO Rendezvous service (7500).

Network

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.

Daemon

Global variable that specifies the TIBCO Rendezvous daemon for this session. Default is the empty string.

SSL

Check this option if you wish to use SSL. See Chapter 5, Managing Trusted Certificates, on page 107 in TIBCO Designer User’s Guide.

RVA Session For RVA sessions, the configuration panel includes the following information. To edit the global variables in this panel, click the G l o b a l V a r i a b l e s tab in the project panel in the upper left quadrant. For more information, see TIBCO Designer User’s Guide. Name

Name of the TIBCO Rendezvous session.

Description

Optional description of the session.

TIBCO Designer Palette Reference

176

| Chapter 3

Adapter Resources Palette

Host

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.

Port

Global variable that specifies the port number for this session. This attribute is ignored if the host is not specified.

Enable HTTP

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.

RVCM Session For RVCM sessions, the configuration panel includes the following information. To edit the global variables, click the G l o b a l V a r i a b l e s tab in the project panel in the upper left quadrant. For more information, see TIBCO Designer User’s Guide. Name

Name of the r v C m S e s s i o n .

Description

Optional description of the session.

Service

Global variable that specifies the service for this session. By default, the variable is defined to be the default TIBCO Rendezvous service (7500).

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.

Daemon

Global variable that specifies the TIBCO Rendezvous daemon for this session. Default is the empty string.

SSL

Check this option if you want to use SSL. See Chapter 5, Managing Trusted Certificates, on page 107 in TIBCO Designer User’s Guide.

TIBCO Designer Palette Reference

|

Sessions Reference 177

CM Name

Used to identify the delivery tracking session. It must be unique across the entire network. See A Note on Global Variables, page 150 for information about this field.

Relay Agent

Relay agent for this session.

LedgerFile

Global variable that points to a ledger file. If the variable’s value is a valid filename, the session uses a file-based ledger. See A Note on Global Variables, page 150 for information about this field.

Synchronous Ledger Writes

If T r u e , then operations that update the ledger file do not return until the changes are written to the storage medium. If F a l s e , the operating system writes changes to the storage medium asynchronously.

Default Time Limit (ms)

Default timeout value for all associated publishers, in milliseconds. Defaults to 0 (infinite).

Require Old Messages

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 G l o b a l V a r i a b l e s tab in the project panel in the upper left quadrant. For more information, see TIBCO Designer User’s Guide. Name

Name of the RVCMQ session. TIBCO Designer Palette Reference

178

| Chapter 3

Adapter Resources Palette

Description

Optional description of the session.

Service

Global variable that specifies the service for this session. By default, the variable is defined to be the default TIBCO Rendezvous service (7500).

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.

Daemon

Global variable that specifies the TIBCO Rendezvous daemon for this session. Default is the empty string.

SSL

Check this option if you want to use SSL. See Chapter 5, Managing Trusted Certificates, on page 107 in TIBCO Designer User’s Guide.

CMQ Name

Sequence of global variables that specifies the name of the queue.

Complete Time (ms)

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.

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.

TIBCO Designer Palette Reference

|

Sessions Reference 179

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.

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

Listener tasks for this session. Default is 1.

RVTX Session For TIBCO Rendezvous TX sessions, the configuration panel includes the following information. To edit the global variables in this panel, click the G l o b a l V a r i a b l e s tab in the project panel in the upper left quadrant. For more information, see TIBCO Designer User’s Guide. Name

Name of TIBCO Rendezvous TX session.

Description

Optional description of the session.

Service

Global variable that specifies the service for this session. By default, the variable is defined to be the default TIBCO Rendezvous service (7500).

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.

Daemon

Global variable that specifies the TIBCO Rendezvous daemon for this session. Default is the empty string.

TIBCO Designer Palette Reference

180

| Chapter 3

Adapter Resources Palette

SSL

Check this option if you want to use SSL. See Chapter 5, Managing Trusted Certificates, on page 107 in TIBCO Designer User’s Guide.

Transactional Name

Sequence of global variables used to identify the transaction session. This name must be unique across the entire network.

Default Time Limit

Default timeout value for all associated publishers, in milliseconds. Defaults to 0 (infinite).

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 G l o b a l V a r i a b l e s tab in the project panel in the upper left quadrant. For more information, see TIBCO Designer User’s Guide. Name

Name of the JMS session.

Description

Optional description of the session.

JNDI Lookups

If checked, a JMDI Server is used. In that case, a number of fields in this tab change correspondingly.

Use SSL

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.

(JNDI) Connection Factory Type

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.

(JNDI) Connection Factory Name

TIBCO Designer Palette Reference

Name of the connection factory.

|

Sessions Reference 181

(JNDI) Connection Username

Username for logging into the JMS server or JNDI server.

(JNDI) Connection Password

Password for logging into the JMS server or JNDI server.

(JNDI) Provider URL

URL of the server.

Configure SSL Dialog If you check U s e S S L in the basic configuration tab for a JMS session, a C o n f i g u r e S S L 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

Click the browse icon and select the folder in which the trusted certificates to be used by this transport are stored. See Chapter 5, Managing Trusted Certificates, on page 107 in TIBCO Designer User’s Guide.

Identity

Click the browse icon and select the identity to be used by this transport. See Chapter 5, Managing Trusted Certificates, on page 107 in TIBCO Designer User’s Guide.

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

Trace

If checked, SSL tracing is turned on.

Debug Trace

If checked, the SSL debug trace is turned on.

TIBCO Designer Palette Reference

182

| Chapter 3

Adapter Resources Palette

Verify Host Name

This field specifies that the host name of the HTTP server should be checked against the host name listed in the server’s 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 server’s 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 host’s digital certificate, the connection is refused.

Expected Host Name

This name must match the name in the certificate.

Strong Cipher Suites Only

If checked, only strong Cypher Suites are allowed. See OpenSSL v3.0 Cipher Suite List on page 182 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 15 Cipher suite list Suite Name

OpenSSL Name

E4JMS Client

SSL_RSA_WITH_NULL_MD5

NULL-MD5

C

SSL_RSA_WITH_NULL_SHA

NULL-SHA

C

SSL_RSA_EXPORT_WITH_RC4_40_MD5

EXP-RC4-MD5

C & Java

SSL_RSA_WITH_RC4_128_MD5

RC4-MD5

C & Java

SSL_RSA_WITH_RC4_128_SHA

RC4-SHA

C & Java

SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5

EXP-RC2-CBC-MD5

C & Java

SSL_RSA_WITH_IDEA_CBC_SHA

IDEA-CBC-SHA

C

SSL_RSA_EXPORT_WITH_DES40_CBC_SHA

EXP-DES-CBC-SHA

C & Java

TIBCO Designer Palette Reference

|

Sessions Reference 183

Table 15 Cipher suite list Suite Name

OpenSSL Name

E4JMS Client

SSL_RSA_WITH_DES_CBC_SHA

DES-CBC-SHA

C & Java

SSL_RSA_WITH_3DES_EDE_CBC_SHA

DES-CBC3-SHA

C & Java

SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA

EXP-EDH-DSS-DES-CBC-SHA

C & Java

SSL_DHE_DSS_WITH_DES_CBC_SHA

EDH-DSS-CBC-SHA

C

SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA

EDH-DSS-DES-CBC3-SHA

C & Java

SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA

EXP-EDH-RSA-DES-CBC-SHA

C & Java

SSL_DHE_RSA_WITH_DES_CBC_SHA

EDH-RSA-DES-CBC-SHA

C & Java

SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA

EDH-RSA-DES-CBC3-SHA

C & Java

SSL_DH_anon_EXPORT_WITH_RC4_40_MD5

EXP-ADH-RC4-MD5

C

SSL_DH_anon_WITH_RC4_128_MD5

ADH-RC4-MD5

C

SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA

EXP-ADH-DES-CBC-SHA

C

SSL_DH_anon_WITH_DES_CBC_SHA

ADH-DES-CBC-SHA

C

SSL_DH_anon_WITH_3DES_EDE_CBC_SHA

ADH-DES-CBC3-SHA

C

TIBCO Designer Palette Reference

184

| Chapter 3

Adapter Resources Palette

Transaction Control and Advisory Reference When you select the T r a n s a c t i o n C o n t r o l 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 G e n e r i c A d a p t e r C o n f i g u r a t i o n A d v a n c e d folder. When you select the A d v i s o r i e s 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 T r a n s a c t i o n

Controls

folder.

2. From the palette panel, choose a T r a n s a c t i o n drag it into the design panel.

Control Pool

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 J D B C C o n t r o l bold are required): Name

TIBCO Designer Palette Reference

Pool,

you can specify the following information (fields in

Name of this control pool.

|

Transaction Control and Advisory Reference 185

User ID

ID of the user who logs into the database.

Password

Password of the user who logs into the database.

Driver Class Name

Name of the class that represents the JDBC driver

JDBC URL

Connection URL that tells JDBC how to create a driver and connect with it to the database.

Transaction ID Table

Name of the database table where transaction commit status information is stored. Used internally by TIBCO Rendezvous TX.

Maximum Controls

Upper bound for the number of transaction controls that can be created.

Description

Optional description of this transaction control pool.

ODBC Control Pool For an O D B C

Control Pool,

you can specify the following information

Name

Name of this ODBC control pool.

Maximum Controls

Upper bound for the number of transaction controls that can be created.

Transaction ID Table

Name of the database table where transaction commit status information is stored. Used internally by TIBCO Rendezvous RVTX.

Description

Optional description of this transaction control pool.

Null Control Pool For a N u l l

control pool,

you can specify the following information

Name

Name of this Null control pool.

Description

Optional description of this transaction control pool.

TIBCO Designer Palette Reference

186

| Chapter 3

Adapter Resources Palette

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

Name of this simple control pool.

Maximum Controls

Upper bound for the number of transaction controls that can be created.

Description

Optional description of this transaction control pool.

XA Control Pool For an X A

control pool,

you can specify the following information

Name

Name of this X A

control pool.

Description

Optional description of this transaction control pool.

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

Name of this M T S

control pool.

Description

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 A d v i s o r i e s folder in the project tree. 2. From the palette panel, drag an A d v i s o r y 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 187

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 G e n e r i c 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 58 shows the layout of the default folders.

TIBCO Designer Palette Reference

188

| Chapter 3

Adapter Resources Palette

Figure 58 TIBCO Designer Generic Adapter Configuration Default Folders

Adapter Services Folder The A d a p t e r S e r v i c e s 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 A d v a n c e d folder.

Advanced Folder The A d v a n c e d 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 A d a p t e r folder. They may then access the resources in this folder for certain custom configuration. Services

TIBCO Designer Palette Reference

|

Folder Reference 189

Log Sinks Folder The L o g

Sinks

folder stores log sinks for an adapter.

You have two options for specifying logging for your adapter: •

For basic logging, use the L o g g i n g tab for the adapter instance. See Logging Tab, page 156 for information. If you are using this G e n e r i c A d a p t e r C o n f i g u r a t i o n 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 adapter’s A d v a n c e d L o g g i n g tab, then specify log sinks in the L o g S i n k s folder. See , Custom Log Sink Reference.

Sessions Folder The S e s s i o n s folder stores sessions and endpoints associated with an adapter’s 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 S e s s i o n s folder if customization not available for the service is required. See , Sessions Reference and , Custom Log Sink Reference.

Timers Folder The T i m e r s 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 199.

Transaction Controls Folder The T r a n s a c t i o n

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 184.

TIBCO Designer Palette Reference

190

| Chapter 3

Adapter Resources Palette

Advisories Folder The A d v i s o r i e s 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 186.

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 S t a r t u p tab for the adapter configuration. Load URL Resource The L o a d U R L 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 L o a d U R L . 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 191

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 G e n e r i c A d a p t e r C o n f i g u r a t i o n 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 Message Service. 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

TIBCO Designer Palette Reference

192

| Chapter 3

Adapter Resources Palette

are 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 Message Service 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

Name of this publisher.

Description

Optional description of the publisher.

Endpoint Type

Choose from the pop-up, which displays the allowed types for the current session.

TIBCO Designer Palette Reference

|

Endpoint Reference 193

Wire Format

Rendezvous Message, ActiveEnterprise Message,

or Default is A c t i v e E n t e r p r i s e M e s s a g e . If you choose Ac t i v e E n t e r p r i s e M e s s a g e , control information is included with the message. If you choose Re n d e z v o u s M e s s a g e , no control information is included with the message but control information may be included with the data. XML Message.

Subject

Subject with which this publisher will send out messages.

Reply Subject

Reply subject for this publisher.

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

Name of this publisher.

Description

Optional description.

Endpoint Type

Choose from the pop-up, which displays the allowed types for the current session.

Wire Format

Rendezvous Message, ActiveEnterprise Message,

or Default is A c t i v e E n t e r p r i s e M e s s a g e . If you choose Ac t i v e E n t e r p r i s e M e s s a g e , control information is included with the message. If you choose Re n d e z v o u s M e s s a g e , no control information is included with the message but control information may be included with the data. XML Message.

Subject

Subject with which this publisher will send out messages.

Reply Subject

Reply subject for this publisher.

Message Timeout (ms)

Time after which the message is discarded from the ledger file. Default is 0 seconds, meaning that the timeout is infinite.

Preregistered Listeners

Comma-separated list of listeners preregistered for this publisher. Refer to each listener using the C m N a m e of the session.

TIBCO Designer Palette Reference

194

| Chapter 3

Adapter Resources Palette

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

Name of this publisher.

Description

Optional description.

Endpoint Type

Choose from the pop-up, which displays the allowed types for the current session.

Wire Format

Rendezvous Message, ActiveEnterprise Message,

or Default is A c t i v e E n t e r p r i s e M e s s a g e . If you choose Ac t i v e E n t e r p r i s e M e s s a g e , control information is included with the message. If you choose Re n d e z v o u s M e s s a g e , no control information is included with the message but control information may be included with the data. XML Message.

Subject

Subject with which this publisher will send out messages.

Reply Subject

Reply subject for this publisher.

Message Timeout

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

Name of this publisher.

Description

Optional description.

Endpoint Type

For JMS publishers, there are no endpoint type choices.

Delivery Mode

Either persistent or non-persistent.

Destination

Destination used by this publisher.

Reply Destination

Reply destination for this publisher.

Message Timeout

Message timeout for this publisher.

TIBCO Designer Palette Reference

|

Endpoint Reference 195

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

Name of this publisher.

Description

Optional description.

Endpoint Type

For JMS publishers, there are no endpoint type choices.

Delivery Mode

Always non-persistent. The mode persistent cannot be used with JMS Queue publishers.

Destination

Destination used by this publisher.

Reply Destination

Reply destination for this publisher.

Message Timeout

Message timeout for this publisher.

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

Name of this subscriber.

Description

Optional description of the subscriber.

TIBCO Designer Palette Reference

196

| Chapter 3

Adapter Resources Palette

Endpoint Type

Choose from the pop-up, which displays the allowed types for the current session.

Wire Format

Rendezvous Message, ActiveEnterprise Message,

or Default is A c t i v e E n t e r p r i s e M e s s a g e . If you choose Ac t i v e E n t e r p r i s e M e s s a g e , control information is included with the message. If you choose Re n d e z v o u s M e s s a g e , no control information is included with the message but control information may be included with the data. XML Message.

Subject

Subject with which this publisher will send out messages.

Listen Timeout (ms)

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

Name of this subscriber.

Description

Optional description of the subscriber.

Endpoint Type

For JMS Subscribers, there is no choice to make.

Delivery Mode

Either durable or non-durable. Note: For subscribers using a queue session, durable is not an option.

Destination

Destination for this JMS subscriber.

Auto-confirm

If this box is checked, the SDK automatically confirms events for this subscriber.

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 197

See "The SDK Operation Model" in TIBCO Adapter SDK Programmer’s 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 R e q u e s t - R e s p o n s e for RV or RVCM. Each Rendezvous R e q u e s t - R e s p o n s e allows you to specify the following information:

Invocation Service Invocation Service

Name

Name of this client.

Description

Optional description of this client.

Endpoint Type

Choice of endpoint types for the session to which the client currently belongs.

Subject

Subject with which this client communicates with the server.

Invocation Timeout (ms)

If no reply is received by the client after this timeout, the application gets an error notification.

JMS Request-Response Invocation Service Each JMS Request-Response Invocation Service allows you to specify the following information: Name

Name of this client.

Description

Optional description of this client.

Delivery Mode

Non-Persistent or Persistent.

Endpoint Type

Choice of endpoint types for the session to which the client currently belongs.

Destination

Destination used to communicate with the server.

Invocation Timeout (ms)

If no reply is received by the client after this timeout, the application gets an error notification. TIBCO Designer Palette Reference

198

| 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 R e q u e s t - R e s p o n s e or RVCMQ.

Service

for RV, RVCM,

Each server allows you to specify the following information: Name

Name of this server.

Description

Optional description of this server.

Endpoint Type

Choice of endpoint types for the session to which the client currently belongs.

Subject

Subject with which this server communicates with clients.

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

Name of this server.

Description

Optional description of this server.

Endpoint Type

Choice of endpoint types for the session to which the client currently belongs.

Delivery Mode

Either durable or non-durable.

Destination

Destination used to communicate with the client.

TIBCO Designer Palette Reference

|

Endpoint Reference 199

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 T i m e r s folder 2. Drag a T i m e r from the palette panel into the design panel. 3. Specify configuration information for the timer. Name

Name of this timer.

Interval (milliseconds)

Trigger interval in milliseconds (for repeating timers)

Repeating

If checked, this is a repeating timer. If not checked, this is a once-only timer.

Session Reference

Click the Browse icon to associate a session with this timer.

Adding Schema to Endpoints As a rule, it is best to add schema to endpoints using the S c h e m a s 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

200

| Chapter 3

Adapter Resources Palette

TIBCO Designer Palette Reference

| 201 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 202



TIBCO Designer Schema Reference, page 208



Schema Resource Reference, page 223



TIBCO Designer Adapter Schema Folders, page 227

TIBCO Designer Palette Reference

202

| Chapter 4

Adapter Schema Palette

Understanding Schema Management TIBCO Designer is used for configuration of adapters and TIBCO ActiveMatrix 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. 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. 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 205.

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 203

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

204

| 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 205. 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 206. Default Schema Resources A number of schema resources are included in the A E S c h e m a s folder by default. These resources represent schema that are recognized by the TIBCO Adapter SDK. They include: •

ae—ActiveEnterprise schema data



ae folder—Contains default predefined ActiveEnterprise resources, such as M A d v i s o r y D o c u m e n t or M B u s i n e s s D o c u m e n t .

To use any of these resources, you should always first drag an A E S c h e m a resource into the Design panel, then add your own resources to the folders that are created. •

c o r b a —CORBA



j a v a —java



s q l —SQL

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 205

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 adapter’s 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

206

| 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 A E S c h e m a s folder. Defining Schema—Overview 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 A E S c h e m a s folder and double-click the ae folder. 2. From the palette panel, select a F o l d e r resource (G e n e r a l palette) and drag it into the design panel. 3. Name the folder appropriately for your adapter. It is highly recommended you use a separate F o l d e r inside A E S c h e m a s 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 190. 4. From the palette panel, select an A E S c h e m a resource (Adapter Schemas palette) and drag it into the design panel.

TIBCO Designer Palette Reference

|

Understanding Schema Management 207

The A E S c h e m a 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 209 and Defining a Class with Operations on page 212. When you are configuring a service, you can then add the schema to the service by clicking the Browse icon in the S c h e m a s 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

208

| 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 G e n e r i c A d a p t e r C o n f i g u r a t i o n . 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 A E S c h e m a s folder immediately under the top-level folder. The A E S c h e m a s 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 A E S c h e m a s folder.



When you configure a custom adapter, you create schemas inside the A E S c h e m a s 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 A E S c h e m a s folder, for example, a Classes folder or an individual class resource in the project tree, the A d a p t e r S c h e m a palette is displayed in the palette panel.

TIBCO Designer Palette Reference

|

TIBCO Designer Schema Reference 209

You use this palette to define schema for your adapter. See Defining Custom Adapter Schema on page 206 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 209 and Defining a Class with Operations on page 212.



Add a class field to your class object. See Adding Class Attributes on page 210.

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 A E S c h e m a s folder, then the a e folder. 2. Drag a F o l d e r resource into the a e folder displayed in the design panel and name it appropriately for your adapter. 3. Drag an A E S c h e m a resource into the folder. Open the A E S c h e m a resource and select its C l a s s e s folder. 4. In the palette panel, select the Generic Class icon and drag it into the design panel. 5. For the C l a s s

Type

field, select S c h e m a , 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

210

| 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 210 Adding Union Fields, page 211 Adding Sequence Fields, page 211 Adding Scalar Fields, page 211 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 203 for more information. TIBCO Designer Palette Reference

|

TIBCO Designer Schema Reference 211

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 218: 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 G e n e r i c into the design panel and choose Schema as the type.

Class

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 218 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 G e n e r i c into the design panel and choose Schema as the type.

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 221 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 G e n e r i c 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

212

| 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 Programmer’s 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 A E S c h e m a s folder, then the a e folder. 2. Drag a Folder resource into the a e folder displayed in the design panel and name it appropriately for your adapter. 3. Drag an A E S c h e m a resource into the folder. Open the A E S c h e m a resource and select its C l a s s e s folder. 4. In the palette panel, select the G e n e r i c panel. 5. For the C l a s s

Type

Class

field, select O p e r a t i o n

icon and drag it into the design

Schema,

then click Apply.

6. You can now add operations to the class (see Adding Operations to an Operation Class on page 212). 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 O p e r a t i o n class, follow these steps: 1. Select the O p e r a t i o n resource in the project tree.

TIBCO Designer Palette Reference

|

TIBCO Designer Schema Reference 213

2. From the palette panel, drag the O p e r a t i o n 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 A E S c h e m a / a e / S c a l a r s folder or a predefined class. c. Click the O n e

Way

check box if this is a one way operation.

3. Select the p a r a m e t e r s 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 G e n e r i c

Scalar

into the design panel.

b. Specify a name, the type (S t r i n g ), and optional direction (I n ). I n —In

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

I n / O u t —Both O u t —Only

client and server can set the value.

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 E x c e p t i o n s 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 G e n e r i c

Class

into the design panel.

b. Specify a name and click Browse to select a class. c. Choose A E S c h e m a s / a e / M A d v i s o r y D o c u m e n t to indicate this exception returns an M A d v i s o r y D o c u m e n t 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

214

| 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 A E S c h e m a s folder, then the a e folder. 2. Drag a Folder resource into the a e folder displayed in the design panel and name it appropriately for your adapter. 3. Drag an A E S c h e m a resource into the folder. Open the A E S c h e m a resource and select its C l a s s e s folder. 4. In the palette panel, select the G e n e r i c panel. 5. For the C l a s s

Type

Class

field, select O p e r a t i o n

icon and drag it into the design

Schema,

then click Apply.

6. Select the O p e r a t i o n S c h e m a class in the project tree. From the palette panel, drag an O p e r a t i o n 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 A E S c h e m a / a e / S c a l a r s 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 P a r a m e t e r s folder of the operation. From the project tree, drag in the resources representing the parameter types. See Defining Operation Parameters on page 214. 9. Select the E x c e p t i o n s 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 215



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 217. 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 214. 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. In—In parameter. The client can set the value and invoke the operation. In/Out—Both client and server can set the value. Out—Only 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 214. 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. 4. Select the operation direction. In—In parameter. The client can set the value and invoke the operation. TIBCO Designer Palette Reference

216

| Chapter 4

Adapter Schema Palette

In/Out—Both client and server can set the value. Out—Only 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 214. 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. In—In parameter. The client can set the value and invoke the operation. In/Out—Both client and server can set the value. Out—Only 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 214. 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. 4. Select the operation direction. In—In parameter. The client can set the value and invoke the operation. In/Out—Both client and server can set the value. Out—Only the server can set the value and send the reply back to client. 5. Click Apply.

TIBCO Designer Palette Reference

|

TIBCO Designer Schema Reference 217

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 214. 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 i n t , l o n g , c h a r , b y t e , and d a t e . 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, a e / f i x e d , a e / b i n a r y , a e / c h a r ), 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. 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. TIBCO Designer Palette Reference

218

| Chapter 4

Adapter Schema Palette

2. From the palette panel, drag a G e n e r i c

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 C l a s s e s folder. 2. In the palette panel, select a G e n e r i c

Class

and drag it into the design panel.

3. In the configuration panel, select S c h e m a 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: Name—Name of the attribute Type—Select the appropriate type from the pop-up. Default Value—Specify the default value for this field. This information is optional and no type checking is performed. Keyfield—Select if this is a key field. Readable—Select if you want for this field to be readable. Writable—Select 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. Defining Union Objects Define one or more U n i o n objects as follows: 1. Select the U n i o n folder. 2. From the palette panel, drag a G e n e r i c

TIBCO Designer Palette Reference

Union

into the design panel.

|

TIBCO Designer Schema Reference 219

3. Give the U n i o n a name, then add members to the U n i o n . 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 219



Adding Sequence Reference Union Members on page 219



Adding Scalar Reference Union Members on page 220



Adding Union Reference Union Members on page 220

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 M B u s i n e s s D o c u m e n t into the design panel. TIBCO Designer creates a reference to M B u s i n e s s D o c u m e n t and makes it the first union member. 3. Drag a second class, for example, an M A d v i s o r y D o c u m e n t 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 M B u s i n e s s D o c u m e n t or M A d v i s o r y D o c u m e n t . You can add more than 2 class references as union members. You can also mix class references and other references. 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.

TIBCO Designer Palette Reference

220

| Chapter 4

Adapter Schema Palette

2. From the project tree, drag an existing sequence into the design panel. See Sequences on page 221. 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 217. 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. 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 U n i o n in the project tree. 2. From the project tree, drag a union into the design panel. See Unions on page 218. TIBCO Designer creates a reference to the union. TIBCO Designer Palette Reference

|

TIBCO Designer Schema Reference 221

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 S e q u e n c e folder. 2. From the palette panel, drag a G e n e r i c

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. 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.

TIBCO Designer Palette Reference

222

| Chapter 4

Adapter Schema Palette



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 m i n M u l t i p l i c i t y and m a x M u l t i p l i c i t y 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 m i n M u l t i p l i c i t y = 2 and m a x M u l t i p l i c i t y = 4. See any reference on UML for more details.

TIBCO Designer Palette Reference

|

Schema Resource Reference 223

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 219.



When you add a class as an exception to the Exceptions folder of an operation. See Defining Exception Parameters on page 217.



When you add a class to an endpoint to restrict the data it should work with. See Defining Custom Adapter Schema on page 206.

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

TIBCO Designer Palette Reference

224

| 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 220.



When you add a scalar as an exception to the Exceptions folder of an operation. See Defining Exception Parameters on page 217.



When you add a scalar to an endpoint to restrict the data it should work with. See Defining Custom Adapter Schema on page 206.

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 220.



When you add a union as an exception to the Exceptions folder of an operation. See Defining Exception Parameters on page 217.



When you add a union to an endpoint to restrict the data it should work with. See Defining Custom Adapter Schema on page 206.

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 219.



When you add a sequence as an exception to the Exceptions folder of an operation. See Defining Exception Parameters on page 217.



When you add a sequence to an endpoint to restrict the data it should work with. See Defining Custom Adapter Schema on page 206.

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 203.

TIBCO Designer Palette Reference

|

Schema Resource Reference 225



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 210.



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 223.

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 217.



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 211.



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 224.

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 218.



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 211.



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 224.

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

226

| 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 221.



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 211.



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 224.

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 210.

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 211.

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 211.

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 211.

TIBCO Designer Palette Reference

|

TIBCO Designer Adapter Schema Folders 227

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 187. 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 A E S c h e m a s folder to organize Schema resources.

AESchemas Folder The A E S c h e m a s 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

228

| 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 Programmer’s Guide for more information.

Scalars Folder The S c a l a r s folder is a container for all scalars used by all applications in your project. It contains folders for scalars commonly used by applications. •

The S c a l a r s folder under A E S c h e m a s / a e contains TIBCO ActiveEnterprise scalars. For information on mapping between those scalars and C++ and Java types, see the TIBCO Adapter SDK Programmer’s Guide.



The S c a l e r s folder under A E S c h e m a s is meant to hold a folder for the scalars used as schema by your application.

For more information, see Scalars on page 217

Unions Folder The U n i o n s 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 218

Sequences Folder The S e q u e n c e s 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 Programmer’s Guide for more information. For more information on using sequences inside TIBCO Designer, see Sequences on page 221

Associations Folder The A s s o c i a t i o n s folder is a container for all associations used by all applications in your project. For more information, see Associations on page 221.

TIBCO Designer Palette Reference

| 229 Chapter 5

Repository Palette

The R e p o s i t o r y 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 R e p o s i t o r y 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 R e p o s i t o r y palette and associated R e p o s i t o r y manage multi-file projects.

Finder

to

Topics •

Introduction, page 230



Managing Repository Instances, page 239



Managing Repository Content, page 245



Menus and Toolbar Icons, page 253

TIBCO Designer Palette Reference

230

| 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 231

You can view and manipulate any repository using Repository Finder. This includes repositories saved as projects from TIBCO 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 project’s 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 231.



Manage repository instances. See Introduction on page 230.



Stop a repository server. See Stopping a Repository Server, page 243.



Manage data inside the repository. See Introduction on page 230.

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 . d a t format. You cannot locate repositories for multi-file projects.

TIBCO Designer Palette Reference

232

| 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 231. 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 233

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. Here’s 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 230. e. If you want to look for both local and remote repositories, go on to the next step.

TIBCO Designer Palette Reference

234

| 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 235

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 A d v a n c e d tab, then turn on advanced browsing and editing. See Viewing Attributes of Repository Objects, page 249 and Modifying Attributes Inside Repository Objects, page 249. 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

236

| 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 Here’s 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 . d a t 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 237

Directories and Objects When you go lower in the hierarchy, you see repository directories and objects. See Repository Directory, page 238 and Repository Object, page 238 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 230 for information on the operations you can perform. TIBCO Designer Palette Reference

238

| 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 239

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 230. 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 TIBCO Designer User’s 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

240

| 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 241 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 r e m o t e R e p o s directory associated with that server.

TIBCO Designer Palette Reference

|

Managing Repository Instances 241

If you like, you can specify additional information. See Specifying Additional Repository Information on page 241. 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 G e n e r a l tab selected), specify the following information: Display Name

Display name for this repository

Encoding

Specify the encoding you intend to use for this project’s 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

Person to contact.

Description

Description of this repository.

Support Info

Support information for this repository.

TIBCO Designer Palette Reference

242

| Chapter 5

Repository Palette

IsDefault

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.

Instance Type

Either LocalFile for a local file repository or remoteRV for any repository managed by a server.

File Type

Either BIN or XML, as specified during repository creation.

Dir Name

(Local only) Directory in which this repository is stored.

Request Subject Prefix

TIBCO Rendezvous request subject prefix for this repository.

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 243

You are prompted for information about the new repository. For local file repositories: Instance Name

Name of the instance.

Display Name

Display name.

File Type

Either XML or BIN.

Dir Name

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 panel’s 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

244

| 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 245

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 R e p o E x p o r t and R e p o I m p o r t command line tools, available in < T I B C O _ C O R E _ H O M E > / t r a / < v e r s i o n > / b i n 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 R e p o I m p o r t and R e p o E x p o r t 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

246

| 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 R e p o E x p o r t 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 247

5. Click No if you want to partially replace the existing repository. In that case, 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 247. 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 A d v a n c e d tab specifies information for both local and remote repositories.

TIBCO Designer Palette Reference

248

| 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

Password to access the repository. This might be needed if the repository is stored in a database.

Advanced Browsing

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.

Advanced Editing

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.

TIBCO Designer Palette Reference

|

Managing Repository Content 249

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 A d v a n c e d 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 s t a t u s M s g has an a t t r i b u t e T y p e 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, a t t r i b u t e T y p e , and i s K e y are properties of the attribute. Custom properties are also allowed.

TIBCO Designer Palette Reference

250

| 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 230. 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 d e f a u l t S t a r t u p property of the startup attribute is being edited.

TIBCO Designer Palette Reference

|

Managing Repository Content 251

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 16 for explanation):

up/down delete

association list

load file into a byte array (file => byte array)

binary

save the value of a binary property into a file (byte array => file)

reference string

Table 16 Icons in Extended Properties Editor Icon

Description

Association list icon

Click to add an association list below the current location.

Binary icon

Click the binary icon to add a property a byte array stored in a file. After you’ve added the binary, you can click the file => byte array or byte array => file icons

File => byte array

Loads a file into a byte array.

Byte array => File

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.

Reference Icon

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 / t i b c o , for example, /tibco/public/session/.../mySession.

TIBCO Designer Palette Reference

252

| Chapter 5

Repository Palette

Table 16 Icons in Extended Properties Editor Icon

Description

String

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 253

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 TIBCO Designer User’s 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

Displays online help.

Create Repository Instance

Prompts you for information about the repository instance you wish to create. See Creating Repository Instances on page 239.

Start Repository Instance

Prompts you for the name of an instance to start. (Not available from Local File Repositories icon).

Stop Repository Server

Stops the selected (Not available from Local File Repositories icon).

Add Resource

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

254

| 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

Clones a repository instance. See Cloning Repository Instances, page 242.

Export Repository Instance

Exports a repository instance. See Exporting an Instance, page 245.

Import Repository Imports a repository instance. See Importing an Instance, Instance page 246. Delete Repository Instance

Deletes a repository instance. See Deleting Repository Instances, page 243.

Add Resource

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 instance’s right-button menu. Export to XML File—Exports 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 Repository—Displays 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 Repository—Creates a copy of the selected repository.

TIBCO Designer Palette Reference

| 255

Index

A adapter endpoints 205 adapter schemas palette 208 adapters configuring 203 creating 145 Add Module button 102 Add Namespace button 55 adding 15 adding adapters 145 adding class fields 210 adding class union members 219 adding color to tags 129 adding new XML resource 15 adding operations 212 adding scalar union members 220 adding sequence union members 220 adding unions as union members 219 Advanced folder 188 Advanced pane Notations tab 65 Advanced panel 63, 103 advanced repository management 247 advisories 186 Advisories folder 190 aliases for attributes 129 aliases for elements 129 all content models 36 all occurrence indicators 35 appendmode attribute 171 association lists 249 associations 221 types 222

attributes 38, 149, 209, 249 adding 209 aliases 129 declaring 51 hiding 128 inserting 122 promoted 130 Attributes panel 50, 93

B blue ellipsis icon 135 building content model with reusables 91 building content models content model editor 49, 91 occurrence and sequence indicators 45, 87 building documents 138

C choice 34 class 209, 212 adding attributes 209 class fields 210 class reference 219 client service 164 clients 196 cloning repository instances 242 cmname attribute 177 cmqname attribute 178 collapsing elements 128 collapsing markup view 135 color adding to tags 129 TIBCO Designer Palette Reference

256

| Index color options 129 comments 124 inserting 122 common table columns 26, 27 completed content model 46 Configuration panel 38, 82, 120 Configuration tab 156 configuring standard adapters 203 Constraints tab 61 content hints 132 as tool tip 125 content model diagram 33, 49 editor 49, 91 example 46, 89 specifying data type 36 Content model diagram 36 content model diagram 33, 93 modifying display 36 navigating 36 content model editor 49, 91 content panel 121, 138 edit area 131 tag area 122 control pools JDBC 184 MTS 186 Null 185 ODBC 185 XA 186 creating internal parameter entities 104 creating local repository instances 239 creating repository instances 239, 240 custom adapters 204 custom log sinks 147 customer support xvii customized view tag area 126 customizing documents 139

D daemon attribute 175, 176, 178, 179

TIBCO Designer Palette Reference

data type creating 66 specifying in content model panel 36 data types panel 66 declaring attributes 51 defaulttimelimit attribute 177 defining external general entities 107 defining external unparsed entities 107 defining internal general entities 106 deleting items 149 deleting repository instances 243 directories 237, 247 document-building options 139 documents customizing 139 modifying structure 124 navigating 125 populating 139 DTD 82 DTD example, examples DTD 113

E element list 84 element/type list 41 element/types list 41 elements aliases 129 collapsing 128 expanding 128 hiding s 128 inserting 122 promoted 130 elements panel list 84 elements/types list 40 endpoints 205 overview 191 entry constraints 125 enumeration tab 62, 103 Properties pane 103 Errors panel 110, 135

|

Index 257

example building simple schema 70 defining and deriving complex and simple types 76 examples building a content model 46, 88 creating a schema 18 creating a user-derived data type 67 creating or editing an attribute 51, 98 including declarations from another schema 57, 102 referencing an element from another namespace 55 exception parameters 217 exceptions folder 215 expanding elements 128 expanding markup view 135 exporting and importing repository instances 245 exporting instances 245 exporting repository instances 243, 245 exporting to XML 254 external general entity 106, 107 external parameter entities 105 external unparsed entity 107

F factory bar 123 fields type class 210 type scalar 211 type sequence 211 type union 211 file sink 171 folders Advanced 188 Advisories 190 Log Sinks 189

G

getting started instance resources 21 schema and DTD resources 17 XML tools palette 15 graphical view schema 75, 117

H hawk sink 173 hiding attributes 128 hiding elements 128

I identifying data entry constraints 125 importing an instance 246 importing namespace 55 importing repository instances 243, 245 importing XML files 254 Insert box 122, 123 inserting attributes 122 elements 122 inserting comments 122, 124 inserting processing instructions 122 instance 119 instance editing environment 22 instance resources getting started 21 internal general entities 106 internal general entity 106 internal parameter entities 91 internal parameter entity 104 introduction to XML 14 item right-button menu 127

general entities 106 general entity 105, 106, 107 generic adapter configuration 145 TIBCO Designer Palette Reference

258

| Index J JDBC control pool 184

L ledgerfile attribute 177 legacy adapters 204 Load URL 190 local instance 236 local repository instances 239 locating repositories 231 log sinks custom 147 folder 189 overview 170 logging tab 156

M markup format 134 markup view collapsing 135 expanding 135 menu options 28 metadata 237 mixed content model 35 modifying attributes 249 modifying display of content model diagram 36 modifying document structure 124 monitoring tab 158 MTS control pool 186 multiplicity 222

N namespace 55 Namespaces tab 63 navigating content model diagram 36 TIBCO Designer Palette Reference

navigating the document 125 Navigator bar 125 network attribute 175, 176, 178, 179 network sink 172 new data type 66 new resource 15 Notations tab 64 Advanced pane 65 Notes panel 68, 110 null control pool 185

O objects 237, 247 occurrence indicators 35, 45, 87 ODBC control pool 185 operation exceptions folder 215 operation parameter folder 214 operation parameters 214 operations 212, 213 defining 214 exception parameters 217 parameters 214 optional and repeatable set of choices 35 Overview panel 53, 100 Overview tree 54, 101 overwriting traces 171

P panels 24 Parameter entities tab 104 parameter folder 214 parameters type class 215 type scalar 216 type sequence 215 type union 216 populating documents 139 processing instructions 109 inserting 122

|

Index 259

projects 230 promoted attributes 130 promoted elements 130 properties 149 Properties pane enumeration tab 103 Properties panel 58, 102 Properties tab 58 publisher services 160 publishers default time limit 177, 180

R reading the content model diagram 33 referencing complex types in other schemas 81 referencing elements from another namespace 56 referencing parameter entities within a content mode 104 referencing reusable (internal) parameter entities 92 repositories 230 repository directories 247 repository directory 238 repository finder 231 repository instance 237 repository instances cloning 242 creating 239, 240 exporting 243, 245 importing 243, 245 locating 231 starting 244 stopping 244 repository management 247 repository object 238 repository objects 247 viewing 249 repository palette 237 repository server 236 repository servers locating 231 stopping 243 request-response invocation service 164

request-response server 167 requireoldmessages attribute 177 resizing rows to allow for additional promotion 131 resource creating 15 reviewing schema 75, 117 right-button menu 124 row format (default view) 134 RPC class 212 rv publisher 192 rv session 175 rv tx publisher 194 rva session 175 rvcm publisher 193 rvcm session 176 rvcm sessions defaultTimeLimit attribute 177 ledger files 177 rvCmSession attribute 177 rvcmq session 177 rvtx session 180

S scalar fields 211 scalar reference 220 scalars 217 scheduleractivation attribute 179 schedulerheartbeat attribute 178 schedulerweight attribute 178 schema 37 graphical view 75, 117 reviewing 75, 117 schema and DTD resources getting started 17 Schema menu 40, 83 schema and DTD resources 28 Schema properties panel 68, 110

TIBCO Designer Palette Reference

260

| Index schemas and tibco designer 205 basics 203 example 206 folder 208 overview 203 selecting a hidden element to show 128 sequence 34 sequence fields 211 sequence indicators 45, 87 sequence reference 220 sequences 221 server service 167 server-based instance 236 servers 198 stopping 243 servers and instances 236 service attribute 175, 176, 178, 179 services client 164 publisher 160 request-response 167 request-response invocation 164 server 167 subscriber 162 sessions 145 sessions folder 189 setting a schema 120 Show as markup 134 Show as Rows 134 siblings displayed on navigator bar 126 simple control pool 186 sinks file sink 171 hawk sink 173 Source panel 69, 112, 136 Source view 76, 117 specifying additional repository information 241 specifying an alias 129 specifying data type in content model panel 36 specifying values for existing properties 149 standard adapter endpoints 205 standard adapters 203 starting repository instances 244 startup tab 157 TIBCO Designer Palette Reference

statistics 38, 82 stdio sink 172 stopping repository instances 244 stopping repository servers 243 subscriber service 162 subscribers 196 support, contacting xvii

T tag area customized view 126 tags adding color 129 technical support xvii terminology 148, 249 TIBCO Rendezvous 237 timer 199 timers folder 189 toolbar 40, 83, 120 toolbar buttons 27 traces maximum file size 171 number of rollover files 171 overwrite vs. append 171 transaction controls 184 transaction controls folder 189 type right-button menu 127

U unacknowledged messages 177 understanding file count and file limit 171 union fields 211 union members 219, 220 union reference 219 unions 218, 219 unparsed entity 107

|

Index 261

V viewing attributes 249

X XA control pool 186 XML introduction 14 XML file 254 XML instance editing environment 119 XML instance exercise 137 XML menu 120 XML menu (instance resources) 30 XML resource 15 XML schema exercises 70 XML tools palette getting started 15 XML tools palette resources common table columns 27

TIBCO Designer Palette Reference

262

| Index

TIBCO Designer Palette Reference

TIBCO Designer Palette Reference.pdf

Sign in. Loading… Whoops! There was a problem loading more pages. Retrying... Whoops! There was a problem previewing this document. Retrying.

2MB Sizes 2 Downloads 146 Views

Recommend Documents

TIBCO BusinessWorks Palette Reference.pdf
TIBCO BusinessWorks Palette Reference.pdf. TIBCO BusinessWorks Palette Reference.pdf. Open. Extract. Open with. Sign In. Main menu. Displaying TIBCO ...

TIBCO BusinessWorks Palette Reference.pdf
TIBCO BusinessWorks Palette Reference.pdf. TIBCO BusinessWorks Palette Reference.pdf. Open. Extract. Open with. Sign In. Main menu. There was a problem ...

TIBCO Designer User Guide.pdf
TIB, TIBCO, Information Bus, The Power of Now, TIBCO Adapter, TIBCO Administrator, TIBCO. ActiveMatrix BusinessWorks, TIBCO Designer, TIBCO Enterprise Message Service, TIBCO. Rendezvous, TIBCO Repository, and TIBCO Runtime Agent are either registered

TIBCO BusinessWorks Process Design Guide.pdf
Page 1 of 377. TIBCO ActiveMatrix. BusinessWorksTM. Process Design Guide. Software Release 5.6. November 2007. Page 1 of 377 ...

Art Palette Contest_Page_2.pdf
Whoops! There was a problem loading more pages. Retrying... Whoops! There was a problem previewing this document. Retrying... Download. Connect more ...

TIBCO BusinessWorks Quick Start Guide.pdf
Page 2 of 24. Important Information. SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH. EMBEDDED OR ...

TIBCO Enterprise Message Service User Guide.pdf
13. Page 3 of 602. TIBCO Enterprise Message Service User Guide.pdf. TIBCO Enterprise Message Service User Guide.pdf. Open. Extract. Open with. Sign In.

TIBCO Runtime Agent Domain Utility User Guide.pdf
24. Page 3 of 108. TIBCO Runtime Agent Domain Utility User Guide.pdf. TIBCO Runtime Agent Domain Utility User Guide.pdf. Open. Extract. Open with. Sign In.

CertBus-Tibco-TB0-123-Study-Materials-Braindumps-With-Real ...
CertBus-Tibco-TB0-123-Study-Materials-Braindumps-With-Real-Exam.pdf. CertBus-Tibco-TB0-123-Study-Materials-Braindumps-With-Real-Exam.pdf. Open.

tom's palette – ice cream shop
TOM'S PALETTE – ICE CREAM SHOP. January 2010. Monthly Outing for Tom's Palette! It's not all work and no play for Tom's Palette! On the. 11 th. Jan, Tom's ...

TIBCO Enterprise Message Service User Guide.pdf
EJB, JAVA EE, J2EE, and all Java-based trademarks and logos are trademarks or registered trademarks ...... TIBCO Enterprise Message Service User Guide.pdf.

Mimicry's palette: widespread use of conserved ...
To capture the measured reflectance spectra, we used the program Spectrasuite (Ocean .... Campbell and and W. W. Lamar (eds.). The Venomous Reptiles of ...

Design_Graphic Designer JD.pdf
Must possess at least a Bachelor's/Vocational Certificate/College Degree in Fine Arts/Graphic Design or. equivalent. Working knowledge of Adobe Photoshop, ...

senior graphic designer
Package design for Dorman Products, Colmar, PA. Duties include package and display design for household and automotive hardware sold in retail stores such as: Target, Walmart, Home Depot,. Lowes, Pepboys, Autozone, and more. September 2007 – Presen

Elixir Ad Hoc Designer
Current export formats include exporting as HTML webpage, an Adobe Acrobat PDF document ... and Remote designer for more details and available classes.

CAD Designer .pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. CAD Designer .