On Sat, 04 Feb 2006 01:31:34 +0800
Funky Beast <[EMAIL PROTECTED]> wrote:

> Mattias Gaertner wrote:
> > On Thu, 02 Feb 2006 23:19:00 +0800
> > Funky Beast <[EMAIL PROTECTED]> wrote:
> > 
> > 
> >>Mattias Gaertner wrote:
> >>
> >>>On Wed, 1 Feb 2006 08:38:38 +0200
> >>>Graeme Geldenhuys <[EMAIL PROTECTED]> wrote:
> >>>
> >>
> > 
> > What's the difference between a "LazDoc xml Document" and a fpdoc xml?
> > What's the difference between CodeHelp and LazDE?
> >
> 
> I've browse through the contents of all the Lazarus and FPCDocs
> xml document files, each and every one. Lazarus documents currently
> only has "element" items. While FPCDocs documents has
> "element" and "topic" items.
> 
> Currently, the differences between LazDoc and LazDE is the methods
> they used to read and write contents to an xml document.
> 
> LazDoc adopts a direct read and write methods via
> CreateTextNode() and the element's Node.FirstChild.NodeValue from DOM.

This must be improved. It should read/write valid fpdoc files.


> This is OK if we are only reading and writing only Lazarus Documentations
> as the contents are not heavily populated yet.
> 
> Reading:--
> But if we use these methods to read an FPC xml document which i checked
> out from fpcdocs trunk, their contents are heavily populated with a lot
> of html tags within the contents. The problem for LazDoc's read method
> will be that when it reads an html tag, it will consider it as a new item,
> thus it can't completely read a description element full of html tags,
> which are a norm in FPC documents, causing incomplete content.
> 
> LazDe on the other hand reads the contents by streaming it through DOM,
> and the contents are read with the html tags intact for display. The
> resulted read content can then be sent to any HTML viewer component for
> display without further processing.
> 
> Thus CodeHelp adopts LazDe's method of reading.

So, here they are the same.
What's the difference? I mean, why write a new editor, instead of extending
LazDE?


> Writing:--
> LazDoc writes its content to xml elements with CreateTextNode() method.
> So if there are html tags in the contents, the tags are converted to
> some what wierd values, e.g. <b> tag will be written to the xml document
> phisically as '&lt;b&gt;'. When you open that modified document with
> LazDe or FPDE or any text editor, you will see '&lt;b&gt;' as part of
> the content instead of the <b> tag. You can only see the <b> tag only
> when viewed with LazDoc.

Then LazDoc methods must be improved. 

 
> LazDe's method of writing doesn't have that effect.
> Thus CodeHelp adopts LazDe's method of writing also.
> 
> CodeHelp attempts to provide:
> -Tools to LazDoc for easy management of xml documents for both Lazarus and
> FPC.

You mean fpdoc, don't you?


>   (As Darius Blaszijk suggested on the other thread:
>    news://news.gmane.org:119/[EMAIL PROTECTED]
>    n)
> 
> -Easy scalability for future expansions if new subitems needs to be added
> to
>   xml documents, as everything is centralized in one unit.

Why is scalability easy, if everything is in one unit?

 
> -Serves as a help-content search and collection tool.

Good.

 
> -It will eventually be generating or formating html contents to be fed
>   to any html viewer for display.

Nice. Will it use fpdoc's html generator?

 
> Thus fulfilling your item no. 3:
> - the parsing of the fpdoc xml item and showing as formatted text :-)
> 
> > 
> > ideintf/helpintf.pas
> > 
> > HelpDatabases contains all help databases. A Help database can be for
> > example a TFPDocHTMLHelpDatabase.
> > Every lazarus package can register one or more help databases.
> > The IDE registers some default help databases: RTL, FCL, LCL and
> > MainHelp. MainHelp is currently a simple THTMLHelpDatabase. 
> > The RTL help database is registered for all *.pas and *.pp files in the
> > file path '$(FPCSrcDir)/rtl' and all sub directories.
> > So, when the user presses F1 on an identifier, say 'TObject', the IDE
> > searches the declaration. It finds it in
> > $(FPCSrcDir)/rtl/inc/objpash.inc which belongs to
> > $(FPCSrcDir)/rtl/linux/system.pp. Now the IDE searches a help database
> > with this unit and finds the RTL help db. It then tells the help
> > database to show the help for 'system.pp TObject'. Because the RTL help
> > db is a TFPDocHTMLHelpDatabase, it simply converts it into an URL and
> > starts a browser to show that page.
> > 
> Thanks, then i'll have to digest helpintf.pas for the formating of
> "SeeAlso" links in the xml documents.

If you miss a feature, don't hesitate to ask.

Mattias

_________________________________________________________________
     To unsubscribe: mail [EMAIL PROTECTED] with
                "unsubscribe" as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to