Inhalt anzeigen / ausblenden

    XML-Transformator

    Diese Dokumentfunktion hilft, wenn eine Fremdapplikation beim Aufruf von OneOffixx keine sauberen Connect-Dateien, sondern XML-Dateien mit einer beliebigen Struktur übermittelt. Dabei muss beim Aufruf von OneOffixx zusätzlich der Name der Schnittstelle mitgegeben werden. Beim Client sieht ein solcher Aufruf so aus:

    OneOffixx.exe /connector "C:\temp\testfile.xml" /interfaceType "myDefinedInterface"

    In dieser Dokumentfunktion werden nun mit XSLT mittels Regeln definiert, wie das erhaltene XML-File (hier testfile.xml) für "myDefinedInterface" zu einer korrekten Connect-Datei umgeformt wird. Wir machen das anhand eines Beispiels.

    Beispiel

    In unserem Beispiel hat "testfile.xml" folgenden Inhalt:

    <root>
      <anElement>
        <hereItIs>Test Content from XML file</hereItIs>
      </anElement>
      <anotherElement>This is an example.</anotherElement>
    </root>
    

    Bei diesem Szenario wollen wir mit obigem testfile.xml ein Feld des Connect-Konverters abfüllen. Hierfür erstellen wir im Connect-Konverter eine Konfiguration für das Feld "TestCustomInterface.Field01" in der Schnittstelle "TestCustomInterface". Diese Konfiguration sieht so aus:

    <CustomInterfaces>
      
      <!-- TestCustomInterface -->
      <InterfaceDescription Name="TestCustomInterface" Description="Test Interface...">
        <Node Id="TestCustomInterface.Field01">[default text]</Node>
      </InterfaceDescription>
        
    </CustomInterfaces>
    

    Das Feld "TestCustomInterface.Field01" kann nun im Word-Editor einer Vorlage eingefügt werden:

    Einfügen des Feldes in Word

    Caution

    Es gibt sowohl im Schnittstellenkonverter als auch im Connect-Konverter "Interfaces"-Elemente. Diese dürfen jedoch nicht verwechselt werden.

    Ziel

    Das Ziel ist es nun, das "myDefinedInterface" (siehe Aufruf) im Connect-Konverter so zu definieren, dass OneOffixx beim obigen Aufruf eine Umformung vornimmt, sodass diese Connect-Datei entsteht und ausgeführt wird:

    <OneOffixxConnectBatch xmlns="http://schema.oneoffixx.com/OneOffixxConnectBatch/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <Settings />
      <Entries>
        <OneOffixxConnect>
          <Arguments>
            <TemplateId>804ea87d-37a4-4307-99d7-23d16032f426</TemplateId>
            <LanguageLcid>2055</LanguageLcid>
          </Arguments>
          <Function name="CustomInterfaceConnector" id="70E94788-CE84-4460-9698-5663878A295B">
            <Arguments>
              <Interface Name="TestCustomInterface">
                <Node Id="TestCustomInterface.Field01">
                  [Inhalt von "hereItIs"-Element: "Test Content from XML file"]
                </Node>
              </Interface>
            </Arguments>
          </Function>
        </OneOffixxConnect>
      </Entries>
    </OneOffixxConnectBatch>
    

    Konfiguration

    Caution

    Für diese Konfiguration muss auf die Gross- und Kleinschreibung geachtet werden! Zum Beispiel muss der Wortanfang von "Id" gross ein, ansonsten funktioniert der Connect-Aufruf nicht.

    Die Konfiguration vom Schnittstellen Konverter muss wie folgt aussehen:

    <Configuration>
      <Interfaces>
        
        <!-- myTestInterface -->
        <Interface name="myTestInterface" version="1.0">
          <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
            <xsl:template match="/">
              <OneOffixxConnectBatch xmlns="http://schema.oneoffixx.com/OneOffixxConnectBatch/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <Settings />
                <Entries>
                  <OneOffixxConnect>
                    <Arguments>
                      <TemplateId>804ea87d-37a4-4307-99d7-23d16032f426</TemplateId>
                      <LanguageLcid>2055</LanguageLcid>
                    </Arguments>
                    <Function name="CustomInterfaceConnector" id="70E94788-CE84-4460-9698-5663878A295B">
                      <Arguments>
                        <Interface Name="TestCustomInterface">
                          <Node Id="TestCustomInterface.Field01">
                            <xsl:value-of select="/root/anElement/hereItIs" />
                          </Node>
                        </Interface>
                      </Arguments>
                    </Function>
                  </OneOffixxConnect>
                </Entries>
              </OneOffixxConnectBatch>
            </xsl:template>
          </xsl:stylesheet>
        </Interface>
        
      </Interfaces>
    </Configuration>
    

    Beim Nachbauen dieses Beispiels muss darauf geachtet werden, dass sich zwischen <TemplateId> und </TemplateId> die korrekte Template-Id befindet.

    Der Aufruf von oben

    OneOffixx.exe /connector "C:\temp\testfile.xml" /interfaceType "myDefinedInterface"
    erzeugt nun ein Dokument, bei dem das Feld TestCustomInterface.Field01 den Inhalt "Test Content from XML file" (stammt aus testfile.xml) hat:

    Einfügen des Feldes in Word

    Zurück nach oben | Deutsch | English PrimeSoft AG   I   Bahnhofstrasse 4   I   8360 Eschlikon   I   Switzerland   I   Datenschutz   I   Impressum