diff --git a/ChangeLog b/ChangeLog index 9fbc2c114..345cd2b5e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,13 @@ +2012-02-16 17:16-EST Gregory John Casamento + + * Source/NSXMLDocument.m: Add #ifdef HAVE_LIBXSLT to compile out + portions of the code which depend on XSLT if they are not + available. + 2012-02-16 Doug Simons - * Source/NSXMLElement.m: Implement -normalizeAdjacentTextNodesPreservingCDATA: + * Source/NSXMLElement.m: Implement + -normalizeAdjacentTextNodesPreservingCDATA: method and supporting methods. * Source/NSXMLNode.m: Fix a logic error. diff --git a/Source/NSXMLDocument.m b/Source/NSXMLDocument.m index 7b1cf5e9c..7a521b1ed 100644 --- a/Source/NSXMLDocument.m +++ b/Source/NSXMLDocument.m @@ -29,10 +29,12 @@ #import "NSXMLPrivate.h" #import "GSInternal.h" +#ifdef HAVE_LIBXSLT #import #import #import #import +#endif GS_PRIVATE_INTERNAL(NSXMLDocument) @@ -403,6 +405,7 @@ extern void clearPrivatePointers(xmlNodePtr aNode); arguments: (NSDictionary*)arguments error: (NSError**)error { +#ifdef HAVE_LIBXSLT xmlChar *data = (xmlChar *)[xslt bytes]; xmlChar **params = NULL; xmlDocPtr stylesheetDoc = xmlReadDoc(data, NULL, NULL, XML_PARSE_NOERROR); @@ -436,12 +439,16 @@ extern void clearPrivatePointers(xmlNodePtr aNode); NSZoneFree([self zone], params); return [NSXMLNode _objectForNode: (xmlNodePtr)resultDoc]; +#else + return nil; +#endif } - (id) objectByApplyingXSLTString: (NSString*)xslt arguments: (NSDictionary*)arguments error: (NSError**)error { +#ifdef HAVE_LIBXSLT NSData *data = [[NSData alloc] initWithBytes: [xslt UTF8String] length: [xslt length]]; NSXMLDocument *result = [self objectByApplyingXSLT: data @@ -449,17 +456,24 @@ extern void clearPrivatePointers(xmlNodePtr aNode); error: error]; [data release]; return result; +#else + return nil; +#endif } - (id) objectByApplyingXSLTAtURL: (NSURL*)xsltURL arguments: (NSDictionary*)arguments error: (NSError**)error { +#ifdef HAVE_LIBXSLT NSData *data = [NSData dataWithContentsOfURL: xsltURL]; NSXMLDocument *result = [self objectByApplyingXSLT: data arguments: arguments error: error]; return result; +#else + return nil; +#endif } - (BOOL) validateAndReturnError: (NSError**)error