_ __ ___ ___ _ _____
/ \ / / / \ / \ | | | __ \
\ \_/ / | |\ \/ /| | | | | | \ \ 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/EnigmaSdk/Enigma
Sdk/Enigma
rootSdk/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 explainPath 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 listAny 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 interfaceshort description of interfaceLong exhaustive description of interface.Prototype of methodshort description of methodLong 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 structureshort 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 objectShort description
Long exhaustive description.
Name of methodshort describtions
Long exhaustive description
Parametr of method
Parametr description.
Return value of method
Describtion this returned value.
Remart for this methodName of propertyshort describtions of property
Long exhaustive description
Return value of method
Describtion this returned value.
Remart for this propertyName of published propertyshort describtions
Long exhaustive description
Return value of method
Describtion this returned value.
Remart for this published propertyEvent function prototypeshort 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 contentsPage which will be used as root in tree. (only pages in this branch will be shown)
2.1.15 Final
------------
Final remark on page