Class Reference
%CSP.Documatic
Server:basexml
Instance:SOAXML
User:UnknownUser
 
-
  [BASEXML] >  [%CSP] >  [Documatic]
Private  Storage

class %CSP.Documatic extends %CSP.Page

This class is used internally by Caché. You should not make direct use of it within your applications. There is no guarantee made about either the behavior or future operation of this class.

Automatic HTML Document Generator for Caché classes.

To use, point a browser at: http://127.0.0.1:1972/csp/docbook/%25CSP.Documatic.cls.

The documentation for a class can consist of just plain text, or it may have embedded HTML tags. When present, these tags are also sent to the browser displaying the class page. Thus, it is possible to exert finer control over the presentation of class information such as list formatting, definitions, even tables.

If HTML is used to enhance the display, the user should take care to follow the HTML standard and insert as little markup as necessary to accomplish the job. The reason for this is that the class documentation may be viewed on many different browsers, each of which has its own extensions. The closer the HTML is to the standard (and to those features of the standard that all browsers support), the better the chance that the information will appear the same on all displays.

Documatic also supports several special tags in addition to those defined by HTML:

  1. <CLASS>Classname</CLASS> This produces a link that when clicked on will take you to the documentation for the class named 'Classname'.
  2. <METHOD>Method</METHOD> Produces a link that will take you to the method called 'Method' in the current class.
  3. <PROPERTY>Property</PROPERTY> Produces a link that will take you to the documentation for property 'Property' in the current class.
  4. <QUERY>Query</QUERY> Produces a link that will take you to the documentation for the query 'Query' in the current class.
  5. <PARAMETER>Parameter</PARAMETER> formats the method parameter 'Parameter' in the parameter style.
  6. <EXAMPLE>Set A="Test</EXAMPLE> Formats the text enclosed in the <EXAMPLE></EXAMPLE> tags as a code example. This will syntax highlight the code if possible, as well as formatting it to look pretty. You can include the other tags 1-5 inside an <EXAMPLE> tag, however no other HTML formatting will work inside an <EXAMPLE> tag. By default it assumes the language you are entering the example in is COS, if you wish to specify another language use <EXAMPLE LANGUAGE=BAS> for Basic, if you do not wish it to attempt to color the language enter <EXAMPLE LANGUAGE=NONE>.
  7. <link href="/AboutStreams.html"> Documentation on streams</link> Creates a link to this document using the stream server when coming from CSP so that this document can still be served when you are going through a web server or when you are going to the built in web server.

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
5 72 3


Summary

Methods
%ClassIsLatestVersion %ClassName %DispatchClassMethod %DispatchGetModified
%DispatchGetProperty %DispatchMethod %DispatchSetModified %DispatchSetMultidimProperty
%DispatchSetProperty %Extends %GetParameter %IsA
%OriginalNamespace %PackageName ConvertParameter Decrypt
DefaultNS DefinedByClose DefinedByExecute DefinedByFetch
DrawUsername Encrypt EscapeHTML EscapeURL
HyperEventBody HyperEventCall HyperEventFrame HyperEventHead
ImplementedByClose ImplementedByExecute ImplementedByFetch Include
InsertHiddenField InsertHiddenFields IsPrivate Link
OnHTTPHeader OnPage OnPageError OnPostHTTP
OnPostHyperEvent OnPreHTTP OnPreHyperEvent Page
QuoteJS ReferencedByClose ReferencedByExecute ReferencedByFetch
RenderCacheSQLStorageDef RenderCacheStorageDef RenderClassPage RenderCode
RenderDescription RenderIndexPage RenderNameSpaceList RenderNameSpacePage
RenderPackageInfo RenderPackagePage RenderStorageDef RenderStoragePage
RewriteURL ShowError StartTimer StopTimer
SwapNS ThrowError UnescapeHTML UnescapeURL

Subclasses
%CSP.Documatic.CubeInfo %CSP.Documatic.PrintClass

Parameters

