Datei-Typ-Design

Status
Nicht offen für weitere Antworten.

michi2

Bekanntes Mitglied
Hallo,
Ich schreibe ein Programm, das Verb-Formen ausfrägt, und will jetzt einen Datei-Typ dafür "konstruieren".
Ich will ihn natürlich natürlich möglichst flezibel definieren, damit er in zukunft ab- und auf-werts kompatibel ist.
Die Frage ist wieviel Information ich in der Datei speichern soll, und welche nur in der Beschreibung der verwendeten Sprache.

Ich hätte mal so angefangen:
Code:
Dies ist eine Datei die Verbformen enthält.
#<Komentar>
[LANGUAGENAME]
<Name_der_Sprache>
[GERMANNAME]
<Deutsch_Überstetzung>
[FORMS]
[Form NUM=<nummer_der_Zeit>; TYPE=Text;]
<Form1>
<Form2>
<Form3>
<...>
[/FORM]
[Form NUM=<nummer_der_Zeit>; TYPE=Text;]
<Form1>
<...>
[/FORM]
[Form NUM=<nummer_der_Zeit>; TYPE=PRE_DEF_Radio;]
<richtige_Nummer>
[/FORM]
[Form NUM=<nummer_der_Zeit>; TYPE=PRE_DEF_Check;]
<richtige_Nummer>
[/FORM]
[Form NUM=<nummer_der_Zeit>; TYPE=Radio; RIGHT_NUMBER=<richtige_Nummer>;]
<Form1>
<Form2>
[/FORM]
[Form NUM=<nummer_der_Zeit>; TYPE=Check; RIGHT_NUMBER=<richtige_Nummer>;]
<Form1>
<Form2>
[/FORM]
[/FORMS]

Die in <> stehenden Werte sind die Zu erstezenden Werte.
In [FORMS] sind die Verbformen gelistet, mitt [FORM] wird jeweils eine Zeit (oder eine Verb-Form-Gruppe, oder so) deffiniert, ihr wird mit NUM ein Integer-Wert zugeortnet, jeder Wert ist mit einer Zeit verbunden (festgelegt durch die Def. der Sprache). Mit TYPE wird jedem [FORM] ein Typ zugewiesen, "Text" steht für gweöhnliche Formen die gefragt werden. Kennt das Programm einen Type-Wert nicht, so giegt es eine Meldung,und ignoriert diesen [Form]-Block, wodurch ih in neuen Programm-Versionen Features hinzufügen kann, ohne das das ältere Versione stört.
Die Namen der Zeiten, der Form-Angaben (für deutsch z.B. ich, du , er, wir...) sowie die Texte des "PRE_DEF_Radio"-Typs sind in der Deffinition der Sprache festgelegt.
Die erste Zeile dient zur Überprüfung ob dies ein Datei dieses Typs ist, der Komentar für Mata-Infos (Für FBI, BND und CIA :p) und anderes

Was haltet ihr dafon, was sollte ich verbessern?

Vielen Dank fürs lesen und noch mehr fürs Antworten,
Michi
 

Wildcard

Top Contributor
Eben nicht. Das macht es einfacher weil du keinen eigenen Parser brauchst, und du hast es viel leichter später neue Felder einzufügen.
(vorallem da es inx mit dem web zu tun hat)
Mit dem 'web' hat XML grundsätzlich mal gar nichts zu tun :wink:
 

michi2

Bekanntes Mitglied
Wiso brauch ich bei ML keine Parser? Den mus ich doch trotzdem selbst schreiben!
Ich hab nicht viel Ahnung von XML (von SVG abgesehen), aber mir scheint die realisierung mit XML eher schwerer zu sein!
So gilt inerhalb eines [Form]-Elements einfach: neue-Zeile: neue Form
Mit XML geht deas so nicht, oder irre ich mich?
 

Wildcard

Top Contributor
Sowohl das einlesen als auch das speichern von Java-Objekten in XML geht mittlerweile fast genauso einfach wie Serialisierung, also nahezu ohne eigenes zutun.
XML ist eigentlich immer einfacher und wartbarer als sich selbst mal eben ein Dateiformat zu basteln.
Es lohnt sich auch mal einen Blick in JAXB zu riskieren
 

michi2

