OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   RE: [xml-dev] InnerXml is like printf (WAS: Underwhelmed)

[ Lists Home | Date Index | Thread Index ]

Elliotte Rusty Harold [mailto:elharo@metalab.unc.edu] wrote:

> Atjun explained this to me last night at dinner, and I think I see
> where he's coming from. The problematic ocnstruct is not this:
> element.InnerXml = "<tag>" + "content" + "</tag>";
> It's this:
> element.InnerXml += "<tag>";
> element.InnerXml += "content";
> element.InnerXml += "</tag>";
> Is this legal? Can you append parts of an element to InnerXML in
> successive statements? I don't have a Windows development 
> environment handy to check.

No, as Dan pointed out, this is not legal. InnerXml expects a legal XML
fragment. IOW, the following is fine:

person.InnerXml += "<name>Bob<name>";
person.InnerXml += "<age>33</age><phone>333-3333</phone>some text...";
person.InnerXml += "some more text...";

Each call simply parses out the XML fragment and appends the nodes to
the node's children collection. If you set the property (instead of
incrementing), then it overwrites the node's children collection.

The implementation seems reasonable (ignoring the bug Dare pointed out),
however, I agree that this use of the property is a little more

Aaron Skonnard <http://skonnard.com>, DevelopMentor <http://develop.com>
   Essential XML Quick Reference available online in PDF format...

History not used is nothing, for all intellectual life is action, like
practical life, and if you don't use the stuff -  well, it might as well
be dead. - arnold toynbee


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS