Commit graph

84 commits

Author SHA1 Message Date
rfm
1f0bac21e3 Fixups for old ABI. 2024-12-19 11:48:10 +00:00
rfm
d5da27bcbc Fix error unlinking old namespace 2024-12-19 11:37:59 +00:00
rfm
0d010003f9 Record detached document of a node and use that to fix memory leak. 2024-12-19 10:26:19 +00:00
rfm
6667842dd5 Update FSF address as requested by Gregory 2024-11-07 13:37:59 +00:00
Doug Simons
f5f8f61e54
oops! Put the other bracket back in. 2024-05-14 15:44:44 -06:00
Doug Simons
256700d57d
avoid using Obj-C 2.0 notation 2024-05-14 15:40:22 -06:00
Doug Simons
50f447f5b8
Fix execute_xpath() to return an NSError when expression can't be evaluated; Remove previous attributes when setting attributes; Add related tests 2024-05-14 15:25:07 -06:00
rfm
1cce7e97e2 Mark unimplemented methods 2023-10-30 14:29:25 +00:00
Gregory John Casamento
753c907938 Fix address for FSF and License name in all headers in base 2019-12-09 18:36:00 -05:00
David Chisnall
9b7e3a8fff Make the NSXMLNode ivar a union.
Having the same ivar exposed as different types in different compilation
units is probably a bad idea in general and will break with the new ObjC
ABI, where we have link-time checks for this.  It would also confuse
reflection and any languages that use reflection for bridging in
exciting ways.
2018-03-20 17:44:16 +00:00
Richard Frith-MacDonald
095a8cb13d osx compatibility fixup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39122 72102866-910b-0410-8b05-ffd578937521
2015-11-02 18:10:38 +00:00
Richard Frith-MacDonald
58362f14b5 tweak to raise exception in node init if we don't have libxml2
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39116 72102866-910b-0410-8b05-ffd578937521
2015-11-02 09:07:39 +00:00
Richard Frith-MacDonald
f8a6a45133 another stub
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39114 72102866-910b-0410-8b05-ffd578937521
2015-11-01 23:28:18 +00:00
Richard Frith-MacDonald
0bbdb77e1b fix minor leak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38558 72102866-910b-0410-8b05-ffd578937521
2015-05-26 13:22:52 +00:00
Fred Kiefer
0b60eebda4 * Source/NSXMLNode.m (-XMLStringWithOptions:): Revert change I
made on 2012-12-01.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36401 72102866-910b-0410-8b05-ffd578937521
2013-03-23 13:47:40 +00:00
Fred Kiefer
93d6b3c135 * Source/NSXMLNode.m (-XMLStringWithOptions:): Use macros for
versions of libxml2.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35839 72102866-910b-0410-8b05-ffd578937521
2012-12-01 15:22:04 +00:00
Richard Frith-MacDonald
3000e9ec1c OSX compatibility tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35325 72102866-910b-0410-8b05-ffd578937521
2012-07-27 18:02:11 +00:00
Fred Kiefer
27a33dbedb * Source/NSXMLNode.m (-description): Remove trailing newline. This
should fix #36976.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35323 72102866-910b-0410-8b05-ffd578937521
2012-07-27 15:35:39 +00:00
Fred Kiefer
9629278d59 * Source/NSXMLDocument.m:
* Source/NSXMLDTD.m:
* Source/NSXMLNode.m:
* Source/NSXMLDTDNode.m:
* Source/NSXMLElement.m: Remove compiler warnings for clang
reported by David Chisnall.
* Tests/base/NSAutoreleasePool/basic.m: Get to compile again
without -C99.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35043 72102866-910b-0410-8b05-ffd578937521
2012-04-06 22:27:55 +00:00
Fred Kiefer
337118ee64 * Source/NSXMLNode.m (+_objectForNode:): Don't create a document
object for a private document.
* Tests/base/NSXMLNode/transfer.m: New code for test case
contributed by Doug Simons.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35026 72102866-910b-0410-8b05-ffd578937521
2012-04-04 21:39:12 +00:00
Fred Kiefer
3086ac94e6 * Source/NSXMLElement.m,
* Source/NSXMLNode.m: Fix compiler error and warning for older
version of libxml2.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35024 72102866-910b-0410-8b05-ffd578937521
2012-04-03 06:25:07 +00:00
Fred Kiefer
cd53cea865 * Source/NSXMLNode.m (execute_xpath): Clean up.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35012 72102866-910b-0410-8b05-ffd578937521
2012-03-27 21:44:01 +00:00
Fred Kiefer
517ef2d55f * Source/NSXMLElement.m,
* Source/NSXMLNode.m: Better support for namespaces. Corrected
-_nodeFollowingInNaturalDirection:, -setStringValue: and
-XMLStringWithOptions:


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34999 72102866-910b-0410-8b05-ffd578937521
2012-03-26 23:11:52 +00:00
Fred Kiefer
b383bbcf78 * Source/NSXMLNode.m (-rootDocument): Better test for private document.
* Source/NSXMLDTDNode.m (-initWithXMLString:): Use childAtIndex:
instead of rootElement.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34991 72102866-910b-0410-8b05-ffd578937521
2012-03-23 19:40:43 +00:00
Fred Kiefer
79647a337e * Source/NSXMLNode.m (-copyWithZone_): Use value 1 instead of 2
for deep copy. Bug found by Doug Simons <doug.simons@testplant.com>.
* Source/NSXMLNode.m (-rootDocument): Don't return the private
document.
* Source/NSXMLNode.m (-nextSibling, -previousSibling): Protect
against namspace nodes.
* Tests/base/NSXMLNode/transfer.m: New test case for problem
reported by Doug Simons.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34988 72102866-910b-0410-8b05-ffd578937521
2012-03-23 09:48:24 +00:00
Fred Kiefer
d2eaeafb2a * Source/NSXMLElement.m,
* Source/NSXMLNode.m: Fix memory leak for attribute private
documents found by valgrind.
* Tests/base/NSXMLNode/namespace.m: Use drain instead of
release.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34976 72102866-910b-0410-8b05-ffd578937521
2012-03-22 17:33:09 +00:00
Fred Kiefer
c608ec1ea4 Clean up FIXMEs in comments
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34973 72102866-910b-0410-8b05-ffd578937521
2012-03-22 09:41:16 +00:00
Fred Kiefer
7e995ff2a8 * Source/NSXMLDocument.m (-URI, -setURI:): Specific implementation.
* Source/NSXMLPrivate.h: Remove URI ivar.
* Source/NSXMLElement.m,
* Source/NSXMLNode.m: Full support for namespaces.
* Tests/base/NSXMLNode/namespace.m: Test code borrowed from
Google data project.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34972 72102866-910b-0410-8b05-ffd578937521
2012-03-22 09:34:54 +00:00
Fred Kiefer
fa5df31b06 * Source/NSXMLDocument.m: Correct memory management.
* Source/NSXMLElement.m,
* Source/NSXMLNode.m: Add partial support for namespaces.
Try to bracket more libxml2 functions with version checks.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34967 72102866-910b-0410-8b05-ffd578937521
2012-03-21 09:01:48 +00:00
Richard Frith-MacDonald
8f42e7c2f8 Alterations for build consistency
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34966 72102866-910b-0410-8b05-ffd578937521
2012-03-21 08:00:33 +00:00
Richard Frith-MacDonald
b9c5b1414b quick hack to get base to compile and link again.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34963 72102866-910b-0410-8b05-ffd578937521
2012-03-20 17:45:16 +00:00
Fred Kiefer
fd60798730 Add missing free of private document, forgotten in last commit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34948 72102866-910b-0410-8b05-ffd578937521
2012-03-18 12:29:47 +00:00
Fred Kiefer
c5e877513e * Source/NSXMLDTDNode.m: Correct node type, at least for entity nodes.
* Source/NSXMLDTD.m: Use predefined entities from libxml2.
* Source/NSXMLNode.m: Rewrite the ownership transfer to preserve
names in dictionaries.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34947 72102866-910b-0410-8b05-ffd578937521
2012-03-18 12:20:29 +00:00
Fred Kiefer
d3e3f4e17c * Source/NSXMLPrivate.h: Remvoe unused ivars.
* Source/NSXMLDocument.m: Get DTD from node and and validation
in init methods.
* Source/NSXMLDTD.m: Implement.
* Source/NSXMLNode.m: No children for attribute nodes.
* Tests/base/NSXMLNode/basic.m: Test empty attribute children


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34943 72102866-910b-0410-8b05-ffd578937521
2012-03-17 13:57:58 +00:00
Fred Kiefer
3e2c60a3e1 * Source/NSXMLNode.m (-XMLStringWithOptions:): Protect the
different format constants with version checks.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34935 72102866-910b-0410-8b05-ffd578937521
2012-03-16 07:56:15 +00:00
Fred Kiefer
3318835025 Use xmlSave for XML String creation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34929 72102866-910b-0410-8b05-ffd578937521
2012-03-14 21:12:19 +00:00
Richard Frith-MacDonald
043b774291 get the xml code to build on RedHat/CentOS
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34928 72102866-910b-0410-8b05-ffd578937521
2012-03-14 10:09:15 +00:00
Fred Kiefer
18c64eae4f * Source/NSXMLNode.m (-detach): Don't handle the namespace case.
* Source/NSXMLElement.m (-removeNamespaceForPrefix:): Implement.
* Tests/base/NSXMLNode/basic.m: Move tests from here ...
* Tests/base/NSXMLElement/basic.m: ... to here.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34927 72102866-910b-0410-8b05-ffd578937521
2012-03-12 22:33:27 +00:00
Fred Kiefer
86330f01a7 * Source/NSXMLElement.m: Correct used namespace field.
* Source/NSXMLNode.m: Implement special handling for namespace
nodes.
* Tests/base/NSXMLNode/basic.m: Correct method name for
namespace node.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34926 72102866-910b-0410-8b05-ffd578937521
2012-03-12 19:50:51 +00:00
Richard Frith-MacDonald
84ce4ee4e3 evert/improve last changes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34925 72102866-910b-0410-8b05-ffd578937521
2012-03-12 18:13:27 +00:00
Richard Frith-MacDonald
f3da6a5455 restructure a bit to make it easier to add namespace support.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34924 72102866-910b-0410-8b05-ffd578937521
2012-03-12 13:27:32 +00:00
Richard Frith-MacDonald
765ad1d32c avoid crash in testcases
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34921 72102866-910b-0410-8b05-ffd578937521
2012-03-11 15:04:36 +00:00
Fred Kiefer
87c3b97c1c * Source/NSXMLNode.m (-copyWithZone:): Don't set object value of
copy if it is nil.
* Source/NSXMLNode.m (+_objectForNode:): Use correct sub class
for decl nodes.
* Tests/base/NSXMLNode/basic.m: More tests.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34912 72102866-910b-0410-8b05-ffd578937521
2012-03-09 10:08:48 +00:00
Fred Kiefer
a9288f57d0 * Source/NSXMLNode.m (-detach, -_insertChild:atIndex:): Maintain
doc pointer.
* Source/NSXMLDTD.m: Implement a few methods.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34908 72102866-910b-0410-8b05-ffd578937521
2012-03-08 19:59:12 +00:00
Fred Kiefer
02b71a0a49 * Source/NSXMLNode.m (+_objectForNode:): Add a few more libxml2
node types.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34905 72102866-910b-0410-8b05-ffd578937521
2012-03-08 00:15:08 +00:00
Fred Kiefer
61002f572e * Source/NSXMLNode.m (+initialize): Add workaround for Windows
xmlFree problem.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34897 72102866-910b-0410-8b05-ffd578937521
2012-03-06 22:33:54 +00:00
Fred Kiefer
af84c47f9c Get all the XML tests to pass again.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34892 72102866-910b-0410-8b05-ffd578937521
2012-03-06 09:55:36 +00:00
Fred Kiefer
9f1c97406d * Tests/base/NSXMLElement/attributes.m: Test for changed
exception.
* Tests/base/NSXMLNode/basic.m: More tests.
* Source/NSXMLNode.m: Rewrite object value handling.
* Source/NSXMLElement.m (-objectValue): Return @"" when the
value is nil.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34881 72102866-910b-0410-8b05-ffd578937521
2012-03-05 22:48:18 +00:00
Fred Kiefer
4e4bf5a00c * Source/NSXMLPrivate.h: Move private method declarations for
NSXMLNode to here.
* Source/NSXMLDocument.m
* Source/NSXMLDTD.m
* Source/NSXMLDTDNode.m
* Source/NSXMLElement.m
* Source/NSXMLNode.m: Clean up and add comments about missing
code.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34877 72102866-910b-0410-8b05-ffd578937521
2012-03-04 21:40:39 +00:00
Fred Kiefer
38483746b3 * Source/NSXMLNode.m: Remove all the extra reference handling code
and the special retain and release methods.
* Tests/base/NSXMLNode/basic.m,
* Tests/base/NSXMLNode/children.m: A few more test
cases. Validated on MacOSX 10.6.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34873 72102866-910b-0410-8b05-ffd578937521
2012-03-03 11:37:49 +00:00