KlassenDLL im Main integriert
This commit is contained in:
199
SanSystem/SchnittstelleImporter/I2006XML.cs
Normal file
199
SanSystem/SchnittstelleImporter/I2006XML.cs
Normal file
@@ -0,0 +1,199 @@
|
||||
using SanShared;
|
||||
using SchnittstelleImporter.XML2006;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml;
|
||||
using System.Xml.Schema;
|
||||
|
||||
namespace SchnittstelleImporter
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public class I2006XML : IImportedObjekte
|
||||
{
|
||||
string xmlFile;
|
||||
string projektnummer;
|
||||
Dictionary<string, string> materialReferenz = new Dictionary<string, string>();
|
||||
/// <summary>
|
||||
/// Angabe zur XML datei
|
||||
/// </summary>
|
||||
public string XMLFile
|
||||
{
|
||||
get
|
||||
{
|
||||
return xmlFile;
|
||||
}
|
||||
set
|
||||
{
|
||||
xmlFile = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Angabe zur Projektnummer
|
||||
/// </summary>
|
||||
public string Projektnummer
|
||||
{
|
||||
get
|
||||
{
|
||||
return projektnummer;
|
||||
}
|
||||
set
|
||||
{
|
||||
projektnummer = value;
|
||||
}
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public I2006XML()
|
||||
{
|
||||
LoadMaterialien();
|
||||
}
|
||||
private void LoadMaterialien()
|
||||
{
|
||||
materialReferenz.Add("AZ", "AsbestZement");
|
||||
materialReferenz.Add("B", "Beton");
|
||||
materialReferenz.Add("BS", "BetonSegmente");
|
||||
|
||||
/*materialReferenz.Add("CNS
|
||||
materialReferenz.Add("EIS
|
||||
materialReferenz.Add("FZ
|
||||
*/
|
||||
materialReferenz.Add("GFK", "GFK");
|
||||
materialReferenz.Add("GG", "Grauguss");
|
||||
/*
|
||||
materialReferenz.Add("GGG
|
||||
materialReferenz.Add("KST
|
||||
materialReferenz.Add("MA
|
||||
materialReferenz.Add("OB
|
||||
materialReferenz.Add("P
|
||||
materialReferenz.Add("PC
|
||||
materialReferenz.Add("PCC
|
||||
*/
|
||||
materialReferenz.Add("PE", "PE");
|
||||
materialReferenz.Add("PEHD", "PEHD");
|
||||
/*
|
||||
materialReferenz.Add("PH
|
||||
materialReferenz.Add("PHB
|
||||
*/
|
||||
materialReferenz.Add("PP", "Polypropolen");
|
||||
materialReferenz.Add("PVC", "Polyvinylchlorid");
|
||||
materialReferenz.Add("PVCU", "Polyvinylchlorid hart");
|
||||
/*materialReferenz.Add("SFB
|
||||
materialReferenz.Add("SPB
|
||||
*/
|
||||
materialReferenz.Add("SB", "Stahlbeton");
|
||||
//materialReferenz.Add("ST
|
||||
materialReferenz.Add("STZ", "Steinzeug");
|
||||
/*materialReferenz.Add("SZB
|
||||
materialReferenz.Add("W
|
||||
materialReferenz.Add("ZG
|
||||
materialReferenz.Add("MIX
|
||||
materialReferenz.Add("BOD
|
||||
materialReferenz.Add("RAS
|
||||
materialReferenz.Add("PFL
|
||||
*/
|
||||
}
|
||||
|
||||
private string getRohrmaterial(string kennung)
|
||||
{
|
||||
string result;
|
||||
if (!materialReferenz.TryGetValue(kennung, out result))
|
||||
result = kennung;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private static void LoadRefListe()
|
||||
{
|
||||
//XmlSchema s = XmlSchema.Read(XmlReader.Create(@"XML2006\SchemaDateien\0610-referenzlisten.xsd"), null);
|
||||
XmlDocument xmlDocument = new XmlDocument();
|
||||
xmlDocument.Load(@"XML2006\SchemaDateien\0610-referenzlisten.xsd");
|
||||
|
||||
XmlNodeReader nodeReader = new XmlNodeReader(xmlDocument);
|
||||
while(nodeReader.Read())
|
||||
{
|
||||
Trace.WriteLine(nodeReader.Name);
|
||||
Trace.WriteLine(nodeReader.GetAttribute("name"));
|
||||
}
|
||||
/*
|
||||
int x = xmlDocument.ChildNodes.Count;
|
||||
var y = xmlDocument.ChildNodes[7];
|
||||
|
||||
for(int i = 0; i < y.ChildNodes.Count; i++)
|
||||
{
|
||||
var d = y.ChildNodes[i];
|
||||
var e = d["MaterialType"];
|
||||
Trace.WriteLine(e);
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
private static void ValidationCallback(object sender, ValidationEventArgs e)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<IInspektionsobjekt> GetInspektionsobjekte()
|
||||
{
|
||||
/*
|
||||
List<IInspektionsobjekt> result = new List<IInspektionsobjekt>();
|
||||
List<InspizierteAbwassertechnischeAnlage> anlagen = XMLParser.GetList(XMLFile);
|
||||
foreach(InspizierteAbwassertechnischeAnlage src in anlagen)
|
||||
{
|
||||
IInspektionsobjekt inspektionsobjekt = new Inspektionsobjekt();
|
||||
KlassenBIB.Collections.Inspektionskuerzeln inspektionskuerzelns = new KlassenBIB.Collections.Inspektionskuerzeln();
|
||||
|
||||
inspektionsobjekt.Projektnummer = projektnummer;
|
||||
inspektionsobjekt.Objektbezeichnung = src.Objektbezeichnung;
|
||||
inspektionsobjekt.OrtName = src.Lage.Ortname!= null? src.Lage.Ortname : "";
|
||||
inspektionsobjekt.StrasseName = src.Lage.Strassename != null ? src.Lage.Strassename : "noname";
|
||||
inspektionsobjekt.RohrMaterial = src.OptischeInspektion.Rohrleitung.Grunddaten.Material != null ? getRohrmaterial(src.OptischeInspektion.Rohrleitung.Grunddaten.Material) : "Unbekannt";
|
||||
inspektionsobjekt.Kanalrohrweite = src.OptischeInspektion.Rohrleitung.Grunddaten.Profilhoehe != 0 ? (uint)src.OptischeInspektion.Rohrleitung.Grunddaten.Profilhoehe : (uint)src.OptischeInspektion.Rohrleitung.Grunddaten.Profilbreite;
|
||||
inspektionsobjekt.Haltungslaenge = Convert.ToDouble(src.OptischeInspektion.Rohrleitung.Inspektionslaenge);
|
||||
inspektionsobjekt.VonPunkt = src.OptischeInspektion.Rohrleitung.Grunddaten.KnotenZulauf;
|
||||
inspektionsobjekt.BisPunkt = src.OptischeInspektion.Rohrleitung.Grunddaten.KnotenAblauf;
|
||||
inspektionsobjekt.Inspektionsrichtung = src.OptischeInspektion.Rohrleitung.Inspektionsrichtung;
|
||||
|
||||
|
||||
foreach(RZustand zustand in src.OptischeInspektion.Rohrleitung.Zustaende)
|
||||
{
|
||||
Inspektionskuerzeln inspektionskuerzeln = new Inspektionskuerzeln();
|
||||
inspektionskuerzeln.Station = zustand.Station;
|
||||
inspektionskuerzeln.Hauptkode = zustand.Inspektionskode;
|
||||
inspektionskuerzeln.Charakterisierung1 = zustand.Charakterisierung1;
|
||||
inspektionskuerzeln.Charakterisierung2 = zustand.Charakterisierung2;
|
||||
inspektionskuerzeln.ImVerbindung = zustand.Verbindung;
|
||||
inspektionskuerzeln.LageAmUmfangStart = Convert.ToUInt32(zustand.PositionVon);
|
||||
inspektionskuerzeln.LageAmUmfangEnde = Convert.ToUInt32(zustand.PositionBis);
|
||||
|
||||
Quantifizierung quant1 = zustand.Quantifizierung1;
|
||||
Quantifizierung quant2 = zustand.Quantifizierung2;
|
||||
|
||||
inspektionskuerzeln.Quantifizierung1 = Convert.ToUInt32(quant1.Numerisch);
|
||||
inspektionskuerzeln.Quantifizierung2 = Convert.ToUInt32(quant2.Numerisch);
|
||||
|
||||
inspektionskuerzelns.Add(inspektionskuerzeln);
|
||||
}
|
||||
|
||||
inspektionsobjekt.Schadenskuerzeln = inspektionskuerzelns;
|
||||
result.Add(inspektionsobjekt);
|
||||
}
|
||||
|
||||
return result;
|
||||
*/
|
||||
return new List<IInspektionsobjekt>();
|
||||
}
|
||||
}
|
||||
}
|
||||
39
SanSystem/SchnittstelleImporter/ImportBuilder.cs
Normal file
39
SanSystem/SchnittstelleImporter/ImportBuilder.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using SanShared;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SchnittstelleImporter
|
||||
{
|
||||
/// <summary>
|
||||
/// Definiert die Importierbare Schnittstellen
|
||||
/// </summary>
|
||||
public enum ImportSchnittstellen
|
||||
{
|
||||
/// <summary>
|
||||
/// Euronorm XML 2006
|
||||
/// </summary>
|
||||
XML2006
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public static class ImportBuilder
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public static IImportedObjekte Import(ImportSchnittstellen importSchnittstellen)
|
||||
{
|
||||
switch (importSchnittstellen)
|
||||
{
|
||||
case ImportSchnittstellen.XML2006: return new I2006XML();
|
||||
default: throw new Exception("Gewünschte Schnittstelle nicht implementiert");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
45
SanSystem/SchnittstelleImporter/XML2006/Anschlussdaten.cs
Normal file
45
SanSystem/SchnittstelleImporter/XML2006/Anschlussdaten.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SchnittstelleImporter.XML2006
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public class Anschlussdaten
|
||||
{
|
||||
string objektbezeichnung;
|
||||
EKantenTyp kantentyp;
|
||||
decimal entfernung;
|
||||
string anschlussArt;
|
||||
string fixierung;
|
||||
string kommentar;
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Objektbezeichnung { get => objektbezeichnung; set => objektbezeichnung = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public EKantenTyp Kantentyp { get => kantentyp; set => kantentyp = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public decimal Entfernung { get => entfernung; set => entfernung = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string AnschlussArt { get => anschlussArt; set => anschlussArt = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Fixierung { get => fixierung; set => fixierung = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Kommentar { get => kommentar; set => kommentar = value; }
|
||||
}
|
||||
}
|
||||
112
SanSystem/SchnittstelleImporter/XML2006/Enums.cs
Normal file
112
SanSystem/SchnittstelleImporter/XML2006/Enums.cs
Normal file
@@ -0,0 +1,112 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SchnittstelleImporter.XML2006
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public enum EAnlagetyp
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
Haltung = 1,
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
Anschlussleitung = 2,
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
Schacht = 3,
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
Bauwerk = 4
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
enum EInspektionverfahren
|
||||
{
|
||||
TVUntersuchung,
|
||||
Begehung,
|
||||
VomSchacht,
|
||||
Other
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
enum EWetter
|
||||
{
|
||||
KEINNIEDERSCHLAG = 1,
|
||||
REGEN = 2,
|
||||
SCHNEE = 3
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public enum ERohrleitungstyp
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
HALTUNG,
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
LEITUNG
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
enum EObjektArt
|
||||
{
|
||||
KANTE = 1,
|
||||
KNOTEN = 2
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public enum EKnotenTyp
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
SCHACHT = 0,
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
ANSCHLUSSPUNKT = 1,
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
BAUWERK = 2
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public enum EKantenTyp
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
HALTUNG,
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
LEITUNG,
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
RINNE,
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
GERINNE
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SchnittstelleImporter.XML2006
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public sealed class InspizierteAbwassertechnischeAnlage
|
||||
{
|
||||
string objektbezeichnung;
|
||||
Lage lage;
|
||||
EAnlagetyp anlagentyp;
|
||||
OptischeInspektion optischeInspektion;
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Objektbezeichnung
|
||||
{
|
||||
get
|
||||
{
|
||||
return objektbezeichnung;
|
||||
}
|
||||
set
|
||||
{
|
||||
objektbezeichnung = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public EAnlagetyp Anlagentyp
|
||||
{
|
||||
get
|
||||
{
|
||||
return anlagentyp;
|
||||
}
|
||||
set
|
||||
{
|
||||
anlagentyp = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public OptischeInspektion OptischeInspektion
|
||||
{
|
||||
get
|
||||
{
|
||||
return optischeInspektion;
|
||||
}
|
||||
set
|
||||
{
|
||||
optischeInspektion = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public Lage Lage
|
||||
{
|
||||
get
|
||||
{
|
||||
return lage;
|
||||
}
|
||||
set
|
||||
{
|
||||
lage = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return objektbezeichnung;
|
||||
}
|
||||
}
|
||||
}
|
||||
55
SanSystem/SchnittstelleImporter/XML2006/Lage.cs
Normal file
55
SanSystem/SchnittstelleImporter/XML2006/Lage.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SchnittstelleImporter.XML2006
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public class Lage
|
||||
{
|
||||
string strassename;
|
||||
string ortname;
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Strassename
|
||||
{
|
||||
get
|
||||
{
|
||||
return strassename;
|
||||
}
|
||||
set
|
||||
{
|
||||
strassename = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Ortname
|
||||
{
|
||||
get
|
||||
{
|
||||
return ortname;
|
||||
}
|
||||
set
|
||||
{
|
||||
ortname = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="strassename"></param>
|
||||
/// <param name="ortname"></param>
|
||||
public Lage(string strassename, string ortname)
|
||||
{
|
||||
this.strassename = strassename;
|
||||
this.ortname = ortname;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SchnittstelleImporter.XML2006
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public class OptischeInspektion
|
||||
{
|
||||
DateTime inspektionstime;
|
||||
Rohrleitung rohrleitung;
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public DateTime Inspektionstime
|
||||
{
|
||||
set
|
||||
{
|
||||
inspektionstime = value;
|
||||
}
|
||||
get
|
||||
{
|
||||
return inspektionstime;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Inspektionsdatum
|
||||
{
|
||||
get
|
||||
{
|
||||
return inspektionstime.ToShortDateString();
|
||||
}
|
||||
/*set
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
//inspektionsdatum = value;
|
||||
}*/
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Inspektionszeit
|
||||
{
|
||||
get
|
||||
{
|
||||
return inspektionstime.ToShortTimeString();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public Rohrleitung Rohrleitung
|
||||
{
|
||||
get
|
||||
{
|
||||
return rohrleitung;
|
||||
}
|
||||
set
|
||||
{
|
||||
rohrleitung = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
100
SanSystem/SchnittstelleImporter/XML2006/RGrunddaten.cs
Normal file
100
SanSystem/SchnittstelleImporter/XML2006/RGrunddaten.cs
Normal file
@@ -0,0 +1,100 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SchnittstelleImporter.XML2006
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public class RGrunddaten
|
||||
{
|
||||
string knotenZulauf;
|
||||
EKnotenTyp knotenZulaufTyp;
|
||||
string knotenAblauf;
|
||||
EKnotenTyp knotenAblaufTyp;
|
||||
int profilhoehe;
|
||||
int profilbreite;
|
||||
int profilart;
|
||||
string material;
|
||||
string kanalart;
|
||||
Anschlussdaten anschlussddaten = null;
|
||||
int herkunftProfilmasse;
|
||||
int herkunftMaterial;
|
||||
decimal regeleinzelrohrlaenge;
|
||||
int artAuskleidung;
|
||||
string innenschutz;
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string KnotenZulauf { get => knotenZulauf; set => knotenZulauf = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public EKnotenTyp KnotenZulaufTyp { get => knotenZulaufTyp; set => knotenZulaufTyp = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string KnotenAblauf { get => knotenAblauf; set => knotenAblauf = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public EKnotenTyp KnotenAblaufTyp { get => knotenAblaufTyp; set => knotenAblaufTyp = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public int Profilhoehe { get => profilhoehe; set => profilhoehe = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public int Profilbreite { get => profilbreite; set => profilbreite = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public int Profilart { get => profilart; set => profilart = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Material { get => material; set => material = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Kanalart { get => kanalart; set => kanalart = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public Anschlussdaten Anschlussddaten { get => anschlussddaten; set => anschlussddaten = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public int HerkunftProfilmasse { get => herkunftProfilmasse; set => herkunftProfilmasse = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public int HerkunftMaterial { get => herkunftMaterial; set => herkunftMaterial = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public decimal Regeleinzelrohrlaenge { get => regeleinzelrohrlaenge; set => regeleinzelrohrlaenge = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public int ArtAuskleidung { get => artAuskleidung; set => artAuskleidung = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public bool HasGrundleitung
|
||||
{
|
||||
get
|
||||
{
|
||||
return anschlussddaten != null;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Innenschutz { get => innenschutz; set => innenschutz = value; }
|
||||
}
|
||||
}
|
||||
102
SanSystem/SchnittstelleImporter/XML2006/RZustand.cs
Normal file
102
SanSystem/SchnittstelleImporter/XML2006/RZustand.cs
Normal file
@@ -0,0 +1,102 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SchnittstelleImporter.XML2006
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public struct Quantifizierung
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public decimal Numerisch;
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Text;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public override string ToString()
|
||||
{
|
||||
if (Text != null)
|
||||
return Text;
|
||||
if (Numerisch == 0)
|
||||
return "";
|
||||
return Numerisch.ToString();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public class RZustand
|
||||
{
|
||||
decimal station;
|
||||
string inspektionskode;
|
||||
string charakterisierung1;
|
||||
string charakterisierung2;
|
||||
bool verbindung;
|
||||
Quantifizierung quantifizierung1;
|
||||
Quantifizierung quantifizierung2;
|
||||
string streckenschaden;
|
||||
int streckenschadennr;
|
||||
int positionVon;
|
||||
int positionBis;
|
||||
string kommentar;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public decimal Station { get => station; set => station = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Inspektionskode { get => inspektionskode; set => inspektionskode = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Charakterisierung1 { get => charakterisierung1; set => charakterisierung1 = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Charakterisierung2 { get => charakterisierung2; set => charakterisierung2 = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public bool Verbindung { get => verbindung; set => verbindung = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public Quantifizierung Quantifizierung1 { get => quantifizierung1; set => quantifizierung1 = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public Quantifizierung Quantifizierung2 { get => quantifizierung2; set => quantifizierung2 = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Streckenschaden { get => streckenschaden; set => streckenschaden = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public int Streckenschadennr { get => streckenschadennr; set => streckenschadennr = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public int PositionVon { get => positionVon; set => positionVon = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public int PositionBis { get => positionBis; set => positionBis = value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Kommentar { get => kommentar; set => kommentar = value; }
|
||||
}
|
||||
}
|
||||
96
SanSystem/SchnittstelleImporter/XML2006/Rohrleitung.cs
Normal file
96
SanSystem/SchnittstelleImporter/XML2006/Rohrleitung.cs
Normal file
@@ -0,0 +1,96 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SchnittstelleImporter.XML2006
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public class Rohrleitung
|
||||
{
|
||||
ERohrleitungstyp rohrleitungstyp;
|
||||
decimal inspektionslaenge;
|
||||
string inspektionsrichtung;
|
||||
RGrunddaten grunddaten = null;
|
||||
List<RZustand> zustaende = null;
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ERohrleitungstyp Rohrleitungstyp
|
||||
{
|
||||
get
|
||||
{
|
||||
return rohrleitungstyp;
|
||||
}
|
||||
set
|
||||
{
|
||||
rohrleitungstyp = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public decimal Inspektionslaenge
|
||||
{
|
||||
get
|
||||
{
|
||||
return inspektionslaenge;
|
||||
}
|
||||
set
|
||||
{
|
||||
inspektionslaenge = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Inspektionsrichtung
|
||||
{
|
||||
get
|
||||
{
|
||||
switch (inspektionsrichtung)
|
||||
{
|
||||
case "U": return "Gegen Fliessrichtung";
|
||||
case "O": return "In Fliessrichtung";
|
||||
default: return "Fliessrichtungangabe nicht bekannt(" + inspektionsrichtung + ")";
|
||||
}
|
||||
|
||||
}
|
||||
set
|
||||
{
|
||||
inspektionsrichtung = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<RZustand> Zustaende
|
||||
{
|
||||
get
|
||||
{
|
||||
return zustaende;
|
||||
}
|
||||
set
|
||||
{
|
||||
zustaende = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public RGrunddaten Grunddaten
|
||||
{
|
||||
get
|
||||
{
|
||||
return grunddaten;
|
||||
}
|
||||
set
|
||||
{
|
||||
grunddaten = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,289 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- XML-Schema f<>r ISYBAU-Austauschformat Datenbereich Betriebsdaten -->
|
||||
<!-- Letzte Bearbeitung: 31.08.2007 -->
|
||||
<!-- Formatversion 0610 -->
|
||||
<xsd:schema xmlns="http://www.ofd-hannover.la/Identifikation" xmlns:isy="http://www.ofd-hannover.la/Identifikation" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ofd-hannover.la/Identifikation" elementFormDefault="qualified">
|
||||
<xsd:include schemaLocation=".\0610-referenzlisten.xsd"/>
|
||||
<xsd:annotation>
|
||||
<xsd:documentation xml:lang="de">ISYBAU-Austauschformat Datenbereich Betriebsdaten</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType name="BetriebsdatenType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Kennung">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:minLength value="5"/>
|
||||
<xsd:maxLength value="5"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Beschreibung" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="100"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Beobachtungen" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Grundwasser" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="GWMessstelle" type="GWMessstelleType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Boden" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Bodenkennwerte" type="BodenkennwerteType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="DokumenteType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Dokumentname">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="40"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Dateiname">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="255"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Dokumentquelle">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="40"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Kommentar" type="xsd:token" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="GWMessstelleType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Bezeichnung">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="30"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Erlaeuterung" type="xsd:token" minOccurs="0"/>
|
||||
<xsd:element name="Erstellungsdatum" type="xsd:date" minOccurs="0"/>
|
||||
<xsd:element name="Umfeld">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="30"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Bodenkennwerte" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="30"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Standort" type="StandortType" minOccurs="0"/>
|
||||
<xsd:element name="NwPeilrohr" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:integer">
|
||||
<xsd:totalDigits value="3"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="HoeheROK" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:decimal">
|
||||
<xsd:totalDigits value="6"/>
|
||||
<xsd:fractionDigits value="2"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Filterbeginn" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:decimal">
|
||||
<xsd:totalDigits value="4"/>
|
||||
<xsd:fractionDigits value="2"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Filterende" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:decimal">
|
||||
<xsd:totalDigits value="4"/>
|
||||
<xsd:fractionDigits value="2"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Endteufe" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:decimal">
|
||||
<xsd:totalDigits value="4"/>
|
||||
<xsd:fractionDigits value="2"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Zyklus" type="BeobachtungszyklusGWType" minOccurs="0"/>
|
||||
<xsd:element name="Messungen" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Messung" type="MessungType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Dokumente" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Dokument" type="DokumenteType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="MessungType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Ablesedatum" type="xsd:date" minOccurs="0"/>
|
||||
<xsd:element name="Messwert">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:decimal">
|
||||
<xsd:totalDigits value="4"/>
|
||||
<xsd:fractionDigits value="2"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Kommentar" type="xsd:token" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="BodenkennwerteType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Bezeichnung">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="30"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Erlaeuterung" type="xsd:token" minOccurs="0"/>
|
||||
<xsd:element name="Umfeld">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="30"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Standort" type="StandortType" minOccurs="0"/>
|
||||
<xsd:element name="ArtUntersuchung" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="UntersuchungBodenType"/>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="GWFlurabstand" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:decimal">
|
||||
<xsd:totalDigits value="5"/>
|
||||
<xsd:fractionDigits value="2"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="massgBodenart" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="4"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="massgKfWert" type="xsd:double" minOccurs="0"/>
|
||||
<xsd:element name="Bodenschichten" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Bodenschicht" type="BodenschichtType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Dokumente" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Dokument" type="DokumenteType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="BodenschichtType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="obereSchichtgrenze" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:decimal">
|
||||
<xsd:totalDigits value="4"/>
|
||||
<xsd:fractionDigits value="2"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="untereSchichtgrenze" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:decimal">
|
||||
<xsd:totalDigits value="4"/>
|
||||
<xsd:fractionDigits value="2"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Bodenart" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="4"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="KfWert" type="xsd:double" minOccurs="0"/>
|
||||
<xsd:element name="Bestimmungsmethode" type="BestimmungkfType" minOccurs="0"/>
|
||||
<xsd:element name="Kommentar" type="xsd:token" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="StandortType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Rechtswert">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:decimal">
|
||||
<xsd:totalDigits value="11"/>
|
||||
<xsd:fractionDigits value="3"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Hochwert">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:decimal">
|
||||
<xsd:totalDigits value="10"/>
|
||||
<xsd:fractionDigits value="3"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="HoeheGOK">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:decimal">
|
||||
<xsd:totalDigits value="7"/>
|
||||
<xsd:fractionDigits value="3"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Lagegenauigkeitsstufe">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="LagestufeType"/>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:schema>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,478 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- XML-Schema f<>r ISYBAU-Austauschformat Datenbereich Metadaten -->
|
||||
<!-- Letzte Bearbeitung: 31.08.2007 -->
|
||||
<!-- Formatversion 0610 -->
|
||||
<xsd:schema xmlns="http://www.ofd-hannover.la/Identifikation" xmlns:isy="http://www.ofd-hannover.la/Identifikation" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ofd-hannover.la/Identifikation" elementFormDefault="qualified">
|
||||
<xsd:include schemaLocation=".\0610-stammdaten.xsd"/>
|
||||
<xsd:include schemaLocation=".\0610-zustandsdaten.xsd"/>
|
||||
<xsd:include schemaLocation=".\0610-referenzlisten.xsd"/>
|
||||
<xsd:include schemaLocation=".\0610-hydraulikdaten.xsd"/>
|
||||
<xsd:include schemaLocation=".\0610-betriebsdaten.xsd"/>
|
||||
<xsd:annotation>
|
||||
<xsd:documentation xml:lang="de">ISYBAU-Austauschformat Datenbereich Metadaten</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:element name="Identifikation">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Version" type="xsd:gYearMonth"/>
|
||||
<xsd:element name="Admindaten" type="AdmindatenType"/>
|
||||
<xsd:element name="Datenkollektive" type="DatenkollektiveType">
|
||||
<xsd:key name="MKollektivKey">
|
||||
<xsd:selector xpath="isy:Kennungen/isy:Kollektiv"/>
|
||||
<xsd:field xpath="isy:Kennung"/>
|
||||
</xsd:key>
|
||||
<xsd:unique name="SKollektivKey">
|
||||
<xsd:selector xpath="isy:Stammdatenkollektiv"/>
|
||||
<xsd:field xpath="isy:Kennung"/>
|
||||
</xsd:unique>
|
||||
<xsd:keyref name="SKollektivRef" refer="MKollektivKey">
|
||||
<xsd:selector xpath="isy:Stammdatenkollektiv"/>
|
||||
<xsd:field xpath="isy:Kennung"/>
|
||||
</xsd:keyref>
|
||||
<xsd:unique name="ZKollektivKey">
|
||||
<xsd:selector xpath="isy:Zustandsdatenkollektiv"/>
|
||||
<xsd:field xpath="isy:Kennung"/>
|
||||
</xsd:unique>
|
||||
<xsd:keyref name="ZKollektivRef" refer="MKollektivKey">
|
||||
<xsd:selector xpath="isy:Zustandsdatenkollektiv"/>
|
||||
<xsd:field xpath="isy:Kennung"/>
|
||||
</xsd:keyref>
|
||||
<xsd:unique name="HKollektivKey">
|
||||
<xsd:selector xpath="isy:Hydraulikdatenkollektiv"/>
|
||||
<xsd:field xpath="isy:Kennung"/>
|
||||
</xsd:unique>
|
||||
<xsd:keyref name="HKollektivRef" refer="MKollektivKey">
|
||||
<xsd:selector xpath="isy:Hydraulikdatenkollektiv"/>
|
||||
<xsd:field xpath="isy:Kennung"/>
|
||||
</xsd:keyref>
|
||||
<xsd:unique name="BKollektivKey">
|
||||
<xsd:selector xpath="isy:Betriebsdatenkollektiv"/>
|
||||
<xsd:field xpath="isy:Kennung"/>
|
||||
</xsd:unique>
|
||||
<xsd:keyref name="BKollektivRef" refer="MKollektivKey">
|
||||
<xsd:selector xpath="isy:Betriebsdatenkollektiv"/>
|
||||
<xsd:field xpath="isy:Kennung"/>
|
||||
</xsd:keyref>
|
||||
<xsd:unique name="UmfeldKey">
|
||||
<xsd:selector xpath="isy:Stammdatenkollektiv/isy:Umfelder/isy:Umfeld"/>
|
||||
<xsd:field xpath="isy:Bezeichnung"/>
|
||||
</xsd:unique>
|
||||
<xsd:keyref name="SUmfeldRef" refer="UmfeldKey">
|
||||
<xsd:selector xpath="isy:Stammdatenkollektiv/isy:AbwassertechnischeAnlage/isy:Knoten/isy:Bauwerk/isy:Versickerungsanlage"/>
|
||||
<xsd:field xpath="isy:Umfeld"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="BoUmfeldRef" refer="UmfeldKey">
|
||||
<xsd:selector xpath="isy:Betriebsdatenkollektiv/isy:Beobachtungen/isy:Boden/isy:Bodenkennwerte"/>
|
||||
<xsd:field xpath="isy:Umfeld"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="GwUmfeldRef" refer="UmfeldKey">
|
||||
<xsd:selector xpath="isy:Betriebsdatenkollektiv/isy:Beobachtungen/isy:Grundwasser/isy:GWMessstelle"/>
|
||||
<xsd:field xpath="isy:Umfeld"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="HStammKollektivRef" refer="MKollektivKey">
|
||||
<xsd:selector xpath="isy:Hydraulikdatenkollektiv/isy:Rechennetz"/>
|
||||
<xsd:field xpath="isy:Stammdatenkennung"/>
|
||||
</xsd:keyref>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:complexType name="AdmindatenType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Liegenschaft" type="LiegenschaftType"/>
|
||||
<xsd:element name="Verwaltung" type="VerwaltungType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="LiegenschaftType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Liegenschaftsnummer">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="20"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Objektnummer" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="4"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Liegenschaftsbezeichnung">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="40"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Liegenschaftsstrasse" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="40"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="LiegenschaftsPLZ" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:minLength value="5"/>
|
||||
<xsd:maxLength value="5"/>
|
||||
<xsd:pattern value="\p{N}{5}"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Liegenschaftsort" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="40"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Liegenschaftsnutzung" type="xsd:token" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="VerwaltungType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Zustaendigkeit" type="ZustaendigkeitType" minOccurs="0"/>
|
||||
<xsd:element name="DienststelleVerwaltend" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="40"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="DienststelleHausverwaltend" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="40"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="DienststelleBauaufsicht" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="40"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="DienststelleBaudurchfuehrung" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="40"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="NummerDienststelleBaudurchfuehrung" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="5"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Zustaendigkeitsbereich" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="10"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Aktenzeichen" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="15"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Abwasserbeseitigungspflicht" type="AbwasserbeseitigungspflichtType" minOccurs="0"/>
|
||||
<xsd:element name="Wasserbehoerde" minOccurs="0">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:maxLength value="40"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="AblaufEinleitungsgenehmigung" type="xsd:date" minOccurs="0"/>
|
||||
<xsd:element name="Kommentar" type="xsd:token" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="DatenkollektiveType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Datenstatus" type="DatenstatusType"/>
|
||||
<xsd:element name="Erstellungsdatum" type="xsd:date"/>
|
||||
<xsd:element name="Kommentar" type="xsd:token" minOccurs="0"/>
|
||||
<xsd:element name="Kennungen">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Kollektiv" type="KollektivType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Stammdatenkollektiv" type="StammdatenType" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:key name="SObjektKey">
|
||||
<xsd:selector xpath="isy:AbwassertechnischeAnlage"/>
|
||||
<xsd:field xpath="isy:Objektbezeichnung"/>
|
||||
<xsd:field xpath="isy:Objektart"/>
|
||||
</xsd:key>
|
||||
<xsd:keyref name="UeberPumpeKey" refer="SObjektKey">
|
||||
<xsd:selector xpath="isy:AbwassertechnischeAnlage/isy:Knoten/isy:Bauwerk/isy:Pumpe/isy:UebergeordnetesBauwerk"/>
|
||||
<xsd:field xpath="isy:Objektbezeichnung"/>
|
||||
<xsd:field xpath="isy:Anlagentyp"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="UeberWehrKey" refer="SObjektKey">
|
||||
<xsd:selector xpath="isy:AbwassertechnischeAnlage/isy:Knoten/isy:Bauwerk/isy:Wehr_Ueberlauf/isy:UebergeordnetesBauwerk"/>
|
||||
<xsd:field xpath="isy:Objektbezeichnung"/>
|
||||
<xsd:field xpath="isy:Anlagentyp"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="UeberDrosselKey" refer="SObjektKey">
|
||||
<xsd:selector xpath="isy:AbwassertechnischeAnlage/isy:Knoten/isy:Bauwerk/isy:Drossel/isy:UebergeordnetesBauwerk"/>
|
||||
<xsd:field xpath="isy:Objektbezeichnung"/>
|
||||
<xsd:field xpath="isy:Anlagentyp"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="UeberSchieberKey" refer="SObjektKey">
|
||||
<xsd:selector xpath="isy:AbwassertechnischeAnlage/isy:Knoten/isy:Bauwerk/isy:Schieber/isy:UebergeordnetesBauwerk"/>
|
||||
<xsd:field xpath="isy:Objektbezeichnung"/>
|
||||
<xsd:field xpath="isy:Anlagentyp"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="UeberSiebKey" refer="SObjektKey">
|
||||
<xsd:selector xpath="isy:AbwassertechnischeAnlage/isy:Knoten/isy:Bauwerk/isy:Sieb/isy:UebergeordnetesBauwerk"/>
|
||||
<xsd:field xpath="isy:Objektbezeichnung"/>
|
||||
<xsd:field xpath="isy:Anlagentyp"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="UeberRechenKey" refer="SObjektKey">
|
||||
<xsd:selector xpath="isy:AbwassertechnischeAnlage/isy:Knoten/isy:Bauwerk/isy:Rechen/isy:UebergeordnetesBauwerk"/>
|
||||
<xsd:field xpath="isy:Objektbezeichnung"/>
|
||||
<xsd:field xpath="isy:Anlagentyp"/>
|
||||
</xsd:keyref>
|
||||
<xsd:key name="SAuftragKey">
|
||||
<xsd:selector xpath="isy:Auftraege/isy:Auftrag"/>
|
||||
<xsd:field xpath="isy:Auftragskennung"/>
|
||||
</xsd:key>
|
||||
<xsd:unique name="SAuftragBezKey">
|
||||
<xsd:selector xpath="isy:Auftraege/isy:Auftrag"/>
|
||||
<xsd:field xpath="isy:Auftragsbezeichnung"/>
|
||||
</xsd:unique>
|
||||
<xsd:keyref name="SAuftragRef" refer="SAuftragKey">
|
||||
<xsd:selector xpath="isy:AbwassertechnischeAnlage/isy:Sanierung/isy:Massnahme"/>
|
||||
<xsd:field xpath="isy:Auftragskennung"/>
|
||||
</xsd:keyref>
|
||||
<xsd:unique name="SKanteKey">
|
||||
<xsd:selector xpath="isy:AbwassertechnischeAnlage"/>
|
||||
<xsd:field xpath="isy:Objektbezeichnung"/>
|
||||
<xsd:field xpath="isy:Kante/isy:KantenTyp"/>
|
||||
</xsd:unique>
|
||||
<xsd:unique name="SKnotenKey">
|
||||
<xsd:selector xpath="isy:AbwassertechnischeAnlage"/>
|
||||
<xsd:field xpath="isy:Objektbezeichnung"/>
|
||||
<xsd:field xpath="isy:Knoten/isy:KnotenTyp"/>
|
||||
</xsd:unique>
|
||||
<xsd:keyref name="AnschlussHaltungKey" refer="SKanteKey">
|
||||
<xsd:selector xpath="isy:AbwassertechnischeAnlage/isy:Kante/isy:Haltung/isy:Anschlussdaten"/>
|
||||
<xsd:field xpath="isy:Objektbezeichnung"/>
|
||||
<xsd:field xpath="isy:Kantentyp"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="AnschlussLeitungKey" refer="SKanteKey">
|
||||
<xsd:selector xpath="isy:AbwassertechnischeAnlage/isy:Kante/isy:Leitung/isy:Anschlussdaten"/>
|
||||
<xsd:field xpath="isy:Objektbezeichnung"/>
|
||||
<xsd:field xpath="isy:Kantentyp"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="ZulaufKnotenKey" refer="SKnotenKey">
|
||||
<xsd:selector xpath="isy:AbwassertechnischeAnlage"/>
|
||||
<xsd:field xpath="isy:Kante/isy:KnotenZulauf"/>
|
||||
<xsd:field xpath="isy:Kante/isy:KnotenZulaufTyp"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="AblaufKnotenKey" refer="SKnotenKey">
|
||||
<xsd:selector xpath="isy:AbwassertechnischeAnlage"/>
|
||||
<xsd:field xpath="isy:Kante/isy:KnotenAblauf"/>
|
||||
<xsd:field xpath="isy:Kante/isy:KnotenAblaufTyp"/>
|
||||
</xsd:keyref>
|
||||
</xsd:element>
|
||||
<xsd:element name="Zustandsdatenkollektiv" type="ZustandsdatenType" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:unique name="ZObjektKey">
|
||||
<xsd:selector xpath="isy:InspizierteAbwassertechnischeAnlage"/>
|
||||
<xsd:field xpath="isy:Objektbezeichnung"/>
|
||||
<xsd:field xpath="isy:Anlagentyp"/>
|
||||
<xsd:field xpath="isy:OptischeInspektion/isy:Rohrleitung/isy:Inspektionsrichtung"/>
|
||||
</xsd:unique>
|
||||
<xsd:keyref name="ZObjektRef" refer="ZObjektKey">
|
||||
<xsd:selector xpath="isy:Filme/isy:Film/isy:FilmObjekte/isy:FilmObjekt"/>
|
||||
<xsd:field xpath="isy:Objektbezeichnung"/>
|
||||
<xsd:field xpath="isy:Typ"/>
|
||||
<xsd:field xpath="isy:Inspektionsrichtung"/>
|
||||
</xsd:keyref>
|
||||
<xsd:unique name="FObjektKey">
|
||||
<xsd:selector xpath="isy:Filme/isy:Film/isy:FilmObjekte/isy:FilmObjekt"/>
|
||||
<xsd:field xpath="isy:Objektbezeichnung"/>
|
||||
<xsd:field xpath="isy:Typ"/>
|
||||
<xsd:field xpath="isy:Inspektionsrichtung"/>
|
||||
</xsd:unique>
|
||||
<xsd:key name="UAuftragKey">
|
||||
<xsd:selector xpath="isy:Auftraege/isy:Auftrag"/>
|
||||
<xsd:field xpath="isy:Auftragskennung"/>
|
||||
</xsd:key>
|
||||
<xsd:unique name="UAuftragBezKey">
|
||||
<xsd:selector xpath="isy:Auftraege/isy:Auftrag"/>
|
||||
<xsd:field xpath="isy:Auftragsbezeichnung"/>
|
||||
</xsd:unique>
|
||||
<xsd:keyref name="IAuftragRef" refer="UAuftragKey">
|
||||
<xsd:selector xpath="isy:InspizierteAbwassertechnischeAnlage/isy:OptischeInspektion"/>
|
||||
<xsd:field xpath="isy:Auftragskennung"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="DAuftragRef" refer="UAuftragKey">
|
||||
<xsd:selector xpath="isy:InspizierteAbwassertechnischeAnlage/isy:Dichtheitspruefungen/isy:Pruefung"/>
|
||||
<xsd:field xpath="isy:Auftragskennung"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="FAuftragRef" refer="UAuftragKey">
|
||||
<xsd:selector xpath="isy:Filme/isy:Film"/>
|
||||
<xsd:field xpath="isy:Auftragskennung"/>
|
||||
</xsd:keyref>
|
||||
</xsd:element>
|
||||
<xsd:element name="Hydraulikdatenkollektiv" type="HydraulikdatenType" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:unique name="HVerfahrenKey">
|
||||
<xsd:selector xpath="isy:Verfahrensvorgaben/isy:Verfahren"/>
|
||||
<xsd:field xpath="isy:Verfahrenskennung"/>
|
||||
</xsd:unique>
|
||||
<xsd:unique name="HRechennetzObjektKey">
|
||||
<xsd:selector xpath="isy:Rechennetz/isy:HydraulikObjekte/isy:HydraulikObjekt"/>
|
||||
<xsd:field xpath="isy:Objektbezeichnung"/>
|
||||
<xsd:field xpath="isy:HydObjektTyp"/>
|
||||
</xsd:unique>
|
||||
<xsd:unique name="HGebietKey">
|
||||
<xsd:selector xpath="isy:Gebiete/isy:Gebiet"/>
|
||||
<xsd:field xpath="isy:Gebietskennung"/>
|
||||
</xsd:unique>
|
||||
<xsd:unique name="HFlaechenIDKey">
|
||||
<xsd:selector xpath="isy:Flaechen/isy:Flaeche"/>
|
||||
<xsd:field xpath="isy:Flaechennummer"/>
|
||||
</xsd:unique>
|
||||
<xsd:unique name="HFlaecheKey">
|
||||
<xsd:selector xpath="isy:Flaechen/isy:Flaeche"/>
|
||||
<xsd:field xpath="isy:Flaechenbezeichnung"/>
|
||||
</xsd:unique>
|
||||
<xsd:unique name="HNiederschlagKey">
|
||||
<xsd:selector xpath="isy:Systembelastungen/isy:Niederschlaege/isy:Niederschlag"/>
|
||||
<xsd:field xpath="isy:Niederschlagkennung"/>
|
||||
</xsd:unique>
|
||||
<xsd:unique name="HTrwKey">
|
||||
<xsd:selector xpath="isy:Systembelastungen/isy:Trockenwetterabflussspenden/isy:Trockenwetterabflussspende"/>
|
||||
<xsd:field xpath="isy:Trockenwetterkennung"/>
|
||||
</xsd:unique>
|
||||
<xsd:unique name="HEinleiterKey">
|
||||
<xsd:selector xpath="isy:Systembelastungen/isy:Einleiterkollektive/isy:Einleiterkollektiv"/>
|
||||
<xsd:field xpath="isy:Einleiterkollektivkennung"/>
|
||||
</xsd:unique>
|
||||
<xsd:unique name="HBerechnungKey">
|
||||
<xsd:selector xpath="isy:Berechnungen/isy:Berechnung/isy:BerechnungInfo"/>
|
||||
<xsd:field xpath="isy:Rechenlaufkennung"/>
|
||||
</xsd:unique>
|
||||
<xsd:keyref name="HFlaecheGebietRef" refer="HGebietKey">
|
||||
<xsd:selector xpath="isy:Flaechen/isy:Flaeche"/>
|
||||
<xsd:field xpath="isy:Gebietskennung"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="HFlaecheRef" refer="HFlaechenIDKey">
|
||||
<xsd:selector xpath="isy:Flaechen/isy:Flaeche/isy:Flaechenobjekt"/>
|
||||
<xsd:field xpath="isy:Flaechennummer"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="HFlaecheObjektRef" refer="HRechennetzObjektKey">
|
||||
<xsd:selector xpath="isy:Flaechen/isy:Flaeche/isy:HydraulikObjekt"/>
|
||||
<xsd:field xpath="isy:Objektbezeichnung"/>
|
||||
<xsd:field xpath="isy:HydObjektTyp"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="HEinzeleinleiterObjektRef" refer="HRechennetzObjektKey">
|
||||
<xsd:selector xpath="isy:Systembelastungen/isy:Einleiterkollektive/isy:Einleiterkollektiv/isy:ListeEinzeleinleiter/isy:Einzeleinleiter/isy:HydraulikObjekt"/>
|
||||
<xsd:field xpath="isy:Objektbezeichnung"/>
|
||||
<xsd:field xpath="isy:HydObjektTyp"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="HVerfahrenRef" refer="HVerfahrenKey">
|
||||
<xsd:selector xpath="isy:Berechnungen/isy:Berechnung/isy:BerechnungInfo"/>
|
||||
<xsd:field xpath="isy:Verfahrenskennung"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="HEinleiterRef" refer="HEinleiterKey">
|
||||
<xsd:selector xpath="isy:Berechnungen/isy:Berechnung/isy:BerechnungInfo"/>
|
||||
<xsd:field xpath="isy:Einleiterkollektivkennung"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="HTrwRef" refer="HTrwKey">
|
||||
<xsd:selector xpath="isy:Gebiete/isy:Gebiet"/>
|
||||
<xsd:field xpath="isy:Trockenwetterkennung"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="HNiederschlag1Ref" refer="HNiederschlagKey">
|
||||
<xsd:selector xpath="isy:Berechnungen/isy:Berechnung/isy:BerechnungInfo/isy:Niederschlagsbelastung/isy:GleichmaessigeUeberregnung"/>
|
||||
<xsd:field xpath="isy:Niederschlagkennung"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="HNiederschlag2Ref" refer="HNiederschlagKey">
|
||||
<xsd:selector xpath="isy:Berechnungen/isy:Berechnung/isy:BerechnungInfo/isy:Niederschlagsbelastung/isy:UngleichmaessigeUeberregnung/isy:FlaechenNiederschlag"/>
|
||||
<xsd:field xpath="isy:Niederschlagkennung"/>
|
||||
</xsd:keyref>
|
||||
<xsd:keyref name="HFlaeche2Ref" refer="HFlaechenIDKey">
|
||||
<xsd:selector xpath="isy:Berechnungen/isy:Berechnung/isy:BerechnungInfo/isy:Niederschlagsbelastung/isy:UngleichmaessigeUeberregnung/isy:FlaechenNiederschlag"/>
|
||||
<xsd:field xpath="isy:Flaechennummer"/>
|
||||
</xsd:keyref>
|
||||
</xsd:element>
|
||||
<xsd:element name="Betriebsdatenkollektiv" type="BetriebsdatenType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="Kostendatenkollektiv" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="KollektivType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Kennung">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:length value="5"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Kollektivart" type="KollektivartType"/>
|
||||
<xsd:element name="Kollektiveigenschaft">
|
||||
<xsd:complexType>
|
||||
<xsd:choice>
|
||||
<xsd:element name="Stammdaten" type="StammType"/>
|
||||
<xsd:element name="Zustandsdaten" type="ZustandType"/>
|
||||
<xsd:element name="Hydraulikdaten" type="HydraulikType"/>
|
||||
<xsd:element name="Betriebsdaten" type="BetriebType"/>
|
||||
<xsd:element name="Kostendaten">
|
||||
<xsd:complexType/>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Regelwerk" type="RegelwerkType"/>
|
||||
<xsd:element name="Bearbeitungsstand" type="xsd:date"/>
|
||||
<xsd:element name="Kommentar" type="xsd:token" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="StammType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Stammdatentyp">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="StammdatentypType"/>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Bautechnik" type="xsd:boolean"/>
|
||||
<xsd:element name="Geometrie" type="xsd:boolean"/>
|
||||
<xsd:element name="Sanierung" type="xsd:boolean"/>
|
||||
<xsd:element name="Umfeld" type="xsd:boolean"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="ZustandType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Inspektion" type="xsd:boolean"/>
|
||||
<xsd:element name="Dichtheit" type="xsd:boolean"/>
|
||||
<xsd:element name="Film" type="xsd:boolean"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="HydraulikType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Verfahren" type="xsd:boolean"/>
|
||||
<xsd:element name="Rechennetz" type="xsd:boolean"/>
|
||||
<xsd:element name="Gebiet" type="xsd:boolean"/>
|
||||
<xsd:element name="Flaechen" type="xsd:boolean"/>
|
||||
<xsd:element name="Belastung" type="xsd:boolean"/>
|
||||
<xsd:element name="Berechnung" type="xsd:boolean"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="BetriebType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Beobachtung" type="xsd:boolean"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:schema>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
286
SanSystem/SchnittstelleImporter/XML2006/XMLParser.cs
Normal file
286
SanSystem/SchnittstelleImporter/XML2006/XMLParser.cs
Normal file
@@ -0,0 +1,286 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml;
|
||||
|
||||
namespace SchnittstelleImporter.XML2006
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public static class XMLParser
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public static Dictionary<InspizierteAbwassertechnischeAnlage, string> anlageInFile = new Dictionary<InspizierteAbwassertechnischeAnlage, string>();
|
||||
/// <summary>
|
||||
/// Gibt eine Liste an anlagen zurück von einer XML Datei.
|
||||
/// </summary>
|
||||
/// <param name="xmldatei"></param>
|
||||
/// <returns></returns>
|
||||
public static List<InspizierteAbwassertechnischeAnlage> GetList(string xmldatei)
|
||||
{
|
||||
List<InspizierteAbwassertechnischeAnlage> result = new List<InspizierteAbwassertechnischeAnlage>();
|
||||
XmlDocument doc = new XmlDocument();
|
||||
doc.Load(xmldatei);
|
||||
XmlNode rootChild = doc.LastChild;
|
||||
|
||||
XmlNamespaceManager manager = new XmlNamespaceManager(doc.NameTable);
|
||||
manager.AddNamespace("e", "http://www.ofd-hannover.la/Identifikation");
|
||||
XmlNode root = rootChild.SelectSingleNode("//e:Datenkollektive", manager);
|
||||
|
||||
XmlNode zstdk = root.SelectSingleNode("//e:Zustandsdatenkollektiv", manager);
|
||||
XmlNodeList inspizierteDaten = zstdk.SelectNodes("//e:InspizierteAbwassertechnischeAnlage", manager);
|
||||
|
||||
foreach (XmlNode node in inspizierteDaten)
|
||||
{
|
||||
InspizierteAbwassertechnischeAnlage anlage = GetAnlage(node);
|
||||
if (anlage == null) continue;
|
||||
result.Add(anlage);
|
||||
anlageInFile.Add(anlage, xmldatei);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
private static InspizierteAbwassertechnischeAnlage GetAnlage(XmlNode xml)
|
||||
{
|
||||
XmlNode intOptischeInspektion = null;
|
||||
XmlNode intRohrleitung = null;
|
||||
XmlNode intRGrunddaten = null;
|
||||
XmlNode intInspektionsdaten = null;
|
||||
|
||||
InspizierteAbwassertechnischeAnlage result = new InspizierteAbwassertechnischeAnlage();
|
||||
|
||||
foreach (XmlNode d in xml.ChildNodes)
|
||||
{
|
||||
switch (d.Name)
|
||||
{
|
||||
case "Objektbezeichnung":
|
||||
result.Objektbezeichnung = d.InnerText;
|
||||
break;
|
||||
case "Anlagentyp":
|
||||
result.Anlagentyp = (EAnlagetyp)Convert.ToInt32(d.InnerText); //anlagentyp = Convert.ToInt32(d.InnerText);
|
||||
break;
|
||||
case "Lage":
|
||||
//throw new NotImplementedException();
|
||||
if (!d.HasChildNodes) break;
|
||||
string strassename = "";
|
||||
string ortname = "";
|
||||
foreach (XmlNode _temp in d.ChildNodes)
|
||||
{
|
||||
switch (_temp.Name)
|
||||
{
|
||||
case "Strassenname": strassename = _temp.InnerText; break;
|
||||
case "Ortsteilname": ortname = _temp.InnerText; break;
|
||||
case "Strassenschluessel": break;
|
||||
default: throw new NotImplementedException(_temp.Name);
|
||||
}
|
||||
}
|
||||
result.Lage = new Lage(strassename, ortname);
|
||||
break;
|
||||
case "OptischeInspektion":
|
||||
intOptischeInspektion = d;
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (intOptischeInspektion == null)
|
||||
throw new Exception("Es scheint was schief gelaufen zu sein, OptischeInspektion is null");
|
||||
|
||||
string datum = "";
|
||||
string time = "";
|
||||
|
||||
OptischeInspektion optischeInspektion = new OptischeInspektion();
|
||||
|
||||
foreach (XmlNode d in intOptischeInspektion)
|
||||
{
|
||||
switch (d.Name)
|
||||
{
|
||||
case "Inspektionsdatum":
|
||||
datum = d.InnerText;
|
||||
break;
|
||||
case "Uhrzeit":
|
||||
time = d.InnerText;
|
||||
break;
|
||||
case "Rohrleitung":
|
||||
intRohrleitung = d;
|
||||
break;
|
||||
}
|
||||
}
|
||||
string[] parseddatum = datum.Split('-');
|
||||
int year = Convert.ToInt32(parseddatum[0]);
|
||||
int month = Convert.ToInt32(parseddatum[1]);
|
||||
int day = Convert.ToInt32(parseddatum[2]);
|
||||
|
||||
string[] parsedtime = time.Split(':');
|
||||
int hour = Convert.ToInt32(parsedtime[0]);
|
||||
int minute = Convert.ToInt32(parsedtime[1]);
|
||||
int second = Convert.ToInt32(parsedtime[2]);
|
||||
DateTime dt = new DateTime(year, month, day, hour, minute, second);
|
||||
|
||||
optischeInspektion.Inspektionstime = dt;
|
||||
|
||||
if (intRohrleitung == null)
|
||||
return null;
|
||||
//throw new NotImplementedException("Schaechte sind noch nicht implementiert");
|
||||
|
||||
Rohrleitung rohr = new Rohrleitung();
|
||||
foreach (XmlNode d in intRohrleitung)
|
||||
{
|
||||
switch (d.Name)
|
||||
{
|
||||
case "Rohrleitungstyp":
|
||||
rohr.Rohrleitungstyp = (ERohrleitungstyp)Convert.ToInt32(d.InnerText);
|
||||
break;
|
||||
case "Inspektionslaenge":
|
||||
rohr.Inspektionslaenge = Convert.ToDecimal(d.InnerText.Replace('.', ','));
|
||||
break;
|
||||
case "Inspektionsrichtung":
|
||||
rohr.Inspektionsrichtung = d.InnerText;
|
||||
break;
|
||||
case "RGrunddaten":
|
||||
intRGrunddaten = d;
|
||||
break;
|
||||
case "Inspektionsdaten":
|
||||
intInspektionsdaten = d;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//List<RZustand> rzustand = ParseRZustand(intInspektionsdaten);
|
||||
|
||||
rohr.Grunddaten = ParseGrundDaten(intRGrunddaten);
|
||||
rohr.Zustaende = ParseRZustand(intInspektionsdaten);
|
||||
optischeInspektion.Rohrleitung = rohr;
|
||||
result.OptischeInspektion = optischeInspektion;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private static RGrunddaten ParseGrundDaten(XmlNode intRGrunddaten)
|
||||
{
|
||||
RGrunddaten grunddaten = new RGrunddaten();
|
||||
foreach (XmlNode d in intRGrunddaten.ChildNodes)
|
||||
{
|
||||
switch (d.Name)
|
||||
{
|
||||
case "KnotenZulauf": grunddaten.KnotenZulauf = d.InnerText; break;
|
||||
case "KnotenZulaufTyp": grunddaten.KnotenZulaufTyp = (EKnotenTyp)Convert.ToInt32(d.InnerText); break;
|
||||
case "KnotenAblauf": grunddaten.KnotenAblauf = d.InnerText; break;
|
||||
case "KnotenAblaufTyp": grunddaten.KnotenAblaufTyp = (EKnotenTyp)Convert.ToInt32(d.InnerText); break;
|
||||
case "HerkunftProfilmasse": grunddaten.HerkunftProfilmasse = Convert.ToInt32(d.InnerText); break;
|
||||
case "Profilhoehe": grunddaten.Profilhoehe = Convert.ToInt32(d.InnerText); break;
|
||||
case "Profilbreite": grunddaten.Profilbreite = Convert.ToInt32(d.InnerText); break;
|
||||
case "Profilart": grunddaten.Profilart = Convert.ToInt32(d.InnerText); break;
|
||||
case "HerkunftMaterial": grunddaten.HerkunftMaterial = Convert.ToInt32(d.InnerText); break;
|
||||
case "Material": grunddaten.Material = d.InnerText; break;
|
||||
case "Regeleinzelrohrlaenge": grunddaten.Regeleinzelrohrlaenge = Convert.ToDecimal(d.InnerText.Replace('.', ',')); break;
|
||||
case "ArtAuskleidung": grunddaten.ArtAuskleidung = Convert.ToInt32(d.InnerText); break;
|
||||
case "Kanalart": grunddaten.Kanalart = d.InnerText; break;
|
||||
case "Anschlussdaten": grunddaten.Anschlussddaten = ParseAnschlussdaten(d); break;
|
||||
case "Innenschutz": grunddaten.Innenschutz = d.InnerText; break;
|
||||
default: throw new NotImplementedException(d.Name);
|
||||
}
|
||||
}
|
||||
|
||||
return grunddaten;
|
||||
}
|
||||
|
||||
private static Anschlussdaten ParseAnschlussdaten(XmlNode anschlussdaten)
|
||||
{
|
||||
Anschlussdaten result = new Anschlussdaten();
|
||||
foreach (XmlNode d in anschlussdaten.ChildNodes)
|
||||
{
|
||||
switch (d.Name)
|
||||
{
|
||||
case "Objektbezeichnung": result.Objektbezeichnung = d.InnerText; break;
|
||||
case "Kantentyp": result.Kantentyp = (EKantenTyp)Convert.ToInt32(d.InnerText); break;
|
||||
case "Entfernung": result.Entfernung = Convert.ToDecimal(d.InnerText.Replace('.', ',')); break;
|
||||
case "Fixierung": result.Fixierung = d.InnerText; break;
|
||||
default: Trace.WriteLine(d.Name); break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private static List<RZustand> ParseRZustand(XmlNode node)
|
||||
{
|
||||
List<RZustand> result = new List<RZustand>();
|
||||
|
||||
foreach (XmlNode child in node.ChildNodes)
|
||||
{
|
||||
RZustand rZustand = new RZustand();
|
||||
foreach (XmlNode d in child.ChildNodes)
|
||||
{
|
||||
|
||||
switch (d.Name)
|
||||
{
|
||||
case "Station":
|
||||
rZustand.Station = Convert.ToDecimal(d.InnerText.Replace('.', ','));
|
||||
break;
|
||||
case "InspektionsKode":
|
||||
rZustand.Inspektionskode = d.InnerText;
|
||||
break;
|
||||
case "Charakterisierung1":
|
||||
rZustand.Charakterisierung1 = d.InnerText;
|
||||
break;
|
||||
case "Charakterisierung2":
|
||||
rZustand.Charakterisierung2 = d.InnerText;
|
||||
break;
|
||||
case "Verbindung":
|
||||
rZustand.Verbindung = d.InnerText.Equals("0") ? false : true;
|
||||
break;
|
||||
case "PositionVon":
|
||||
rZustand.PositionVon = Convert.ToInt32(d.InnerText);
|
||||
break;
|
||||
case "PositionBis":
|
||||
rZustand.PositionBis = Convert.ToInt32(d.InnerText);
|
||||
break;
|
||||
case "Quantifizierung1Numerisch":
|
||||
Quantifizierung quantifizierung1 = new Quantifizierung();
|
||||
quantifizierung1.Numerisch = Convert.ToDecimal(d.InnerText.Replace('.', ','));
|
||||
rZustand.Quantifizierung1 = quantifizierung1;
|
||||
break;
|
||||
case "Quantifizierung2Numerisch":
|
||||
Quantifizierung quantifizierung2 = new Quantifizierung();
|
||||
quantifizierung2.Numerisch = Convert.ToDecimal(d.InnerText.Replace('.', ','));
|
||||
rZustand.Quantifizierung1 = quantifizierung2;
|
||||
break;
|
||||
case "Quantifizierung1Text":
|
||||
Quantifizierung quantifizierung3 = new Quantifizierung();
|
||||
quantifizierung3.Text = d.InnerText;
|
||||
rZustand.Quantifizierung1 = quantifizierung3;
|
||||
break;
|
||||
case "Quantifizierung2Text":
|
||||
Quantifizierung quantifizierung4 = new Quantifizierung();
|
||||
quantifizierung4.Text = d.InnerText;
|
||||
rZustand.Quantifizierung2 = quantifizierung4;
|
||||
break;
|
||||
case "Frame": break;
|
||||
case "Klassifizierung": break;
|
||||
case "Kommentar": rZustand.Kommentar = d.InnerText; break;
|
||||
case "Streckenschaden": rZustand.Streckenschaden = d.InnerText; break;
|
||||
case "StreckenschadenLfdNr": rZustand.Streckenschadennr = Convert.ToInt32(d.InnerText); break;
|
||||
case "BezeichnungSanierung": break;
|
||||
case "RVerfahrenSanierung": break;
|
||||
case "Fotodatei": break;
|
||||
case "FotoSpeichermedium": break;
|
||||
case "Fotonummer": break;
|
||||
case "Timecode": break;
|
||||
case "GrundAbbruch": break;
|
||||
default: throw new NotImplementedException(d.Name);
|
||||
|
||||
}
|
||||
}
|
||||
result.Add(rZustand);
|
||||
}
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user