XML / XSD

  • Moin,

    ich darf mich mit einem Server unterhalten der nur XML spricht.
    Jetzt liegen auf meiner Platte rund 150 mehr oder weniger umfangreiche .xsd Dateien.
    Mit Hilfer diverser On- und Offline quellen hab ich ja schon mal verstanden um was es sich dabei handelt.
    Ich habe allerdings keine Ahnung wie ich mit Hilfe der xsd einen Server-Request zusammenbaue oder eine Server-Response überprüfe und parse.
    Wo finde ich die passenden Hilfen? Web, Bücher, fertige Libs.

    Chris
    Man macht einfach solange irgendwelche Dinge, bis man tot ist.
    Und dann bekommen die anderen Kuchen.
  • RE: XML / XSD

    Zum Parsen sollte doch der XML-Parser die XSD benutzen, nicht du, oder?

    Zum Erstellen von Abfragen weiß ich gar nicht, ob das deine Software machen muss. Du musst halt entsprechende Abfragen richtig in deinem Code enthalten.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Wärt ihr mal am Freitag gekommen, dann hätten wir das vor Ort besprechen können ...

    Also, wenn ich nicht falsch liege, dann sagt Dir das xsd File sehr wenig über die Kommunikation mit dem Server.

    Will der denn irgendeinen Standard, XML-RPC oder SOAP?

    Aber mit den xsd Dateien selbst wirst Du wenig Freude haben, da brauchst Du mehr Dokumentation

    Alex
    The only thing that really worried me was the ether.
  • Original von below
    Wärt ihr mal am Freitag gekommen, dann hätten wir das vor Ort besprechen können ...

    Das war der Grund warum ich nicht kommen konnte bzw. erst recht spät da gewesen wäre.
    Also, wenn ich nicht falsch liege, dann sagt Dir das xsd File sehr wenig über die Kommunikation mit dem Server.

    Will der denn irgendeinen Standard, XML-RPC oder SOAP?

    Aber mit den xsd Dateien selbst wirst Du wenig Freude haben, da brauchst Du mehr Dokumentation

    Alex

    XML-RPC. Ich hab auch noch mehr Dokumentation, die die einzelnen Requests und Responses beschreibt. Vielleicht hab ich mich auch nur von den XSD Dateien verwirren lassen. Ich hab gedacht es gibt irgendwo eine geheimnisvolle Methode die ich mit meinen Daten und dem XSD füttere und eine fertiges XML rausbekomme. War wohl naiv ;)

    Chris
    Man macht einfach solange irgendwelche Dinge, bis man tot ist.
    Und dann bekommen die anderen Kuchen.
  • Original von below
    Aber mit den xsd Dateien selbst wirst Du wenig Freude haben, da brauchst Du mehr Dokumentation

    Da möchte ich energisch widersprechen: Xml-Schema-Definitions sind eine wunderbare Methode, XML-Formate zu definieren und dokumentieren. Über XSDs kannst Du in vielen Programmiersprachen Klassen erzeugen, die Deine XML-Dokumente repräsentieren. Ich arbeite in der Java-Welt z. B. häufig mit XML-Beans und gelegentlich mit JAXB.

    Leider habe ich soetwas aber noch nicht für Objective-C gefunden. Würde mich aber hier natürlich gerne eines besseren belehren lassen ;)
    „Meine Komplikation hatte eine Komplikation.“
  • Original von Chris
    Ich hab gedacht es gibt irgendwo eine geheimnisvolle Methode die ich mit meinen Daten und dem XSD füttere und eine fertiges XML rausbekomme. War wohl naiv ;)


    Nicht naiv sondern intuitiv ;) Denn genau das geht kannst Du mit den o. g. Frameworks (auch) machen. Wie das in XSD-Implementierungen anderer Sprachen ist, weiß ich allerdings auch nicht.
    „Meine Komplikation hatte eine Komplikation.“
  • @Alex Christ meinte wohl, wie er die Daten erzeugt und wieder parst, nicht, wie er sie herüberbekommt. Freitag tut mir übrigens leid.

    Ich weiß nicht, ob es etwas dafür gibt. Man würde so etwas allerdings in Objective-C eher zur Laufzeit machen. Da muss man nicht statisch Klassen erzeugen und bei einer Änderung gleich wieder neu kompilieren.

    "So etwas" gibt es auch schon, wenn auch nicht mit XSD, und nennt sich Core Data. So ein Core-Data-Mapper für XSD wäre eigentlich interessant. Christian, übernehmen Sie!
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Original von Amin Negm-Awad
    "So etwas" gibt es auch schon, wenn auch nicht mit XSD, und nennt sich Core Data. So ein Core-Data-Mapper für XSD wäre eigentlich interessant. Christian, übernehmen Sie!


    Ja natürlich, wenn Du durch die Abstraktionsbrille schaust. Oder übertragen auf's Kochen, wie Ekel Alfred es mal ausgedrückt hat: "Ihr braucht nur noch aufräumen." (aka programmieren) ;)

    XML-Schema ist aber nicht gerade trivial. Es gibt sehr viele Möglichkeiten, Datenstrukturen zu beschreiben und Schemata lassen sich ineinander verschachteln. Da muss mensch sich durch einige W3C-Standards quälen.

    Ansonsten möchte ich in Deiner Aussage nur zwei Sachen kritisieren: "eigentlich" muss gestrichen und "interessant" durch "absolut notwendig" ersetzt werden. ;)

    Mensch Christian, zusammen mit evtl. vorgeschalteten XSL-Transformationen wäre das ein total geiles Tool. Den Befehl hast Du dazu ja schon erhalten ;)
    „Meine Komplikation hatte eine Komplikation.“
  • Original von macmoonshine
    Original von Amin Negm-Awad
    "So etwas" gibt es auch schon, wenn auch nicht mit XSD, und nennt sich Core Data. So ein Core-Data-Mapper für XSD wäre eigentlich interessant. Christian, übernehmen Sie!


    Ja natürlich, wenn Du durch die Abstraktionsbrille schaust. Oder übertragen auf's Kochen, wie Ekel Alfred es mal ausgedrückt hat: "Ihr braucht nur noch aufräumen." (aka programmieren) ;)

    XML-Schema ist aber nicht gerade trivial. Es gibt sehr viele Möglichkeiten, Datenstrukturen zu beschreiben und Schemata lassen sich ineinander verschachteln. Da muss mensch sich durch einige W3C-Standards quälen.

    Ansonsten möchte ich in Deiner Aussage nur zwei Sachen kritisieren: "eigentlich" muss gestrichen und "interessant" durch "absolut notwendig" ersetzt werden. ;)

    Mensch Christian, zusammen mit evtl. vorgeschalteten XSL-Transformationen wäre das ein total geiles Tool. Den Befehl hast Du dazu ja schon erhalten ;)


    Erstmal muss ich wissen worauf ich mich eingelassen habe.

    Chris
    Man macht einfach solange irgendwelche Dinge, bis man tot ist.
    Und dann bekommen die anderen Kuchen.
  • Original von Chris
    Original von macmoonshine
    Wie wäre es mit einem Open-Source-Projektchen zum Thema XML-Verarbeitung?

    Dann aber LGPL oder ähnliche Lizenzen.

    Selbstverfreilich, kein Problem. Hast Du eine Idee, was wir als Entwicklungsplattform (SCM, Diskussionsforum usw.) nehmen könnten? Wer ist denn noch dabei?
    „Meine Komplikation hatte eine Komplikation.“
  • Original von Chris
    Erstmal muss ich wissen worauf ich mich eingelassen habe.

    Chris

    In diesem Falle meinte ich allerdings einen anderen Christian.

    Aber als gemeinsames Projekt wäre das doch in der Tat schön.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Original von macmoonshine
    Original von Chris
    Original von macmoonshine
    Wie wäre es mit einem Open-Source-Projektchen zum Thema XML-Verarbeitung?

    Dann aber LGPL oder ähnliche Lizenzen.

    Selbstverfreilich, kein Problem. Hast Du eine Idee, was wir als Entwicklungsplattform (SCM, Diskussionsforum usw.) nehmen könnten? Wer ist denn noch dabei?

    Ich bin nicht dabei. Weis jetzt ja schon nicht wie ich meine vorhandene Zeit zwischen Arbeit und Familie aufteilen soll.

    Chris
    Man macht einfach solange irgendwelche Dinge, bis man tot ist.
    Und dann bekommen die anderen Kuchen.
  • Original von Amin Negm-Awad
    Original von Chris
    Erstmal muss ich wissen worauf ich mich eingelassen habe.

    Chris

    In diesem Falle meinte ich allerdings einen anderen Christian.

    Aber als gemeinsames Projekt wäre das doch in der Tat schön.


    Wie? Ich bin der einzig wahre Christian :D
    Hab leider zuwenig Zeit mich zu beteiligen, Lust schon.

    Chris
    Man macht einfach solange irgendwelche Dinge, bis man tot ist.
    Und dann bekommen die anderen Kuchen.
  • Original von macmoonshine
    Original von Amin Negm-Awad
    "So etwas" gibt es auch schon, wenn auch nicht mit XSD, und nennt sich Core Data. So ein Core-Data-Mapper für XSD wäre eigentlich interessant. Christian, übernehmen Sie!


    Ja natürlich, wenn Du durch die Abstraktionsbrille schaust. Oder übertragen auf's Kochen, wie Ekel Alfred es mal ausgedrückt hat: "Ihr braucht nur noch aufräumen." (aka programmieren) ;)

    Ich muss durch die Abstraktionsbrille schauen, da man das ursprüngliche Problem in Objective-C anders lösen würde. Eine Lösung über Klassengeneratoren hat doch erhebliche Nachteile in Bezug auf die Flexibilität und entspräche wohl auch nicht den dynamischen Möglichkeiten von Objective-C. Wenn man es machen will, will man es doch richtig machen. – Und nicht so wie in Java ;)

    Original von macmoonshine
    XML-Schema ist aber nicht gerade trivial. Es gibt sehr viele Möglichkeiten, Datenstrukturen zu beschreiben und Schemata lassen sich ineinander verschachteln. Da muss mensch sich durch einige W3C-Standards quälen.

    Da in der Tat die komplette Infrastruktur für die dynamische Erstellung bereits vorhanden ist (aka Core Data), muss man sich nur durch die Definitionen quälen. Sicherlich mag es Dinge geben, die sich nicht 1-zu-1 übersetzen lassen, quatsch, es wird Dinge geben, die sich nicht 1-zu-1 übersetzen lassen, aber zum muss man ja nicht gleich eine vollständige Version haben, zum anderen sind die Dinge, die sich 1-zu1- übersetzen lassen mit einem Parser erschlagen. Und den wird es ja schon geben, einfach für C/C++.

    All diese Dinge, die bereits als Möglichkeit in Core Data existieren muss ich mir dann nur mit einem bereits existierendem Parser holen und mit einem bereits existierendem Framework modellieren. Das klingt nicht nach unüberwindlichen Hürden.

    Original von macmoonshine
    Ansonsten möchte ich in Deiner Aussage nur zwei Sachen kritisieren: "eigentlich" muss gestrichen und "interessant" durch "absolut notwendig" ersetzt werden. ;)

    Eben nicht. Dadurch, dass mit Core Data (muss man natürlich nicht nehmen, scheint mir aber praktisch zu sein) bereits die abstrakte – und im Vergleich zu deinem Hinweis vor allem dynamische – Infrastruktur für die Modellierung bereits vorhanden ist, bleibe ich beim eigentlich. Wenn du allerdings diese Infrastruktur selbst programmieren willst, wirst du bemerken, wie viel dieses eigentlich ist.

    Original von macmoonshine
    Mensch Christian, zusammen mit evtl. vorgeschalteten XSL-Transformationen wäre das ein total geiles Tool. Den Befehl hast Du dazu ja schon erhalten ;)
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?