Zum Inhalt springen

CAD XML Syntax-Übersicht: Unterschied zwischen den Versionen

Aus VermCAD Hilfe Wiki
CAD-XML-Syntax-Dokumentation (automatischer Import)
 
K Claude verschob die Seite CAD XML Syntax-Uebersicht nach CAD XML Syntax-Übersicht: Rechtschreibung im Seitentitel (Auftrag Lars, 22.09.2026); Weiterleitung vom alten Titel bleibt für ältere Programmversionen bestehen
(kein Unterschied)

Version vom 22. September 2026, 10:56 Uhr

Die XML-Projektdatei (Endung .xml) speichert alle CAD-Objekte und CAD-bezogenen Projektdaten eines VermCad-Projekts. Sie bildet zusammen mit der zugehörigen .mwt-Datei und ggf. einer .nas-Datei ein VermCad-Projekt (siehe MWT Syntax und MWT Syntax-Übersicht; die GUID in der ProjektID verbindet .mwt und .xml). Diese Seite beschreibt den Gesamtaufbau der Datei: Prolog, Wurzelelement VCDaten, Projekt-Metadaten und die Reihenfolge der Sektionen. Nicht zu verwechseln mit den Import-/Export-Schnittstellen (Trimble XML, Land XML, XML-Nummernreservierung) — diese Seitengruppe dokumentiert ausschließlich das interne Projektdateiformat.

Strukturregel

<?xml version="1.0" encoding="UTF-8"?>
<!--VermCad (64 Bit)  |  programmversion  |  bundesland-->
<VCDaten xmlns="http://www.adv-online.de/namespaces/adv/gid/6.0 | .../gid/7.1"
         xmlns:adv="..." xmlns:gml="..." xmlns:xsi="..." ... xsi:schemaLocation="...">
  <ProjektID>text(62)</ProjektID>
  [<NASVersion>enum:TAlkisNASVersion</NASVersion>]
  [<MaxUsedAlkisID>ganzzahl</MaxUsedAlkisID>]
  [<MaxUsedFehlPktNr>ganzzahl</MaxUsedFehlPktNr>]
  [<MaxUsedFehlFSK>ganzzahl</MaxUsedFehlFSK>]
  [<MaxUsedBuchungsblattNummer>ganzzahl</MaxUsedBuchungsblattNummer>]
  [<MaxVorlaeufigeNummerForDatenAndererStellen>ganzzahl</...>]          (nur Sachsen)
  [<LokaleZuordnungSettings LSID="..." Radius="..." GST="..."/>]        (nur Thüringen)
  [<IsPruefProject>bool</IsPruefProject>]                               (nur wenn True)
  [<ValidationAndMarkingObsoleteObjectsPossibleAfter240125>bool</...>]  (nur wenn True)
  <ObjectFileVersion>ganzzahl</ObjectFileVersion>
  <ObjectFileVCVersion>text</ObjectFileVCVersion>
  [<ObjectFileVCVersionWas45orOlder>bool</...>]                         (nur wenn True)
  [<ObjectFileData>text</ObjectFileData>]                               (informativ)
  [<ObjectCount>ganzzahl</ObjectCount>]                                 (nur wenn > 0)
  { <VCCADDaten KSID="ganzzahl" [LSID="ganzzahl"] [Zone="ganzzahl"]>    (je Koordinatensystem
      ... CAD-Sektion ...                                                eine Sektion)
    </VCCADDaten> }*
  [<VC_PlotDaten> ... </VC_PlotDaten>]                                  (VC-Key-/Schlüsselwortdaten)
  [<VC_AlkisDaten> ... </VC_AlkisDaten>]                                (ALKIS-Sektion)
</VCDaten>
  • Die Datei ist UTF-8-kodiert (ohne BOM); der Prolog deklariert encoding="UTF-8", das Standalone-Attribut fehlt. Der Writer schreibt mit Einrückung (Indent).
  • Direkt nach dem Prolog folgt ein Kommentar mit erzeugender Programmversion und Bundesland-Edition, z. B. <!--VermCad (64 Bit) | 5.0.0 (B59) | Baden-Württemberg-->.
  • Wurzelelement ist immer VCDaten. Der Default-Namespace und xmlns:adv sind je nach NAS-Version …/adv/gid/6.0 oder …/adv/gid/7.1; deklariert werden außerdem die Prefixe adv, gco, gmd, gml, wfs, xlink, xsi, ows, wfsext, xsd, ogc (GID 7 zusätzlich fes; Niedersachsen zusätzlich asd). xsi:schemaLocation zeigt auf den lokalen Pfad der VC.xsd der erzeugenden Installation und variiert daher je Rechner.
  • Die Metadaten-Elemente können in beliebiger Reihenfolge vor VCCADDaten stehen (der Parser dispatcht nach Tag-Namen); ObjectFileVCVersion sollte VOR den CAD-Daten stehen, weil daran der Versionsabbruch und Migrationsentscheidungen hängen (siehe Versionierung und Kompatibilität).

