Commit graph

13 commits

Author SHA1 Message Date
Adrien Prokopowicz
b2337ca7c7 [GB.XML]
OPT : Many code organization improvements, so that it is more readable
OPT : Directly uses char* into the nodes
OPT : Nodes have now pointers to their brothers and their parent, so that each Element behaves as a double-linked list
OPT : Improvements in gb.xml/gb.html linkage, so that ther isn't any including cpp files anymore
NEW : Added license agreements to the top of each source file
BUG : XmlNode.Attributes can't return Null anymore. If the node is not an Element, this property acts like there isn't any attribute.
BUG : Relationship between nodes are now correctly supported, so that every node is correctly released

git-svn-id: svn://localhost/gambas/trunk@4791 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-29 22:19:22 +00:00
Adrien Prokopowicz
95f477ead0 [GB.XML]
OPT : A few compilation optimizations in headers inclusions.
OPT : Use of separated internal classes of gambas objects. This might prevent from a lot of problems.
OPT : Strings are not stored as wchar_t* anymore, but as simple char*, and are converted only when necessary (like UTF8 characters verification).
OPT : Does not use STL classes anymore. They are too slow.  Uses now handmade classes.
OPT : Nodes are now internally linked to their brothers, so it makes find them really fasters, and allows no longer use of external linked list.
OPT : When creating new nodes, linked Gambas objects are created only when necessary, so it makes internals instanciations very faster (such as the parser).
OPT : Handmade string/memory classes and functions are now separated from the main.cpp component file.
OPT : Use specialized memory management functions (like memcpy, memchr ...) into the parser. They are really faster than C loops, and speeds up the parser for documents that have a lot of plain text.
OPT : Internally, the stream parser (XmlReader) takes only one char, not a unuseful wole string object.
OPT : Does not updates debugging data when parsing a file. They will be generated only if an error is raised (not implemented yet). It will allow a speedier parser and more precise informations.
BUG : When loading a document from a file, now correctly releases the file data.
BUG : Solved a few XmlReader uninitialized variables, that could make the stream parser crash or returns strange results.

git-svn-id: svn://localhost/gambas/trunk@4737 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-17 20:49:54 +00:00
Adrien Prokopowicz
d76e97be7d [GB.XML.HTML]
* BUG : XmlElement inherited methods and properties now works correctly.

git-svn-id: svn://localhost/gambas/trunk@4699 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-30 14:01:03 +00:00
Adrien Prokopowicz
5241ca29f0 [GB.XML]
* NEW : Two consecutives whitespaces (spaces, line-breaks ans tabulations) are now ignored.
* OPT : Parser now proceeds faster, and so parsing raw text is very faster.
* OPT : For input text, does not uses std::string anymore.
* OPT : For object instanciation, does not uses GB.FindClass() anymore (keeps results at component initialization).

git-svn-id: svn://localhost/gambas/trunk@4692 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-29 23:51:39 +00:00
Adrien Prokopowicz
89b4b18916 [GB.XML]
* NEW : Added a new property "State" to XmlExplorer and XmlReader, that allows to know the reader state, without knowing Read() return value.
* NEW : When enumerating XmlReader.Node.Attributes, XmlReader.Node represents the current attribute.
* NEW : Added an new method Open() that loads an HtmlDocument from a file and defines it as the document to read.
* NEW : The Attributes property has now moved from XmlElement to XmlNode. XmlNode.Attributes returns Null if the node isn't an element.
* NEW : Then enumeration of XmlNode.Attributes now returns an .XmlElementAttribute instead of a string.
* NEW : The XmlNode.Attribute constant is not obsolete anymore.
* NEW : Two consecutives whitespaces are now ignored (only one is preserved).
* NEW : When parsing a file, line-breaks and tabulations are replaced by spaces.
* BUG : XmlExplorer flags are now correctly initialized.
* BUG : Added an Eof property on XmlExplorer, that was missing.
* BUG : Calling XmlExplorer.Read() after Eof just returns XmlReaderNodeType.Eof, not more.
* BUG : Calling XmlNode.Next() when the node hasn't got any brother after him doesn't crash anymore, it just returns Null.
* BUG : Calling XmlElement.NextSibling() when the node hasn't got any element brother after him doesn't crash anymore, it just returns Null.
* BUG : By default, XmlReader correctly stops when reading the end of an element.
* BUG : XmlExplorer now correctly initializes and releases itself.
* BUG : XmlExplorer now correctly supports its read flags.
* OPT : Solved a memory leak when releasing a XmlReader.
* OPT : When setting text content to a XmlNode, the string is not duplicated anymore.
* OPT : When testing if characters are whitespaces or names characters while parsing texts, puts the temporary variable into registers instead of memory.

git-svn-id: svn://localhost/gambas/trunk@4669 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-24 23:47:14 +00:00
Adrien Prokopowicz
828599ce9e [GB.XML]
* BUG: the parser now supports white spaces (http://www.w3.org/TR/REC-xml/#NT-S

git-svn-id: svn://localhost/gambas/trunk@4657 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-22 18:51:24 +00:00
Adrien Prokopowicz
2cbff79d05 [GB.XML]
* BUG: the parser now correctly supports UTF-8
* BUG: the parser now allows all special characters in tag names and attribute names, including the UTF-8 ones, as defined in http://www.w3.org/TR/REC-xml/#NT-NameChar

git-svn-id: svn://localhost/gambas/trunk@4654 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-22 02:51:53 +00:00
Adrien Prokopowicz
bcc54489c1 [GB.XML]
* NEW: New XML manipulation component

git-svn-id: svn://localhost/gambas/trunk@4644 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-20 22:57:18 +00:00
Benoît Minisini
de083e583d [GB.LIBXML]
* NEW: Rename the gb.xml component as gb.libxml.

[GB.LIBXML.XSLT]
* NEW: Rename the gb.xml.xslt component as gb.libxml.xslt

[GB.LIBXML.RPC]
* NEW: Rename the gb.xml.rpc component as gb.libxml.rpc


git-svn-id: svn://localhost/gambas/trunk@4640 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-20 01:01:48 +00:00
Benoît Minisini
dd3b512daf [CONFIGURATION]
* NEW: Update copyrights.


git-svn-id: svn://localhost/gambas/trunk@4384 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-31 02:39:20 +00:00
Benoît Minisini
2fbf67cb29 [CONFIGURATION]
* NEW: Update FSF address in every source file.


git-svn-id: svn://localhost/gambas/trunk@3870 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-06-03 00:51:09 +00:00
Benoît Minisini
f65184802d [CONFIGURATION]
* NEW: Update copyright and license string in all source files.


git-svn-id: svn://localhost/gambas/trunk@2241 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-17 10:41:51 +00:00
Benoît Minisini
ba19f3c1dd * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas
git-svn-id: svn://localhost/gambas/trunk@893 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2007-12-30 16:41:49 +00:00