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.
+
+
+
+
+
+
+
+