[
Lists Home |
Date Index |
Thread Index
]
At 9:40 AM -0700 9/21/02, Dare Obasanjo wrote:
>We shipped this functionality in the .NET framework and I use it all
>the time. Search for the string "InnerXml" in the text at
>http://www.kuro5hin.org/story/2002/9/14/19753/0994
>
Thanks. Does this code work? If so, it's worse than I thought it was.
I had assumed InnerXML worked with well-formed XML. It apparently
doesn't. For example,
channel.InnerXml = channel.InnerXml + "\n<item>\n<title>" + diaryTitle +
"</title>\n<link>" + diaryLink + "</link>\n<description>" +
diaryDesc + "</description>\n";
Where's the end-tag for the item element? There's another case of
this a little further on:
channel.InnerXml = channel.InnerXml + "\n" +
"<rss:item xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" " +
"xmlns:rss=\"http://purl.org/rss/1.0/\" rdf:about=\"" +
diaryLink + "\" >\n" +
"<rss:title>" + diaryTitle + "</rss:title>\n<rss:link>" +
diaryLink + "</rss:link>\n" +
"<rss:description>" + diaryDesc + "</rss:description>\n";
This time it's the rss:item end-tag that's gone missing, unless I've
misunderstood C# handles double quote escaping in strings.
The underlying problem seems to be that this approach mixes up the
view of XML as a tree of nodes and XML as a sequence of text. Either
view makes sense. Both views are useful for processing (though only
the text is normative). But using them both at the same time is
ultimately confusing.
--
+-----------------------+------------------------+-------------------+
| Elliotte Rusty Harold | elharo@metalab.unc.edu | Writer/Programmer |
+-----------------------+------------------------+-------------------+
| XML in a Nutshell, 2nd Edition (O'Reilly, 2002) |
| http://www.cafeconleche.org/books/xian2/ |
| http://www.amazon.com/exec/obidos/ISBN%3D0596002920/cafeaulaitA/ |
+----------------------------------+---------------------------------+
| Read Cafe au Lait for Java News: http://www.cafeaulait.org/ |
| Read Cafe con Leche for XML News: http://www.cafeconleche.org/ |
+----------------------------------+---------------------------------+
|