Commit graph

13 commits

Author SHA1 Message Date
Adrien Prokopowicz
522efa4ba9 [GB.XML]
* NEW: Added a new gb.xml Component API.
* NEW: The XMLElement.AppendFromText() method can now take the &1, &2 etc.
  Subst-like patterns.
* NEW: All the methods based on the parser can choose from the XML and the 
  HTML parser (if loaded), depending  on the document's (or parent
  document's) type.
* OPT: Renamed, reorganized and cleaned up the code.
* OPT: Removed the ugly cross-including sources to communicate with the
  subcomponents, which now use the XML Component Interface.
* OPT: Remove all the unneeded includes.
* OPT: The XML serializer does not check if the elements are self-closed 
  according to HTML specifications anymore. This is done only in the new
  HTML serializer.

[GB.XML.HTML]
* NEW: Added a new gb.xml.html Component API.
* NEW: Added a new (X)HTML parser, more flexible than the XML one,
  and automatically used with the HtmlDocument class.
* NEW: Generated HTML Documents now automatically use the new meta/charset
  element if the document is HTML5, and the old meta/content-type element
  only if the document is not HTML5.
* BUG: Loading an HTML document from a file while instanciating it
  correctly works now.
* BUG: Using the class or id CSS selector in a filter on an element that
  doesn't have these does not crashes anymore.

[GB.XML.XSLT]
* NEW: Now uses the gb.xml Component API.

git-svn-id: svn://localhost/gambas/trunk@5732 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-07-16 22:27:47 +00:00
Adrien Prokopowicz
005d1e1603 * BUG: The XML DOM parser doesn't go beyond the string limits when looking
for an XML prolog anymore.

git-svn-id: svn://localhost/gambas/trunk@5716 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-06-30 11:23:42 +00:00
Adrien Prokopowicz
1df7e9baba [GB.XML]
* OPT: Check if an element is self-closed only once when getting its string representation.

git-svn-id: svn://localhost/gambas/trunk@5574 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-04 04:29:20 +00:00
Adrien Prokopowicz
7c84222a5a * BUG: The XmlExplorer.ReadFlags._get() method now returns a valid value if the flag ID is out of bounds
* BUG: Fixes a few memory leaks when freeing an XmlExplorer
* BUG: Fixes a crash when creating Attributes without values
* BUG: The XmlExplorer.Node property does not raises a Null Object error when reaching the end of the document
* BUG: XmlReader now raises an appropriate error if an lt sign is inside a tag
* OPT: The XmlExplorer.Open() method now directly calls the XmlDocument constructor instead of using an intermediate buffer

git-svn-id: svn://localhost/gambas/trunk@5565 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-02-25 00:55:30 +00:00
Adrien Prokopowicz
7b1043df8b [GB.XML]
* BUG: Fix compilation problem when disabling GCC optimizations.

git-svn-id: svn://localhost/gambas/trunk@5347 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-22 11:40:57 +00:00
Adrien Prokopowicz
2df69cad2d [GB.XML]
* BUG: Fix some memory errors and leaks.

git-svn-id: svn://localhost/gambas/trunk@5025 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-10 09:53:13 +00:00
François Gallo
7947dd69f9 [CONFIGURATION]
* NEW: Add support for the MacPorts distribution. 
* BUG: Fix configuration issue for gb.qt.ext

[GB.CRYPT]
* NEW: it is now available for Mac OS X 10.8

[GB.QT4]
* BUG: Fix detection of X11 for the control DrawingArea on Mac OS X 10.8. 



git-svn-id: svn://localhost/gambas/trunk@5004 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-31 18:24:47 +00:00
Adrien Prokopowicz
ee6825874c [GB.XML]
* BUG: The document.FromString() method does not crashes anymore if no root element was found.

git-svn-id: svn://localhost/gambas/trunk@4966 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-18 22:43:35 +00:00
Adrien Prokopowicz
907dae4d24 [GB.XML]
* BUG: Moved the previousSibling and NextSibling properties from XmlElement to XmlNode, and added PreviousElement and NextElement, so that there is no confusion with the W3C standards.
* BUG: Addef forgotten property XmlReader.Node.IsEmptyElement.
* OPT: Some optimisations in character comparison when parsing data.

git-svn-id: svn://localhost/gambas/trunk@4960 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-17 11:36:30 +00:00
Adrien Prokopowicz
438116bdb3 [GB.XML]
* NEW: Text nodes now escapes their contents (like Html$()).
* BUG: TextNode.TextContent now correctly works.
* BUG: XmlElement.FromText() does not crash anymore.
* BUG: The last text node of a parsed text is now correctly added.

git-svn-id: svn://localhost/gambas/trunk@4832 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-15 01:33:48 +00:00
Adrien Prokopowicz
6d2b5d0ccd [GB.XML]
* NEW: The parser now raises complete error messages if parsing fails.
* BUG: Returning XmlDocuments does not crash anymore.

[GB.XML.XSLT]
* BUG: XSLT document parsing now correctly works

git-svn-id: svn://localhost/gambas/trunk@4810 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-05 21:17:45 +00:00
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