• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Mac OS X 10.5.8 update breaks tokenize function in -[NSXMLNode objectsForXQuery:error:]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Mac OS X 10.5.8 update breaks tokenize function in -[NSXMLNode objectsForXQuery:error:]


  • Subject: Mac OS X 10.5.8 update breaks tokenize function in -[NSXMLNode objectsForXQuery:error:]
  • From: Michael Link <email@hidden>
  • Date: Wed, 5 Aug 2009 23:55:43 -0500

I noticed that the recent update of Mac OS X 10.5.8 breaks compatibility with previous versions regarding XQuery statements in NSXMLNode, specifically using the XQuery function tokenize. I originally reported this bug against a future version of Mac OS X and now seems to have slipped into the latest update of Mac OS X 10.5.

rdar://problem/7037807

The following code works on Mac OS X 10.5.0 - 10.5.7 but does not work on Mac OS X 10.5.8.

@interface Bug7037807 : NSObject
{
	NSXMLDocument* _document;
}
- (void)performXQuery:(NSString*)query;
@end

@implementation Bug7037807

- (id)init
{
if (self = [super init]) {
_document = [[NSXMLDocument alloc] initWithXMLString:@"<html><title>title</title><body><h1>header</ h1><p>astring, bstring, cstring, dstring, estring</p><p>astring & bstring & cstring & dstring & estring</p></body></html>" options:NSXMLDocumentTidyHTML error:nil];
}

return self;
}


- (void)awakeFromNib
{
[self performXQuery:@"/descendant-or-self::p[1]"];
[self performXQuery:@"xs:string(/descendant-or-self::p[1])"];
[self performXQuery:@"tokenize(xs:string(/descendant-or-self::p[1]), ',')"];
}


- (void)performXQuery:(NSString*)query
{
	NSError* __error = nil;
	NSArray* __results;

	__results = [_document objectsForXQuery:query error:&__error];

	if (!__results) {
		NSLog(@"error: %@", __error);
	}
	else {
		NSLog(@"results: %@", __results);
	}
}

@end


Output on Mac OS X 10.5.0 - 10.5.7

2009-08-05 23:34:49.428 Bug7037807[577:10b] results: (
    <p>astring, bstring, cstring, dstring, estring
</p>
)
2009-08-05 23:34:49.431 Bug7037807[577:10b] results: (
    "astring, bstring, cstring, dstring, estring\n"
)
2009-08-05 23:34:49.432 Bug7037807[577:10b] results: (
    astring,
    " bstring",
    " cstring",
    " dstring",
    " estring\n"
)



Output on Mac OS X 10.5.8

2009-08-05 23:34:49.428 Bug7037807[577:10b] results: (
<p>astring, bstring, cstring, dstring, estring
</p>
)
2009-08-05 23:34:49.431 Bug7037807[577:10b] results: (
"astring, bstring, cstring, dstring, estring\n"
)
2009-08-05 23:34:49.432 Bug7037807[577:10b] error: XQueryError:17 - "invalid arguments to function - tokenize"


What does the 10.5.8 version of tokenize want as arguments? Any known work-around?

--
Michael

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Mac OS X 10.5.8 update breaks tokenize function in -[NSXMLNode objectsForXQuery:error:]
      • From: Michael Link <email@hidden>
  • Prev by Date: Re: [iPhone] Webview stringByEvaluatingJavaScriptFromString
  • Next by Date: Re: NSMenuItem addTarget & retain
  • Previous by thread: Re: NSOutlineView Not Updating After Adding Items
  • Next by thread: Re: Mac OS X 10.5.8 update breaks tokenize function in -[NSXMLNode objectsForXQuery:error:]
  • Index(es):
    • Date
    • Thread