Показать сообщение отдельно
Старый 03.02.2009, 03:10   #11  
Ned is offline
Ned
Lean Six Sigma
 
680 / 99 (5) ++++
Регистрация: 29.12.2002
Адрес: самолёт
Делаем с двумя XSD:

X++:
#define.xml('H:\\XML\\test1.xml')
#define.xsd1('urn:Test1','H:\\XML\\test1.xsd')
#define.xsd2('urn:Common','H:\\XML\\Common.xsd')
void validateFile()
{
    COM         xs = New COM("MSXML2.XMLSchemaCache.5.0");
    COM         xd = New COM("MSXML2.DOMDocument.5.0");
    COM         er;
    counter     i;
    ;
    xs.Add(#xsd1);
    xs.Add(#xsd2);
    xd.schemas(xs);
    xd.async(false);
    xd.Load(#xml);
    er = xd.parseError();
    if (er.errorCode())
    {
        throw error("Validation failed on " +
             #xml + @"
             =====================
             Reason: " + any2str(er.reason()) + @"
             Source: " + er.srcText() + @"
             Line: " + int2str(er.Line()));
    }
    else
    {
        info("Validation succeeded for " + #xml + @"
             ======================
             " + xd.xml());
    }
}
__________________
Viacheslav Nefedov, http://www.nefedov.net, http://restock.guru/
За это сообщение автора поблагодарили: NeveB (1), belugin (3), alex55 (1), Cardagant (1).