private void ValidateInstanceDoc( Taxonomy tax, string fileName, int countErrors, Hashtable prefixXRef ) { Instance ins = new Instance(); ArrayList errs; if( !ins.TryLoadInstanceDoc( fileName, out errs )) { Assert.Fail( "Failed to load instance document" + fileName); } foreach( MarkupProperty mp in ins.markups ) { if ( prefixXRef[mp.elementPrefix] != null ) { string realPrefix = prefixXRef[mp.elementPrefix] as string; mp.elementPrefix = realPrefix; mp.elementId = string.Format(DocumentBase.ID_FORMAT, mp.elementPrefix, mp.elementName); } } string[] validationErrors; tax.ValidateInstanceInformationForRequiresElementCheck( ins, out validationErrors ); Assert.IsNotNull( validationErrors , "Validation errors object should not be null"); foreach( string str in validationErrors ) { Console.WriteLine( str ); } Assert.AreEqual( countErrors, validationErrors.Length,"Failed to ValidateInstanceInformationForRequiresElementCheck"); }
public void TestPerformSECValidations2() { Taxonomy tax = new Taxonomy(); tax.Load(@"S:\TESTSCHEMAS\BEN Taxonomy\ben-20091231.xsd"); int errors; Assert.IsTrue(tax.Parse(out errors), "Failed to parse taxonomy"); Instance ins = new Instance(); ArrayList errorsstr; Assert.IsTrue(ins.TryLoadInstanceDoc(@"S:\TESTSCHEMAS\BEN Taxonomy\ben-20091231.xml", out errorsstr)); Dictionary<string, bool> eleDt = new Dictionary<string,bool>(); List<MarkupProperty> validMarkups = new List<MarkupProperty>(); foreach (MarkupProperty mp in ins.markups) { mp.element = new Node( tax.allElements[mp.elementId] as Element); eleDt[mp.elementId] = true; validMarkups.Add(mp); } List<ValidationErrorInfo> outParam = new List<ValidationErrorInfo>(); tax.PerformSECValidations(validMarkups, eleDt, null, false, ref outParam); outParam.Sort(); foreach( ValidationErrorInfo vei in outParam ) { Console.WriteLine( vei.MyErrorString); } }
public static bool TryLoadInstanceDocument(string instanceDocPath, out Instance currentInstance, out ArrayList errors) { errors = new ArrayList(); currentInstance = new Instance(); if (currentInstance.TryLoadInstanceDoc( instanceDocPath, out errors )) { if ( currentInstance.NumAttributeErrors > 0 || currentInstance.NumSchemaErrors > 0 ) { Console.WriteLine( "Instance doc parsing attribute errors: " + currentInstance.NumAttributeErrors ); Console.WriteLine( "Instance doc parsing schema errors: " + currentInstance.NumSchemaErrors ); } return true; } else { Console.WriteLine( "TryLoadInstanceDoc failed" ); errors.Sort(); foreach ( ParserMessage pm in errors ) { if ( pm.Level != TraceLevel.Error ) { break; // thru the errors } Console.WriteLine( "InstanceDoc error: " + pm.Message ); } } return false; }
public void TestLoadTaxonomyFromInstanceDocument_SEC_4Tax_Local_Partial2() { string copyTo = Path.GetTempFileName(); string curDir = Path.GetDirectoryName( copyTo ); string fileName = @"http://www.sec.gov/Archives/edgar/data/908823/000119312506095211/aabxx-20060228.xml"; string baseHRef = @"http://www.sec.gov/Archives/edgar/data/908823/000119312506095211/"; WebClient cli = new WebClient(); cli.DownloadFile( fileName, copyTo ); Instance ins = new Instance(); ArrayList errors; ins.TryLoadInstanceDoc( copyTo, out errors ); Taxonomy tax = new Taxonomy(); Assert.IsTrue( tax.LoadTaxonomyFromInstanceDocument( curDir, ins, false, baseHRef ), "Failed to load taxonomy." ); }
public void TestLoadTaxonomyFromInstanceDocument_SEC_4Tax_Local_HREF() { string fileName = @"S:\TestSchemas\BaseHRef\Instance\aabxx-20060228.xml"; string baseHRef = @"S:\TestSchemas\BaseHRef\Instance\"; Instance ins = new Instance(); ArrayList errors; ins.TryLoadInstanceDoc( fileName, out errors ); Taxonomy tax = new Taxonomy(); Assert.IsTrue( tax.LoadTaxonomyFromInstanceDocument( Path.GetTempPath(), ins, false, baseHRef ), "Failed to load taxonomy" ); ArrayList nodes = tax.GetNodesByPresentation(); Assert.IsTrue( nodes.Count >= 16, "should have presentation nodes" ); }
public void TestLoadTaxonomyFromInstanceDocument_SEC_4Tax() { string fileName = @"http://www.sec.gov/Archives/edgar/data/908823/000119312506095211/aabxx-20060228.xml"; string baseHRef = @"http://www.sec.gov/Archives/edgar/data/908823/000119312506095211/"; Instance ins = new Instance(); ArrayList errors; ins.TryLoadInstanceDoc( fileName, out errors ); Taxonomy tax = new Taxonomy(); Assert.IsTrue( tax.LoadTaxonomyFromInstanceDocument( Path.GetTempPath(), ins, false, baseHRef ), "Failed to load taxonomy" ); ArrayList nodes = tax.GetNodesByPresentation(); Assert.IsTrue( nodes.Count >= 16, "should have presentation nodes" ); }
public void TestLoadTaxonomyFromInstanceDocument_SEC_2Tax() { string fileName = @"http://www.sec.gov/Archives/edgar/data/89800/000095015208008578/shw-20080930.xml"; string baseHRef = @"http://www.sec.gov/Archives/edgar/data/89800/000095015208008578"; Instance ins = new Instance(); ArrayList errors; ins.TryLoadInstanceDoc( fileName, out errors ); Taxonomy tax = new Taxonomy(); Assert.IsTrue( tax.LoadTaxonomyFromInstanceDocument( Path.GetTempPath(), ins, false, baseHRef ), "Failed to load taxonomy" ); ArrayList nodes = tax.GetNodesByPresentation(); Assert.IsTrue( nodes.Count >= 5, "should have presentation nodes" ); }
public void TestLoadTaxonomyFromInstanceDocument() { string fileName = @"S:\TestSchemas\Instance With TaxonomyInfo.xml"; Instance ins = new Instance(); ArrayList errors; ins.TryLoadInstanceDoc( fileName, out errors ); Taxonomy tax = new Taxonomy(); Assert.IsTrue( tax.LoadTaxonomyFromInstanceDocument( @"S:\TestSchemas", ins, false ), "Failed to load taxonomy" ); ArrayList nodes = tax.GetNodesByPresentation(); Assert.IsTrue( nodes.Count > 10, "should have presentation nodes" ); }