Elemente

Element Typ/Format Pflicht Default Bedeutung
ProjektID Text, 62 Zeichen ja — Datum(8, yyyymmdd) + BüroID(6) + Code(10) + GUID(38 mit geschweiften Klammern). Erstes Code-Zeichen: 0=Standard, 1=nur MWT, 2=MWT+XML, 3=MWT+NAS, 4=MWT+XML+NAS. Legacy-Format ohne Code (52 Zeichen) wird beim Lesen akzeptiert. Beim Laden wird die ProjektID gegen das offene Projekt geprüft — bei Nichtübereinstimmung wird das Laden gestoppt.
NASVersion enum:TAlkisNASVersion nein gid6 NAS-/Namespace-Version: gidUnknown, gid6, gid601, gid7
MaxUsedAlkisID ganzzahl nein 0 höchste vergebene interne Alkis-ID; Legacy-Tag MaxUsedGMLID wird beim Lesen akzeptiert
MaxUsedFehlPktNr ganzzahl nein 0 höchste vergebene Fehlpunktnummer
MaxUsedFehlFSK ganzzahl nein 0 höchstes vergebenes Fehl-Flurstückskennzeichen
MaxUsedBuchungsblattNummer ganzzahl nein 0 höchste vergebene Buchungsblattnummer
MaxVorlaeufigeNummerForDatenAndererStellen ganzzahl nein 0 nur Sachsen: höchste vorläufige Nummer für Daten anderer Stellen
LokaleZuordnungSettings Element mit Attributen LSID/Radius/GST nein — nur Thüringen: Einstellungen der lokalen Zuordnung
IsPruefProject bool nein False Kennzeichen Prüfprojekt (nur geschrieben, wenn True)
ValidationAndMarkingObsoleteObjectsPossibleAfter240125 bool nein False Migrations-Flag (nur geschrieben, wenn True)
ObjectFileVersion ganzzahl ja (fürs Erzeugen) — Dateiformat-Version, aktuell 10 (VermcadObjectFileVersion); ältere Werte lösen Migrationen aus — siehe Versionierung
ObjectFileVCVersion Text ja (fürs Erzeugen) — VermCad-Programmversion (z. B. 5.0.0); Datei von neuerer Version → Laden wird abgebrochen — siehe Versionierung
ObjectFileVCVersionWas45orOlder bool nein False Workaround-Flag für Text-Versatz alter Projekte (nur geschrieben, wenn True)
ObjectFileData Text nein — rein informativ: Delphi-Version: … ::: Timestamp: … ::: User: …
ObjectCount ganzzahl nein 0 Anzahl nicht gelöschter CAD-Objekte; dient beim Lesen nur der Fortschrittsanzeige
VCCADDaten Container (0..n) ja (mind. 1 für CAD-Inhalt) — CAD-Sektion je Koordinatensystem, Attribute KSID (Pflicht), LSID, Zone — Details: Sektion VCCADDaten
VC_PlotDaten Container nein leer VC-Key-Daten (historischer Name „Plot"): Schlüsselwort-Liste aus Plot_Schluesselwort/Plot_String — Kurzüberblick: Sektion AlkisDaten und PlotDaten
VC_AlkisDaten Container nein — ALKIS-Sektion (importierte NAS-Dateien, VC_AlkisObjekt-Liste, Fortführungsfälle) — Kurzüberblick: Sektion AlkisDaten und PlotDaten

Innerhalb jeder VCCADDaten-Sektion stehen zuerst Rissdaten/Auswahlen (Sektion Rissdaten und Auswahlen) und dann die CAD-Objekte in fester Gruppenreihenfolge (Lesemechanik und Pflichtfelder). Alle Objekte teilen sich den VermCadID-Block, die Basiselemente und die Werte- und Koordinatenformate.

Beispiele

Beispiel (Baden-Württemberg, echt — Dateikopf mit gid/7.1)

<?xml version="1.0" encoding="UTF-8"?>
<!--VermCad (64 Bit)  |  5.0.0  (B59)  |  Baden-Württemberg-->
<VCDaten xmlns="http://www.adv-online.de/namespaces/adv/gid/7.1" xmlns:adv="http://www.adv-online.de/namespaces/adv/gid/7.1" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:wfs="http://www.opengis.net/wfs/2.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fes="http://www.opengis.net/fes/2.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:wfsext="http://www.adv-online.de/namespaces/adv/gid/wfsext/2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ogc="http://www.adv-online.de/namespaces/adv/gid/ogc" xsi:schemaLocation="http://www.vermcad.de/namespaces/vc/0.1 D:\...\resource\schema\Nas_6\VC.xsd">
  <ProjektID>202606010024414000000000{70453D69-…}</ProjektID>
  <NASVersion>gid7</NASVersion>
  <MaxUsedAlkisID>40</MaxUsedAlkisID>
  <MaxUsedFehlPktNr>7</MaxUsedFehlPktNr>
  <MaxUsedFehlFSK>0</MaxUsedFehlFSK>
  <MaxUsedBuchungsblattNummer>0</MaxUsedBuchungsblattNummer>
  <ValidationAndMarkingObsoleteObjectsPossibleAfter240125>-1</ValidationAndMarkingObsoleteObjectsPossibleAfter240125>
  <ObjectFileVersion>9</ObjectFileVersion>
  <ObjectFileVCVersion>5.0.0</ObjectFileVCVersion>
  <ObjectFileData>Delphi-Version:  (64 Bit) ::: Timestamp: 2026-06-23 12:31:29 ::: User: 25</ObjectFileData>
  <ObjectCount>20483</ObjectCount>
  <VCCADDaten KSID="0" LSID="489" Zone="32">
  …

Beispiel (Grobstruktur einer kompletten Datei)

VCDaten
├─ ProjektID, NASVersion, MaxUsed*, ObjectFileVersion, ObjectFileVCVersion, ObjectFileData, ObjectCount
├─ VCCADDaten KSID="0" LSID="489" Zone="32"    ← Hauptkoordinatensystem, enthält fast alle Objekte
│   ├─ Rissdaten (RissEintrag_0 … RissEintrag_n)
│   ├─ CurrRissID
│   ├─ ObjektAuswahlen
│   ├─ AlkisStatusOptionen                     ← nur in Altdateien (Legacy, wird nicht mehr geschrieben)
│   └─ VC_CAD*-Objekte, VC_Hintergrundbild, VC_Plotrahmen …
├─ VCCADDaten KSID="-1" …                      ← weitere Sektionen je Koordinatensystem
├─ VCCADDaten KSID="-1894" LSID="894"          ← lokale Systeme (BW/THR: negative KSID,
│                                                 Sachsen: positive KSID 1..4, ohne Zone-Attribut)
├─ VC_PlotDaten                                ← Plot-Schlüsselwörter (ggf. leer: <VC_PlotDaten />)
└─ VC_AlkisDaten                               ← ImportedAlkisFile*, VC_AlkisObjekt*, FFFallManager

Verfügbarkeit und Besonderheiten

  • Namespaces je Bundesland/NAS-Version: BW/THR (gid 7.1) mit xmlns:fes, wfs/2.0, ows/1.1 und NASVersion=gid7; Sachsen (gid 6.0) mit adv-internen wfs/ows-URIs, ohne fes, NASVersion=gid601.
  • MaxVorlaeufigeNummerForDatenAndererStellen nur Sachsen; LokaleZuordnungSettings nur Thüringen; alle übrigen Metadaten in allen Bundesland-Versionen.
  • Legacy-Tag MaxUsedGMLID (statt MaxUsedAlkisID) wird weiterhin gelesen, aber nicht mehr geschrieben.
  • Laut Code-Kommentar würden die VCCADDaten-Attribute LSID/Zone nicht eingelesen — der Kommentar ist veraltet: der aktuelle Parser liest KSID, LSID und Zone aus (LSID → Lagestatus des Managers, Zone → UTM-Zone).
  • Unbekannte Elemente auf jeder Ebene werden still ignoriert — fremde Zusatz-Tags machen die Datei nicht ungültig (siehe Lesemechanik).
  • Zur Bedienoberfläche des CAD siehe die Portalseite CAD.

Quellen im Code

  • VERMCAD\VcProject.pas:24937-25065 — InitXMLLiteWriterWrapper: Prolog, Versions-Kommentar, Root VCDaten, Namespaces, schemaLocation
  • VERMCAD\VcProject.pas:20560-20928 — SaveXML: Sektions-Reihenfolge und alle Metadaten-Elemente
  • VERMCAD\VCProjectBase.pas:1342-1390 — TProjectID.SetProjectID: ProjektID-Format (62 Zeichen, Legacy 52 Zeichen)
  • VERMCAD\VcParser_XmlLite_VC.pas:200-528 — ParseCAD: Lesen der Metadaten, ProjektID-Prüfung, VCCADDaten-Attribute
  • Alkis\AlkisTypes.pas:35 — TAlkisNASVersion
  • CAD\GLConsts.pas:163 — VermcadObjectFileVersion = 10
  • VERMCAD\GlobalConsts.pas:4372-5004 — Tag-Konstanten (xn_*)



[Nach oben]