Re: Issue with displaying URI prefixes on child elements using NSXML

2008-06-12 Thread Lawrence Johnston

It all makes sense now. Thanks.

On Jun 11, 2008, at 11:48 PM, Chris Suter wrote:



On 11/06/2008, at 3:19 PM, Lawrence Johnston wrote:


Hey everybody, I've got an issue that I can't figure out.

If I'm using this code:

NSString *XMLForDisplay {

NSXMLElement *root = [NSXMLNode elementWithName:@root];
[root addNamespace:[NSXMLNode namespaceWithName:@a stringValue:@http://www.tempurl.com 
]];


NSXMLElement *child = [NSXMLNode elementWithName:@child URI:@http://www.tempurl.com 
];

[child addChild:[NSXMLNode textWithStringValue:@myText]];

[root addChild:child];

return [root XMLStringWithOptions:NSXMLNodePrettyPrint];
}


I believe it should be outputting this text:

root xmlns:a=http://www.tempurl.com;
a:childmyText/a:child
/root

However, instead it outputs this text (note the lack of prefix on  
the child):


root xmlns:a=http://www.tempurl.com;
childmyText/child
/root

This is an issue, because I need that a: prefix.

The documentation for elementWithName:URI: states it's equivalent  
to URI:name/URI:name, which is exactly what I want, except that  
I can't get it to display that way.


Thanks for your time.


The documentation says that you need to pass the qualified name in.  
So you need to do:


NSXMLElement *child = [NSXMLNode elementWithName:@a:child URI:@http://www.tempurl.com 
];


You can look-up the prefix using NSXMLElement’s  
resolvePrefixForNamespaceURI: method although you probably don’t  
need to do that.


- Chris



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Issue with displaying URI prefixes on child elements using NSXML

2008-06-10 Thread Lawrence Johnston

Hey everybody, I've got an issue that I can't figure out.

If I'm using this code:

NSString *XMLForDisplay {

  NSXMLElement *root = [NSXMLNode elementWithName:@root];
  [root addNamespace:[NSXMLNode namespaceWithName:@a stringValue:@http://www.tempurl.com 
]];


  NSXMLElement *child = [NSXMLNode elementWithName:@child URI:@http://www.tempurl.com 
];

  [child addChild:[NSXMLNode textWithStringValue:@myText]];

  [root addChild:child];

  return [root XMLStringWithOptions:NSXMLNodePrettyPrint];
}


I believe it should be outputting this text:

root xmlns:a=http://www.tempurl.com;
  a:childmyText/a:child
/root

However, instead it outputs this text (note the lack of prefix on the  
child):


root xmlns:a=http://www.tempurl.com;
  childmyText/child
/root

This is an issue, because I need that a: prefix.

The documentation for elementWithName:URI: states it's equivalent to  
URI:name/URI:name, which is exactly what I want, except that I  
can't get it to display that way.


Thanks for your time.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]