public int writeNode_XmlReader21b()
{
string strxml = "<!DOCTYPE doc " +
"[<!ELEMENT doc ANY>" +
"<!ELEMENT test1 (#PCDATA)>" +
"<!ELEMENT test2 ANY>" +
"<!ELEMENT test3 (#PCDATA)>" +
"<!ENTITY e1 \"&e2;\">" +
"<!ENTITY e2 \"xmlns=\"x\"\">" +
"<!ATTLIST test3 a1 CDATA #IMPLIED>" +
"<!ATTLIST test3 a2 CDATA #IMPLIED>" +
"]>" +
"<doc>" +
" &e2;" +
" <test1>AA&e2;AA</test1>" +
" <test2>BB&e1;BB</test2>" +
" <test3 a1=\"&e2;\" a2=\"&e1;\">World</test3>" +
"</doc>";
try
{
using (XmlWriter w = CreateWriter())
{
try
{
using (XmlReader xr = CreateReader(new StringReader(strxml)))
{
w.WriteNode(xr, true);
CError.Compare(false, "Failed");
}
}
catch (XmlException xe) { CError.WriteLine(xe.Message); return TEST_PASS; }
}
}
catch (ObjectDisposedException e) { CError.WriteLine(e.Message); return TEST_PASS; }
return TEST_FAIL;
}