XML Ausgabe Schemata anpassen

Hallo Gemeinschaft,
bin noch rel. neu bei OXID und würde mich nun gerne an einige Anpassungen wagen wollen.
Ich möchte (muss) den Aufbau der XML Datei anpassen, damit ich Sie in meiner Warenwirtschaft verwenden kann.
Leider habe ich nicht herausfinden können , wo der Aufbau festgelegt ist.

Am Ende der XML Aufbau der Wawi, welcher leider fest codiert ist.
Hoffe ihr könnte mit dabei behilflich sein.
Sollte ich trotz Suche ein Thema, in welchem dies bereits behandelt wird/wurde übersehen haben, so nennt mir doch bitte den Namen.

Da ich nicht so recht weiß welche Infos noch benötigt werden fragt bitte danach.
Ich trage Sie dann umgehend nach.

Schon einmal vielen dank im Vorraus
Gruß René


<?xml version="1.0" encoding="iso-8859-1"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:simpleType name="optionalDate">
    <xs:restriction>
      <xs:simpleType>
        <xs:list itemType="xs:date" />
      </xs:simpleType>
      <xs:minLength value="0" />
      <xs:maxLength value="1" />
    </xs:restriction>
  </xs:simpleType> 
  <xs:simpleType name="string2000">
    <xs:restriction base="xs:string">
      <xs:maxLength value="2000" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="string256">
    <xs:restriction base="xs:string">
      <xs:maxLength value="256" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="string128">
    <xs:restriction base="xs:string">
      <xs:maxLength value="128" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="string64">
    <xs:restriction base="xs:string">
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="string30">
    <xs:restriction base="xs:string">
      <xs:maxLength value="30" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="string25">
    <xs:restriction base="xs:string">
      <xs:maxLength value="25" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="string20">
    <xs:restriction base="xs:string">
      <xs:maxLength value="20" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="string10">
    <xs:restriction base="xs:string">
      <xs:maxLength value="10" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="string5">
    <xs:restriction base="xs:string">
      <xs:maxLength value="5" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="string4">
    <xs:restriction base="xs:string">
      <xs:maxLength value="4" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="yesno">
    <xs:restriction base="xs:string">
      <xs:maxLength value="1" />
      <xs:enumeration value="Y" />
      <xs:enumeration value="N" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="sprache">
    <xs:restriction base="xs:string">
      <xs:maxLength value="3" />
      <xs:enumeration value="ger" />
      <xs:enumeration value="eng" />
      <xs:enumeration value="dan" />
      <xs:enumeration value="fin" />
      <xs:enumeration value="fre" />
      <xs:enumeration value="geo" />
      <xs:enumeration value="gre" />
      <xs:enumeration value="gle" />
      <xs:enumeration value="ice" />
      <xs:enumeration value="ita" />
      <xs:enumeration value="scr" />
      <xs:enumeration value="dut" />
      <xs:enumeration value="nor" />
      <xs:enumeration value="pol" />
      <xs:enumeration value="por" />
      <xs:enumeration value="swe" />
      <xs:enumeration value="slo" />
      <xs:enumeration value="slv" />
      <xs:enumeration value="spa" />
      <xs:enumeration value="cze" />
      <xs:enumeration value="tur" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="waehrung">
    <xs:restriction base="xs:string">
      <xs:maxLength value="3" />
      <xs:enumeration value="EUR" />
      <xs:enumeration value="USD" />
      <xs:enumeration value="GBP" />
      <xs:enumeration value="AUD" />
      <xs:enumeration value="CHF" />
      <xs:enumeration value="CNY" />
      <xs:enumeration value="PLN" />
      <xs:enumeration value="SEK" />
      <xs:enumeration value="SGD" />
      <xs:enumeration value="TWD" />
      <xs:enumeration value="INR" />
      <xs:enumeration value="MYR" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="postype">
    <xs:restriction base="xs:string">
      <xs:enumeration value="standard" />
      <xs:enumeration value="versandkosten" />
      <xs:enumeration value="kupon" />
      <xs:enumeration value="gutschein" />
      <xs:enumeration value="zahlungsart" />
      <xs:enumeration value="versandzuschlag" />
      <xs:enumeration value="neukundenkupon" />
      <xs:enumeration value="nachnahmegebuehr" />
    </xs:restriction>
  </xs:simpleType>

hier Teil2 :


<xs:element name="tBestellungen">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="tBestellung">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="cSprache" type="sprache" />
              <xs:element name="cWaehrung" type="waehrung" />
              <xs:element name="fGuthaben" type="xs:decimal" />
              <xs:element name="fGesamtsumme" type="xs:decimal" />
              <xs:element name="cBestellNr" type="string30" />
              <xs:element name="cExterneBestellNr" type="string30" />
              <xs:element name="cVersandartName" type="string256" />
              <xs:element name="cVersandInfo" type="string256" />
              <xs:element name="dVersandDatum" type="optionalDate" />
              <xs:element name="cTracking" type="string25" />
              <xs:element name="cLogistiker" type="string256" />
              <xs:element name="dLieferDatum" type="optionalDate" />
              <xs:element name="cKommentar" type="string2000" />
              <xs:element name="cBemerkung" type="string2000" />
              <xs:element name="dErstellt" type="xs:date" />
              <xs:element name="cZahlungsartName" type="string256" />
              <xs:element name="dBezahltDatum" type="optionalDate" />
              <xs:element name="fBezahlt" type="xs:decimal" />
              <xs:element maxOccurs="unbounded" name="twarenkorbpos">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="cName" type="string256" />
                    <xs:element name="cArtNr" type="string30" />
                    <xs:element name="cBarcode" type="string256" />
                    <xs:element name="cSeriennummer" type="string128" />
                    <xs:element name="cEinheit" type="string10" />
                    <xs:element name="fPreisEinzelNetto" type="xs:decimal" />
                    <xs:element name="fPreis" type="xs:decimal" />
                    <xs:element name="fMwSt" type="xs:decimal" />
                    <xs:element name="fAnzahl" type="xs:decimal" />
                    <xs:element name="cPosTyp" type="postype" />
                    <xs:element name="fRabatt" type="xs:decimal" />
                    <xs:element maxOccurs="unbounded" name="twarenkorbposeigenschaft">
                      <xs:complexType mixed="true">
                        <xs:sequence minOccurs="0">
                          <xs:element name="cArtNr" type="string30" />
                          <xs:element name="cBarcode" type="string256" />
                          <xs:element name="cEigenschaftName" type="string256" />
                          <xs:element name="cEigenschaftWertName" type="string256" />
                          <xs:element name="cFreifeldWert" type="string256" />
                          <xs:element name="fAufpreis" type="xs:decimal" />
                        </xs:sequence>
                        <xs:attribute name="kEigenschaft" type="xs:unsignedLong" use="optional" />
                        <xs:attribute name="kEigenschaftWert" type="xs:unsignedLong" use="optional" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="kArtikel" type="xs:unsignedLong" use="optional" />
                </xs:complexType>
              </xs:element>
              <xs:element name="tkunde">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="cKundenNr" type="string30" />
                    <xs:element name="cAnrede" type="string30" />
                    <xs:element name="cTitel" type="string20" />
                    <xs:element name="cVorname" type="string128" />
                    <xs:element name="cNachname" type="string128" />
                    <xs:element name="cFirma" type="string128" />
                    <xs:element name="cStrasse" type="string256" />
                    <xs:element name="cAdressZusatz" type="string256" />
                    <xs:element name="cPLZ" type="string10" />
                    <xs:element name="cOrt" type="string64" />
                    <xs:element name="cBundesland" type="string256" />
                    <xs:element name="cLand" type="string64" />
                    <xs:element name="cTel" type="string30" />
                    <xs:element name="cMobil" type="string30" />
                    <xs:element name="cFax" type="string30" />
                    <xs:element name="cMail" type="string256" />
                    <xs:element name="cUSTID" type="string20" />
                    <xs:element name="cWWW" type="string256" />
                    <xs:element name="cNewsletter" type="yesno" />
                    <xs:element name="dGeburtstag" type="xs:date" />
                    <xs:element name="fRabatt" type="xs:decimal" />
                    <xs:element name="cHerkunft" type="string256" />
                    <xs:element name="dErstellt" type="xs:date" />
                    <xs:element name="tkundenattribute">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="cName" type="string256" />
                          <xs:element name="cWert" type="string256" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="kKunde" type="xs:unsignedLong" use="optional" />
                  <xs:attribute name="kKundenKategorie" type="xs:unsignedLong" use="optional" />
                  <xs:attribute name="kKundenGruppe" type="xs:unsignedLong" use="optional" />
                  <xs:attribute name="kSprache" type="xs:unsignedLong" use="optional" />
                </xs:complexType>
              </xs:element>
              <xs:element name="tlieferadresse">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="cAnrede" type="string30" />
                    <xs:element name="cVorname" type="string128" />
                    <xs:element name="cNachname" type="string128" />
                    <xs:element name="cTitel" type="string20" />
                    <xs:element name="cFirma" type="string128" />
                    <xs:element name="cStrasse" type="string256" />
                    <xs:element name="cAdressZusatz" type="string256" />
                    <xs:element name="cPLZ" type="string10" />
                    <xs:element name="cOrt" type="string64" />
                    <xs:element name="cBundesland" type="string256" />
                    <xs:element name="cLand" type="string64" />
                    <xs:element name="cTel" type="string30" />
                    <xs:element name="cMobil" type="string30" />
                    <xs:element name="cFax" type="string30" />
                    <xs:element name="cMail" type="string256" />
                  </xs:sequence>
                  <xs:attribute name="kLieferadresse" type="xs:unsignedLong" use="required" />
                </xs:complexType>
              </xs:element>
              <xs:element name="tzahlungsinfo">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="cBankName" type="string256" />
                    <xs:element name="cBLZ" type="string30" />
                    <xs:element name="cKontoNr" type="string30" />
                    <xs:element name="cKartenNr" type="string30" />
                    <xs:element name="dGueltigkeit" type="string5" />
                    <xs:element name="cCVV" type="string4" />
                    <xs:element name="cKartenTyp" type="string30" />
                    <xs:element name="cInhaber" type="string256" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="kFirma" type="xs:unsignedLong" use="optional" />
            <xs:attribute name="kBenutzer" type="xs:unsignedLong" use="optional" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

Bei soviel Umarbeitung würde ich dir raten einfach deinen eigenen Export zu schreiben. Zumal das was du dort zeigst ja das Schema ist und kein Beispiel wie die Datei am Ende auszusehen hat. Ich glaube es gibt sogar Tools die dir helfen mit so einem Schema und einer SQL Datenbank die passende XML zu erzeugen.

Hallo aggrosoft,
wenn ich wüsste wo der Export definiert wird könnte ich es versuchen.
Leider habe ich dies nicht herausbekommen.
Der Code sollte auch das Schema sein. Ein Beispiel basiert ja immer auf dem Schema.
Wenn du mir ein solches Tool nennen kannst. ?

Such mal nach “simplexml”. Damit ist es relativ einfach, den Export selbst zu gestalten. Wenn Du ein eigenständiges Modul brauchst, kannst Dich ja melden ;).