* BUG: Parsing errors are now correctly thrown.
* BUG: Fixed some memory leaks when an error is raised.
git-svn-id: svn://localhost/gambas/trunk@6711 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Added a new Document property to XMLExplorer.
* NEW: Added the Name and Value properties to XMLReader.Node.Attributes and
XMLNode.Attributes, to get the name and value of the enumerated attribute.
* BUG: Fixed the XMLNode.Attributes enumeration.
* BUG: Fixed XMLExplorer taking the document itself as a node.
* OPT: Rewrote internal exception handling.
[GB.XML.XSLT]
* NEW: Added a new method XSLT.TransformToString() that returns a string
instead of an XML document.
* BUG: Fixed internal error management.
git-svn-id: svn://localhost/gambas/trunk@6416 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The Boolean parameter 'Indent' of XMLDocument.ToString() is now
correctly interpreted.
* BUG: Serializing a comment that is a direct child of a document with
indentation enabled does not crash anymore.
* BUG: The Document.All property is now correctly declared as an XMLNode[]
[GB.XML.HTML]
* BUG: Serializing a comment that is a direct child of a document with
indentation enabled does not crash anymore.
git-svn-id: svn://localhost/gambas/trunk@5972 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* NEW: Adds a Serialize() static method in XmlNode that serializes the given text.
* BUG: Correctly handle prefix when parsing a document.
* BUG: XmlWriter now correctly serializes the text and attribute values.
* BUG: The XmlDocument constructor now correctly raises an error message instead of crashing with signal #6.
git-svn-id: svn://localhost/gambas/trunk@5037 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: XmlDocument now internally inherits Node, so that they can contain other nodes than only a root element (that is now optional), as specified in the W3C specifications.
* BUG: Sloved a little typo error in the XmlElement.PreviousElement property.
* BUG: The CDATA node now correctly handles special characters.
* OPT: Some little optimizations in the ToString() (and similar) methods.
git-svn-id: svn://localhost/gambas/trunk@4985 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: XmlElement now fully supports namespace prefixes in its tag name. See the Prefix property, and the GetChildrenByNameSpace and GetElementsByNameSpace methods.
git-svn-id: svn://localhost/gambas/trunk@4859 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The GetAttribute(), GetChildrenByTagName(), GetChildrenByAttributeValue() andGetElementsByTagName() methods now take an new Mode argument, specifying the comparison method. It can be GB.Binary, GB.IgnoreCase or GB.Like.
* BUG: The XmlElement.ChildElements does not contains Null fields anymore.
* BUG: Removed some debugging messages.
git-svn-id: svn://localhost/gambas/trunk@4858 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: XML output can now be indented by using ToString(Indent As Boolean) or Save(fileName As String, Indent As Boolean)
git-svn-id: svn://localhost/gambas/trunk@4812 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
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
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
* 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