public void ValidXMLUnitTest()
{
Console.WriteLine("--> " + System.Reflection.MethodBase.GetCurrentMethod().Name);
if (m_presenceSchema == null)
{
Console.WriteLine("Loading XSD schema for dialog event package, takes a while...");
m_presenceSchema = new XmlSchemaSet();
XmlReader schemaReader = new XmlTextReader(SIPSorcery.SIP.Properties.Resources.PIDFSchema, XmlNodeType.Document, null);
m_presenceSchema.Add(m_pidfXMLNS, schemaReader);
}
string validPresenceXMLStr =
"<?xml version='1.0' encoding='UTF-8'?>" +
"<presence xmlns='urn:ietf:params:xml:ns:pidf' entity='pres:[email protected]'>" +
" <tuple id='sg89ae'>" +
" <status>" +
" <basic>open</basic>" +
" </status>" +
" <contact priority='0.8'>tel:+09012345678</contact>" +
" </tuple>" +
"</presence>";
XDocument presenceDoc = XDocument.Parse(validPresenceXMLStr);
presenceDoc.Validate(m_presenceSchema, (o, e) =>
{
Console.WriteLine("XSD validation " + e.Severity + " event: " + e.Message);
if (e.Severity == XmlSeverityType.Error)
{
throw e.Exception;
}
});
Console.WriteLine("-----------------------------------------");
}