Bekanntes Mitglied
Hat jemand gute (deutsche) Tuts zu JAXB? Hab keine guten gefunden.
Ich verstehe jedoch immer noch nicht welche Vorteile XML hat, kann mir das jemand genauer erklären?

Zu jdom hab ich ein gutes Tut gefunden, aber das mus ich dan in das Jar einpacken, oder? (Würde lieber was Java-internes haben)
 

byte

Top Contributor
JAXB ist genial, wenn man Java Code mit XML-Schema Typen binden will. In Deinem Fall würde ich Dir aber ohne XML Kenntnisse erstmal davon abraten. Wenn Du keine externen Jars verwenden willst, dann beschäftige Dich mal mit JAXP.
 

michi2

Bekanntes Mitglied
Ich hab mir das mal angesehen, aber das ist doch viel komplizierter als mein eigenes Format, und bringt keien Forteil!
Ich seh irgentwie nicht ein warum ich mir nen haufen extra Arbeit antun soll wenns auch einfacher geht, nur damit ich einen "Standart" erfülle.
Kann mir irgentjemand erklären was XML für einen Vorteil hat? Und was der unterschied zwischen DOM und SAX ist?
 

Wildcard

Top Contributor
Nur weil du dich damit nicht auskennst heißt das noch lange nicht das es wirklich mehr arbeit ist.
Was denkst du denn warum XML überall eingesetzt wird? Weil es so kompliziert ist? :roll:
XML ist speziell dafür gemacht worden das es einfach für den Computer zu verstehen ist, und trotzdem noch für Menschen lesbar.
Und was der unterschied zwischen DOM und SAX ist?
SAX ist ein schneller, ereignisgesteuerter und resourcenschonender Parser, während DOM ein komplettes Dokumentenmodell in den Speicher lädt.
DOM ist wesentlich einfacher zu bedienen als SAX.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Einlesen einer .dat-Datei (verschiedene Formate) | Entwicklung unter Einsatz von Design-Patterns Softwareentwicklung 0
tiluhe Slider und Switch Zustand auf Website in JSON Datei schreiben/lesen Softwareentwicklung 7
J Erstellen Sie ein Projekt, das die JAR-Datei in seinem Klassenpfad verwendet... Softwareentwicklung 61
B Datei einlesen in C++ Softwareentwicklung 5
B .BAT datei Parameter Softwareentwicklung 4
E CSV-Datei im SQL Navigator oder Oracle SQL Dev. importieren? Softwareentwicklung 1
J Prüfen ob JavaScript in HTML-Datei verwendet wird Softwareentwicklung 3
R EXE Datei in eigener PW geschützter EXE kapseln Softwareentwicklung 3
C Filterung von geraden und ungeraden Zahlen aus einer Datei Softwareentwicklung 4
D Index-sequentielle Datei Softwareentwicklung 4
D pdf-Datei ausdrucken Softwareentwicklung 2
B Design Patterns und die Keywords Softwareentwicklung 22
P Zwei Fragen zum Design Softwareentwicklung 16
L Design Patterns zu abstraktem Problem Softwareentwicklung 2
M Visito/Besucher Design-Pattern/Strukturmuster Softwareentwicklung 4
M Sauberes Design, Clean Code, etc. pp. Softwareentwicklung 47
G Projekte die Design by Contract verwendet haben?? Softwareentwicklung 2
H2SO3- design pattern: code in model classes Softwareentwicklung 5
G Design Pattern gesucht! Softwareentwicklung 4
D Design Pattern Softwareentwicklung 6
C Wiki für ein Uni - High Level Design Softwareentwicklung 5
V Design Patters - Observer Softwareentwicklung 6
S Design Pattern für zwei abhängige Klassen Softwareentwicklung 8
Jay_030 Checkstyle: Lösungsvorschläge für Design for Extension Softwareentwicklung 7
J Design Patterns in Programm hineinfließen lassen Softwareentwicklung 23
G Suche Programm für Masken Design für Pflichtenheft Softwareentwicklung 5
W Frage zu a)Innere Klassen und b)OO Design Softwareentwicklung 13
D Datenbank-Design Softwareentwicklung 3
K Design Pattern für einen simple Rechenmaschine Softwareentwicklung 18
S Design-Frage: Wie viele Fassaden? Softwareentwicklung 4
G Test First <-> Design First Softwareentwicklung 6

Ähnliche Java Themen

Neue Themen


Oben