/// <summary> /// Demonstrates how to disable validation when writing an XLIFF document. /// </summary> /// <param name="document">The document to write.</param> /// <param name="file">The path to the document to write.</param> public static void DisableValidationOnWrite(XliffDocument document, string file) { using (IO.FileStream stream = new IO.FileStream(file, IO.FileMode.Create, IO.FileAccess.Write)) { XliffWriter writer; XliffWriterSettings settings; settings = new XliffWriterSettings(); settings.Validators.Clear(); writer = new XliffWriter(settings); writer.Serialize(stream, document); } }
/// <summary> /// Demonstrates how to write an XLIFF document to a file. /// </summary> /// <param name="document">The document to write.</param> /// <param name="file">The path to write the document to.</param> public static void WriteDocument(XliffDocument document, string file) { using (IO.FileStream stream = new IO.FileStream(file, IO.FileMode.Create, IO.FileAccess.Write)) { XliffWriter writer; writer = new XliffWriter(); writer.Serialize(stream, document); } }
/// <summary> /// Demonstrates how to validate a document on write and display the data where the validation error occurred. /// </summary> /// <param name="document">The document to validate.</param> /// <param name="file">The path to write the document to.</param> public static void ViewValidations(XliffDocument document, string file) { using (IO.FileStream stream = new IO.FileStream(file, IO.FileMode.Create, IO.FileAccess.Write)) { XliffWriter writer; writer = new XliffWriter(); try { writer.Serialize(stream, document); } catch (ValidationException e) { Console.WriteLine("ValidationException Details:"); if (e.Data != null) { foreach (object key in e.Data.Keys) { Console.WriteLine(" '{0}': '{1}'", key, e.Data[key]); } } } } }
public void Extensibility_FullDocumentRoundtrip() { XliffDocument document; string documentContents; string fileContents; int mismatchIndex; this.ids.Clear(); document = this.CreateFullyLoadedDocument(); documentContents = TestUtilities.GetDocumentContents(document, string.Empty); fileContents = TestUtilities.GetFileContents(TestData.DocumentWithEverything); mismatchIndex = -1; for (int i = 0; i < fileContents.Length; i++) { if ((mismatchIndex < 0) && (fileContents[i] != documentContents[i])) { mismatchIndex = i; break; } } if (mismatchIndex >= 0) { Console.WriteLine("Expected Output:"); Console.WriteLine(fileContents); Console.WriteLine(); Console.WriteLine("Actual Output:"); Console.WriteLine(documentContents); Console.WriteLine(); } Assert.IsTrue(fileContents == documentContents, "Document contents are incorrect starting at index {0} (neighbor chars are '{1}' vs. '{2}').", mismatchIndex, (mismatchIndex >= 10) ? fileContents.Substring(mismatchIndex - 10, 20) : "[see output]", (mismatchIndex >= 10) ? documentContents.Substring(mismatchIndex - 10, 20) : "[see output]"); Console.WriteLine("Serializing and deserializing document"); using (IO.MemoryStream stream = new IO.MemoryStream()) { XliffReader reader; XliffWriter writer; writer = new XliffWriter(); writer.Serialize(stream, document); stream.Seek(0, IO.SeekOrigin.Begin); reader = new XliffReader(); document = reader.Deserialize(stream); Assert.AreEqual( TestUtilities.GetFileContents(TestData.DocumentWithEverything), TestUtilities.GetDocumentContents(document, string.Empty), "Document contents are incorrect."); } }