• parameter CSPURL = "/csp/documatic/%CSP.Documatic.cls";
This parameter is used to make sure that if multiple CSP applications are mapped to the same namespace that the CSP engine can correctly identify which class corresponds with which URL. If 'LockCSPName' is true (the default, defined in the CSP application) then you can only access this page if the url exactly matches this 'CSPURL'. You can set this parameter to "" if you wish to disable this check for this class. This check is applied for all CSP urls (cls/csp/zen).
If this page was compiled from a .csp file, then this parameter is automatically set to contain the url of this file used for compilation.
• parameter DEFAULTNS = "%SYS";
• parameter DOMAIN = "%Utility";
Default Localization Domain
• parameter EMPTYNS = "-EMPTY NAMESPACE-";
• parameter URL = "%25CSP.Documatic.cls";

Methods

• classmethod DefaultNS() as %String
• classmethod DefinedByClose(QHandle As %Binary) as %Status
• classmethod DefinedByExecute(ByRef QHandle As %Binary, type As %String, member As %String) as %Status
• classmethod DefinedByFetch(ByRef QHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
• classmethod DrawUsername()
Draw username or server name depend on setup.
• classmethod ImplementedByClose(QHandle As %Binary) as %Status
• classmethod ImplementedByExecute(ByRef QHandle As %Binary, type As %String, member As %String) as %Status
• classmethod ImplementedByFetch(ByRef QHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
• classmethod OnPage() as %Status
Event handler for PAGE event: this is invoked in order to display a csp page. This method is called to render a class document to a browser.
• classmethod OnPreHTTP() as %Boolean
Write out any cookies we want to hold onto.
• classmethod ReferencedByClose(QHandle As %Binary) as %Status
• classmethod ReferencedByExecute(ByRef QHandle As %Binary, refclass As %String) as %Status
• classmethod ReferencedByFetch(ByRef QHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
• classmethod RenderCacheSQLStorageDef(cdef As %ClassDefinition, sdef, ss, lbl) as %Status
Generate an HTML page for the class cdef serial storage definition.

Set issuper true for superclasses of the currently viewed class.

• classmethod RenderCacheStorageDef(cdef, sdef, ss, lbl) as %Status
• classmethod RenderClassPage(cdef As %ClassDefinition, private As %Boolean) as %Status
Generate an HTML page for the class cdef.
• classmethod RenderCode(streamIn As %CharacterStream, lang As %String, streamOut As %AbstractStream)
Color the code in streamIn based on the language lang and return the result in the stream streamOut. If lang is 'NONE' then it will not try and syntax color the example code.
• classmethod RenderDescription(thisclass As %String, desc As %String, starttag As %String, endtag As %String)
Write a description string out as HTML. Apply substitutions for documatic tags.
• classmethod RenderIndexPage(%library As %String, expand As %String) as %Status
Renders a %library index page. Set %library to %SYS to show system index.
• classmethod RenderNameSpaceList() as %Status
Generate HTML table showing available namespaces.
• classmethod RenderNameSpacePage() as %Status
Generate an HTML page show information on the current namespace.
• classmethod RenderPackageInfo(pTitle As %String, packagename As %String = "") as %Status
Generate HTML table showing contents of the given package.
• classmethod RenderPackagePage(packagename As %String) as %Status
Generate an HTML page for the package packagename.
• classmethod RenderStorageDef(cdef As %ClassDefinition, issuper As %Boolean = 0) as %Status
Generate an HTML page for the class cdef serial storage definition.

Set issuper true for superclasses of the currently viewed class.

• classmethod RenderStoragePage(cdef As %ClassDefinition) as %Status
Generate an HTML page for the class cdef storage definition.
• classmethod SwapNS(Namespace As %String) as %Boolean

Queries

• query DefinedBy(type As %String, member As %String)
Selects ClassName As %String
The DefinedBy query returns a list of class names that define member member. type is the type of the class member, e.g., "method".
• query ImplementedBy(type As %String, member As %String)
Selects ClassName As %String
The ImplementedBy query returns a list of class names that implement member member. type is the type of the class member, e.g., "method".
• query ReferencedBy(refclass As %String)
Selects ClassName As %String, Property As %String
The ReferencedBy query returns a list of class names that refer to (has properties of type) refclass.