Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Grundsätzlich galt zu Anbeginn der Zeit mal die Regel, nicht Kaputtes einzuchecken. Die Idee ist gut, aber - wie man sieht - nicht immer umsetzbar.
2x richtig.
Und wenn sich 2. mit 1. beißt muss man sich halt abstimmen (wie hier ja schon geschehen). Da wir hier in der Entwicklungsversion sind, ist das zwar doof, aber auch nicht weiter tragisch.
geändert. Damit würde man als erstes ein Layout-Element angeben können und dann den freien Text wie bei einem Label mit Bildern kombinieren. Allerdings habe ich keine Möglichkeit gefunden, dass ohne extra Verschachtelung in einem eigenen Element hinzubekommen. Das Layout-Element mitten im normalen Text wie bisher ist auch keine Alternative.
Der Code akzeptiert auch noch die alte Variante, aber die Validierung gegen das Schema funktioniert nicht mehr für bestehende <text>-Element.
Hat jemand eine Idee, wie man das ohne extra <label>-Element lösen kann, oder kann man diesen Bruch in der Config so akzeptierten?
Wenn es dafür keine andere Lösung gibt, würde ich das dann wieder in die aktuelle XSD einbauen.
OK, ich kenne den Editor kaum und habe ihn jetzt mal aufgerufen. Dass damit nun nichts mehr funktioniert, hätte ich nicht gedacht. Dann schlage ich vor, diese Schema-Änderungen einfach wieder rückgängig zu machen bis zum Nachziehen des Editors.
Ja, würde ich erst mal vorschlagen.
Der Editor wächst grundsätzlich mit den XSD-Features die eingesetzt werden. Bislang war das in dem Bereich nur xsd:choice und xsd:group - deshalb ist xsd:sequence noch nicht implementiert.
Grundsätzlich galt zu Anbeginn der Zeit mal die Regel, nicht Kaputtes einzuchecken. Die Idee ist gut, aber - wie man sieht - nicht immer umsetzbar.
Ich werde deine Änderungen erst mal zurückdrehen - sobald der Editor dann sequence kann (dazu gibt es bereits Pseudo-Code in meinem Kopf) ist es ja ein leichtes, deine SVN-Revision der XSD wieder rauszuholen.
Wenn es gewünscht ist, kann ich mich gerne an den Editor-Anpassungen beteiligen, müsste mich aber erst einarbeiten, da er bisher für mich ein unbeschriebes Blatt ist (fühle mich halt im XML-Editor sehr wohl )
Es wäre mir im Moment garnicht unbedingt Recht, wenn ein zweiter/dritter/vierter am Editor im SVN arbeitet:
im aktuellen Entwicklungsstadium mache ich relative viele Codeänderungen "im stillen Kämmerlein" und committe die erst ins SVN sobald sie als Milestone abgeschlossen sind/wirken. Die Iterationen sind dabei relativ lang, meist mehrere Wochen. Wenn nun in der Zwischenzeit wesentliche Änderungen am SVN vorgenommen wurden, verbringe ich mehr Zeit damit die mit meiner lokalen Entwicklung zu merge.
Sobald der Editor in den wesentlichen Bestandteilen fertig ist, würde ich es aber begrüßen, wenn sich mehr Leute als nur ich mit dem Code auskennen und sich mit Bugfixes und Features beschäftigen! Ich hoffe diesmal auch einen leserlicheren Codingstil zu haben, als dies beim alten Editor der Fall war
Nachtrag: beim vierten Lesen deines Satzes kann man den auch völlig coding-frei interpretieren: ich bin für jedes Feedback dankbar, und auch für Ideen, Anregegungen, Wünsche, die sich auf den Editor beziehen. Ich werde nicht alle Kommentare umsetzen, aber sie helfen immer, ein klareres Gesamtbild zu sehen! An der Entwicklung kann man sich ja durchaus beteiligen ohne eine Zeile Javascript zu schreiben oder zu verstehen.
Den Schritt halte ich für übereilt. Du hast damit für alle SVN-Nutzer den Editor ausgeknockt bis der nachgezogen wurde.
OK, ich kenne den Editor kaum und habe ihn jetzt mal aufgerufen. Dass damit nun nichts mehr funktioniert, hätte ich nicht gedacht. Dann schlage ich vor, diese Schema-Änderungen einfach wieder rückgängig zu machen bis zum Nachziehen des Editors.
Wenn es gewünscht ist, kann ich mich gerne an den Editor-Anpassungen beteiligen, müsste mich aber erst einarbeiten, da er bisher für mich ein unbeschriebes Blatt ist (fühle mich halt im XML-Editor sehr wohl )
Ich habe die Umstellung auf <sequence> statt <choice> jetzt einfach mal eingecheckt. Bei Nicht-Gefallen wird es halt wieder rückgängig gemacht.
Allerdings komme ich mit dem <text>-Element nicht auf einen grünen Zweig.
geändert. Damit würde man als erstes ein Layout-Element angeben können und dann den freien Text wie bei einem Label mit Bildern kombinieren. Allerdings habe ich keine Möglichkeit gefunden, dass ohne extra Verschachtelung in einem eigenen Element hinzubekommen. Das Layout-Element mitten im normalen Text wie bisher ist auch keine Alternative.
Der Code akzeptiert auch noch die alte Variante, aber die Validierung gegen das Schema funktioniert nicht mehr für bestehende <text>-Element.
Hat jemand eine Idee, wie man das ohne extra <label>-Element lösen kann, oder kann man diesen Bruch in der Config so akzeptierten?
Warum muss es eigentlich so kompliziert werden? Wenn man statt <choice> einfach <sequence> verwendet, bekommt man es eindeutig hin, ohne sich abstrusen Schema-Verrenkungen wie XHTML-Schema hingeben zu müssen. Der Preis ist weniger Freiheit bei der Elementreihenfolge; aber ehrlich, wen interessiert das? Wenn ich halt layout vor address schreiben muss, dann mach ich das einfach.
Für die, die ohne Schema-Validierung zufrieden sind, ist das unerheblich, da die Reihenfolge beim XML-Parsen nicht beachtet wird. Für die Editor-Freunde wird das automatisch richtig gemacht.
Ich denke, damit könnte man gut leben.
Dann bleibt vorerst warscheinlich wirklich nur eine schlüssige Fehlermeldung aber da habe ich auch keine Idee dafür.
Vor allem auch weil die XML Elemente keine "hilfsnamen" haben. Bei einer Übersichtsseite für die Temperaturen habe ich rund 8 diagramm_info hintereinander. Aus denen das Element herauszufinden, dass z.B. mir die Temperatur des Wohnzimmers anzeigt ist sehr schwierig. Könnte man jedem Widget einen Hilfsnamen geben (optional) der im Editor z.B. hinter dem Widgetnamen in Klammern den Hilfsnamen anzeigt, würde dass die übersicht recht vereinfachen.
Also legt minOccurs nicht das absolute Mindestvorkommen jedes einzelnen Kindelements im Elternelement fest!? Dass ist natürlich doof. Dann müsste man für die absolut zwingenden Kindelemente noch eine separate Kennzeichnung wie required einführen damit man diese Kindelemente automatisch erzeugen könnte?
Richtig. Aber dafür bietet XML Schema 1.0 erst mal offenbar nix...
Entweder
mindestens 1mal Label
ODER
mindestens 0mal Layout
Also legt minOccurs nicht das absolute Mindestvorkommen jedes einzelnen Kindelements im Elternelement fest!? Dass ist natürlich doof. Dann müsste man für die absolut zwingenden Kindelemente noch eine separate Kennzeichnung wie required einführen damit man diese Kindelemente automatisch erzeugen könnte?
Ich dachte minOccurs = 1 bedeutet, dass dieses Kindelement mindestes 1 mal im übergeordneten Elternelement vorkommen muss...
Wie kann denn 0x1 Label valide sein? Die matematische Regel lautet auch in Amerika 0x1=0 also wäre ja die Bedingug minOccurs=1 nicht erfüllt. Oder verstehe ich den Mechanismus falsch?
Kurzform: vermutlich ja.
Die Definition sagt einfach aus:
du musst mindestens einmal (xsd:choice minOccurs=1) aus folgender Liste an Optionen exakt eine Option (das ist die Natur von xsd:choice) wählen:
- mindestens ein Label-Element
- mindestens kein Layout-Element
Die Wahl, "na wenn ich schon eines wählen muss, dann nehme ich 'mindestens kein Layout-Element'" ist also eine gültige Wahl.
Ich dachte minOccurs = 1 bedeutet, dass dieses Kindelement mindestes 1 mal im übergeordneten Elternelement vorkommen muss...
Wie kann denn 1x0 Label valide sein? Die matematische Regel lautet auch in Amerika 1x0=0 also wäre ja die Bedingug minOccurs=1 nicht erfüllt. Oder verstehe ich den Mechanismus falsch?
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Einen Kommentar schreiben: