_ __ ___ ___ _ _____ / \ / / / \ / \ | | | __ \ \ \_/ / | |\ \/ /| | | | | | \ \ 1.0 \ / | | \ / | | | | | | \ \ __ ____ \ \ | | \/ | | | | | | | | / \ / ___\ / \ | | | | | | | | / / | /\ | | | / /\ \ | | | | | |____ | |__/ / | \/ | | |___ \_/ \_/ |_| |_| |______\ |_____/ \__/ \____/ (C) Tomas Siegl (c) Orcave Inc. (c) 20002 - 20003 Content: XML Documentation system manual History: 05/15/2003 Sigi - initial version 1.0 General phylosophy ---------------------- The idea is separate documenation data into to 2 distinquish parts 'text' and 'design'. Text is enclosed between xml tags ... which specifies which type is data these types will be explained later, (see 2.0 documentation objects). Design specifie how will be data displayed. Because we specify data contents, we are able to use it to generate additional information like automatical 'Indexes' and Documentation 'trees'and 'link and pages tracking'. Sometimes it is necessary to 'mark' words or sentences or enforcing new line or insert link to another documentation part. folowing symbols has this meaning - generaly used to bold text inside this 2 symbols. Example: This is normal text and 'this is bolded text' and this is normal text again. - generaly used to itallic text inside this 2 symbols. Example: This is normal text and 'this is italic text' and this is normal text again. - generaly used to underline text inside this 2 symbols. Example: This is normal text and 'this is underlined text' and this is normal text again.
- Used to enforce new line. Example:
This is first line.
This is on Second line. Will look like: This is first line. This is on Second line. If you need use this symbols %,@ in documentation text, you can put before 'backslash /' and these 2 symbols are interpreted as text character only. Example: /%This is stil normale text/%. Will be displayed as: %This is still normal text%. Because xml is very simmilar to hmtl language you can use in text located inside 2 tags another special characters like '& < >' but you have to use html constants: '& < >' Link to different page or page section has following format: 'Link description' PageId: this specify which page is destination. If this attribute is missing or is empty it means that you are referencing element on current page. refId: Specify elemen on a page. if you want link external web site use Orcave 1.1 Documentation Pages ----------------------- Every documentation page is one separated file. which starts with valid xml tag . This tag is not pair tag, that means that this tag doesn't have close tag . Documetation page is xml object .. Where contents are another xml objects located between this to tags. example: Some of this objects (all object are described later in 2.1) can be presented more times, but generaly this depends of type of the object, etc. page title has reasonable meaning only if this object is presented only once, because page can have only one title, the same is valid for link, overview and remark. Object can be inserted in other objects, we say they are inner object of other object, but this mechanism has strict rules, and not every object can have inserted object or no object can contains itselfs. 1.2 Documentation Tree ---------------------- Every page is located somewhere in a tree. Tree represent whole documentation of project. Documentation is also object which is stored in file 'documentation.xml' which is parsed and from this file is created Page order. This object has following inner objects (tags): Page where documentation start Contains path and file name (without .xml extension) of document page. Previous page which will be in navigation Next page which will be in navigation Root page in tree, keyword 'root' has special meaning and situates page in root of the tree example: documentation.xml: Sdk/Enigma Sdk/Enigma Sdk/Enigma root Sdk/EnigmaPreview Sdk/EnigmaPreview 2.0 List of Document objects ---------------------------- 2.1 Docpage ----------- This object represents arbitrary documentation page. Object starts with tag and ends with tag . This object has folowing inner tags. With following meaning. 2.1.1 Chapter ------------- Name of documentation page 2.1.2 Overview -------------- Page overview 2.1.3 Link ---------- Page Id for links from other pages 2.1.4 Explain ------------- General text which explains something or describes picture. Title can be also referenced by links Title for this explain Path and filename for picture, this path is absolute from documentation root Explain text itselfs and can contains any of text strings including formating and links. 2.1.5 List ---------- List of items, where items can be links or documentation text. 'Title' tag can be also referenced by links this list can contains one or more 'items' objects Title of list Any text which an has link or formating characters. 2.1.6 Feature ------------- Text describing feature. This can contains any of text strings including formating and links. 2.1.7 SuperTip -------------- Super cool text. This can contains any of text strings including formating and links. 2.1.8 Important --------------- Text which can't user miss. This can contains any of text strings including formating and links. 2.1.9 Question -------------- Speakers question for stimulation documentation writer Ego :) . This can contains any of text strings including formating and links. 2.1.10 Iface ------------ This object describes arbitrary C++ interface. 'title' can be referenced by links. 'title' can be referenced in links. '?Text' and 'overviews' and 'remark'tags can contains any of text strings including formating and links. This object contains one or more inner objects 'method'. Name of interface short description of interface Long exhaustive description of interface. Prototype of method short description of method Long exhaustive description of interface. Parametr of method Parametr description. Return value of method Describtion this returned value. Remart for this method 2.1.11 Struct ------------- This object describes arbitrary data structure for programing languages. 'title' can be referenced in links. '?Text' and 'overviews' and 'remark'tags can contains any of text strings including formating and links. Name of structure short description long description structure member with type Text describing amd explaning these type. 2.1.12 Code ----------- This object represent example of code. 'Title' can be referenced in links. Name of example Example text, or code 2.1.13 DelphiObject ------------------- This object Represents delphi object. All 'title' tags can be referendced in links. '?texts' and 'overviews' and 'remark' tags can contains any of text strings including formating and links. This object can contain followind inner objects 'method' 'property' 'pubproperty' 'event'. Name of delhi object Short description Long exhaustive description. Name of method short describtions Long exhaustive description Parametr of method Parametr description. Return value of method Describtion this returned value. Remart for this method Name of property short describtions of property Long exhaustive description Return value of method Describtion this returned value. Remart for this property Name of published property short describtions Long exhaustive description Return value of method Describtion this returned value. Remart for this published property Event function prototype short describtions Long exhaustive description Parametr of event function Parametr description. Remart for this event 2.1.14 Contents --------------- Put tree of documentation into page. Title for this contents Page which will be used as root in tree. (only pages in this branch will be shown) 2.1.15 Final ------------ Final remark on page