Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableAssemblyTest.cs =================================================================== diff -u -rc484779318d146c81093706412e60860ee423295 -r21c37e6d9a366a9a9be9e5f40aa514b9fe8d6e4a --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableAssemblyTest.cs (.../SerializableAssemblyTest.cs) (revision c484779318d146c81093706412e60860ee423295) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableAssemblyTest.cs (.../SerializableAssemblyTest.cs) (revision 21c37e6d9a366a9a9be9e5f40aa514b9fe8d6e4a) @@ -24,6 +24,10 @@ using System.Globalization; using System.IO; using System.Linq; +using System.Reflection; +using System.Text; +using System.Xml.Linq; +using System.Xml.Schema; using System.Xml.Serialization; using Core.Common.Base.Geometry; using Core.Common.Util.Reflection; @@ -179,8 +183,7 @@ xmlns.Add("gml", AssemblyXmlIdentifiers.GmlNamespace); xmlns.Add("asm", AssemblyXmlIdentifiers.AssemblyNamespace); - var writer = new StringWriter(); - + var writer = new StringWriterUtf8(); var assessmentSection = new SerializableAssessmentSection { Id = "section1", @@ -224,8 +227,7 @@ { new Point2D(0.23, 0.24), new Point2D(10.23, 10.24) - }, - SerializableAssemblyMethod.WBI3B1); + }); var result1 = new SerializableFailureMechanismSectionAssembly("resultaat_GABI_1", failureMechanism1, @@ -249,14 +251,14 @@ }, SerializableAssemblyMethod.WBI3B1); var combinedResult = new SerializableCombinedFailureMechanismSectionAssembly("resultaat_gecombineerd_1", - totalAssemblyResult, - section2, - new[] - { - new SerializableCombinedFailureMechanismSectionAssemblyResult(SerializableAssemblyMethod.WBI3C1, SerializableFailureMechanismType.HTKW, SerializableFailureMechanismSectionCategoryGroup.IIIv), - new SerializableCombinedFailureMechanismSectionAssemblyResult(SerializableAssemblyMethod.WBI3C1, SerializableFailureMechanismType.STPH, SerializableFailureMechanismSectionCategoryGroup.IVv), - }, - new SerializableFailureMechanismSectionAssemblyResult(SerializableAssemblyMethod.WBI3B1, SerializableAssessmentLevel.CombinedSectionAssessment, SerializableFailureMechanismSectionCategoryGroup.VIv)); + totalAssemblyResult, + section2, + new[] + { + new SerializableCombinedFailureMechanismSectionAssemblyResult(SerializableAssemblyMethod.WBI3C1, SerializableFailureMechanismType.HTKW, SerializableFailureMechanismSectionCategoryGroup.IIIv), + new SerializableCombinedFailureMechanismSectionAssemblyResult(SerializableAssemblyMethod.WBI3C1, SerializableFailureMechanismType.STPH, SerializableFailureMechanismSectionCategoryGroup.IVv) + }, + new SerializableFailureMechanismSectionAssemblyResult(SerializableAssemblyMethod.WBI3B1, SerializableAssessmentLevel.CombinedSectionAssessment, SerializableFailureMechanismSectionCategoryGroup.VIv)); var assembly = new SerializableAssembly("assemblage_1", new Point2D(12.0, 34.0), new Point2D(56.053, 78.0002345), new SerializableFeatureMember[] @@ -266,17 +268,39 @@ totalAssemblyResult, failureMechanism1, result1, + combinedResult, sections1, - section1, sections2, - section2, - combinedResult + section1, + section2 }); serializer.Serialize(writer, assembly, xmlns); - Console.WriteLine(writer.ToString()); + string xml = writer.ToString(); + Console.WriteLine(xml); + + var schema = new XmlSchemaSet(); + Assembly ass = Assembly.GetExecutingAssembly(); + string path = Path.GetDirectoryName(ass.Location); + schema.Add("http://localhost/standaarden/assemblage", Path.Combine(path, "assemblage.xsd")); + + XDocument doc = XDocument.Parse(xml); + var msg = ""; + doc.Validate(schema, (o, e) => { msg += e.Message + Environment.NewLine; }); + Console.WriteLine(msg == "" ? "Document is valid" : "Document invalid: " + msg); } + public class StringWriterUtf8 : StringWriter + { + public override Encoding Encoding + { + get + { + return Encoding.UTF8; + } + } + } + private class TestFeatureMember : SerializableFeatureMember {} } } \ No newline at end of file Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Ringtoets.AssemblyTool.IO.Test.csproj =================================================================== diff -u -r5e2248b589fcb4b39e7ff664cd11a200b08daa28 -r21c37e6d9a366a9a9be9e5f40aa514b9fe8d6e4a --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Ringtoets.AssemblyTool.IO.Test.csproj (.../Ringtoets.AssemblyTool.IO.Test.csproj) (revision 5e2248b589fcb4b39e7ff664cd11a200b08daa28) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Ringtoets.AssemblyTool.IO.Test.csproj (.../Ringtoets.AssemblyTool.IO.Test.csproj) (revision 21c37e6d9a366a9a9be9e5f40aa514b9fe8d6e4a) @@ -13,6 +13,7 @@ + @@ -48,6 +49,10 @@ Copying.licenseheader + + Designer + Always + Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/assemblage.xsd =================================================================== diff -u --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/assemblage.xsd (revision 0) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/assemblage.xsd (revision 21c37e6d9a366a9a9be9e5f40aa514b9fe8d6e4a) @@ -0,0 +1,422 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geüniformeerd oordeel over het dijktraject rekening houdend met alle + toetssporen. + + + + + + + + + + + + Resultaat van de veiligheidstoetsing. - voldoet aan de norm - + voldoet niet aan de norm - nader onderzoek nodig + + + + + + + + + + + + + + + + + + + + + + + + + + De wijze waarop een mechanisme of een onderdeel van de waterkering wordt + beoordeeld. + + + + + + + + + Naam/code van het toetsspoor, zoals STPH (piping) + etc. + + + + + + + Groep van toetssporen gebaseerd op een onderverdeling op grond + van de beschikbare berekeningswijze en of betrekking hebben op directe of + indirecte mechanismen (FO Assemblagetool) + + + + + + + Aanduiding van het type faalmechanimse: + direct/indirect. + + + + + + + Aanduiding van het type oordeel: tussentijds / + volledig + + + + + + + + + + + + Geheel van activiteiten gericht op het (periodiek) beoordelen of de + momentane toestand van een object voldoet aan de vigerende functionele en/of + wettelijke eisen. + + + + + + + + Jaartal begin van de beoordelingsronde. Toelichting: een + waterkeringstelsel wordt in meerdere beoordelingsrondes beoordeeld (in de + tijd). Bijvoorbeeld de beoordelingsronde die loopt van 2017 tot en met + 2023. + + + + + + + Jaartal einde van de beoordelingsronde. Toelichting: een + waterkeringstelsel wordt in meerdere beoordelingsrondes beoordeeld (in de + tijd). Bijvoorbeeld de beoordelingsronde die loopt van 2017 tot en met + 2023. + + + + + + + + + + + + + Geen definitie in Aquo-lex Domein: goed, voldoende, onvoldoende, geen + oordeel + + + + + + + + + + + + + + + + + + + + + + + + Gecombineerd oordeel van de toetsoordelen van de verschillende + toetssporen op (deel)vakniveau. + + + + + + + + + + + + + + + + + + + + + + + + Deel van een waterkeringstelsel met min of meer gelijke eigenschappen (Aquo, + 'Toetsvak'). Voorbeelden: toetssectie, inspectievak, onderhoudsvak. + + + + + + + + + + + Afstand (in meters) van het begin van de sectie t.o.v. + het nulpunt van het referentiestelsel van de + waterkeringstelsel. + + + + + + + Afstand (in meters) van het einde van de sectie t.o.v. + het nulpunt van het referentiestelsel van de + waterkeringstelsel. + + + + + + Geometrische representatie van het object als lijn. + + + + + + + WaterkeringsectieType: Nadere aanduiding van het type + waterkeringsectie. + + + + + + + + + + + + + + + + + + + + + + Een logisch samenhangend stelsel van waterkeringen. + + + + + + + + + Naam van het waterkeringstelsel. + + + + + + Geometrische representatie van het object als lijn of + vlak. + + + + + + + + WaterkeringstelselType: Nadere aanduiding van het type + waterkeringstelsel. + + + + + + + +