Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Current »


Diese Funktion steht nur “classic” Vorlagen zur Verfügung. Weitere Informationen finden Sie hier.

ACHTUNG
Unstrukturiertes XML kann nur mit dem primedocs Client verwendet werden. Eine serverseitige Verarbeitung über den Document Creation Server ist nicht möglich.

Die Fachapplikation liefert folgendes XML:

<root>
  <company>
    <name>Contoso Ltd.</name>
    <division>Sales</division>
  </company>
  <changedate>2019-01-01</changedate>
</root>

Davon möchten wir den Inhalt von name weiterverwenden und in der Vorlage platzieren können. Dazu muss dieses unstrukturierte XML in einem nächsten Schritt ins Connect-Format transformiert werden. In diesem Beispiel werden wir vollständiges Connect-XML erstellen (nicht Type Data).


1. Connect-Schnittstellendefinition erstellen

<CustomInterfaces>
  <InterfaceDescription Name="ContosoInterface" Description="Interface Contoso">
    <Node Id="ContosoInterface.CompanyName">[CompanyName placeholder]</Node>
    <Node Id="ContosoInterface.CompanyDivision">[CompanyDivision placeholder]</Node>
  </InterfaceDescription>
</CustomInterfaces>

2. XML-Transformation erstellen

Jetzt muss das unstrukturierte XML in eine Form gebracht werden, dass es auf die Schnittstellendefinition aus dem vorherigen Schritt passt. Wir benötigen folgendes Ergebnis aus der Transformation:

<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="ContosoInterface">
            <Node Id="ContosoInterface.CompanyName">Contoso Ltd.</Node>
            <Node Id="ContosoInterface.CompanyDivision">Sales</Node>
          </Interface>
        </Arguments>
      </Function>
    </OneOffixxConnect>
  </Entries>
</OneOffixxConnectBatch>

Dazu wird im XML-Transformator ein neues Interface erstellt. In diesem wird der Connect-Rahmen vorgegeben und mittels XSLT und XPath die relevanten Daten extrahiert und transformiert.

<Configuration>
    <Interfaces>
        // ab hier
        <Interface name="ContosoTransformerInterface" 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="ContosoInterface">
                                            <Node Id="ContosoInterface.CompanyName">
                                                <xsl:value-of select="/root/company/company" />
                                            </Node>
                                            <Node Id="ContosoInterface.CompanyDivision">
                                                <xsl:value-of select="/root/company/division" />
                                            </Node>
                                        </Interface>
                                    </Arguments>
                                </Function>
                            </OneOffixxConnect>
                        </Entries>
                    </OneOffixxConnectBatch>
                </xsl:template>
            </xsl:stylesheet>
        </Interface>   
    </Interfaces>
</Configuration>

  • No labels