Inhalt anzeigen / ausblenden

    Connect-XML

    Der Standardfall erhält Instruktionen zur Dokumenterstellung in XML und Connect-Schnittstellendefinition.

    Connect-Schnittstellendefinition

    Die Schnittstellendefinition lässt den Word-Editor wissen, welche Felder zukünftig Werte liefern werden und im Dokument als Platzhalter eingefügt und formatiert werden können. Diese Elemente sind über "OneOffixx Entwurf" → "Inhalt verknüpfen" unter der Kategorie "Interfaces" verfügbar.

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

    Die dazugehörige Definition in der Connect-Datei sieht folgendermassen aus:

    <?xml version="1.0" encoding="utf-8"?>
    <OneOffixxConnectBatch xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schema.oneoffixx.com/OneOffixxConnectBatch/1">
      <Entries>
        <OneOffixxConnect>
          <Arguments>
            <LanguageLcid>1031</LanguageLcid>
            <TemplateId>2e221a62-c9ec-4f4d-89d5-b0919c249867</TemplateId>
          </Arguments>
          <Function name="CustomInterfaceConnector" id="70E94788-CE84-4460-9698-5663878A295B">
            <Arguments>
              <Interface Name="ContosoInterface">
                <Node Id="ContosoInterface.CompanyName">Beispielfirma</Node>
                <Node Id="ContosoInterface.CompanyDivision">HR</Node>
              </Interface>
            </Arguments>
          </Function>
        </OneOffixxConnect>
      </Entries>
    </OneOffixxConnectBatch>
    

    XPath

    Für die Schnittstellendefinition kann auch mit XPaths gearbeitet werden. Mithilfe der XPaths kann innerhalb eines XML-Dokumentes navigiert werden.

    Ist folgendes Connect-XML gegeben:

    <?xml version="1.0" encoding="utf-8"?>
    <OneOffixxConnectBatch xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schema.oneoffixx.com/OneOffixxConnectBatch/1">
      <Entries>
        <OneOffixxConnect>
          <Arguments>
            <LanguageLcid>1031</LanguageLcid>
            <TemplateId>2e221a62-c9ec-4f4d-89d5-b0919c249867</TemplateId>
          </Arguments>
          <Function name="CustomInterfaceConnector" id="70E94788-CE84-4460-9698-5663878A295B">
            <Arguments>
              <Interface Name="ContosoInterface">
                <Company>
                  <Name>Beispielfirma</Name>
                  <Division>HR</Division>
                </Company>
              </Interface>
            </Arguments>
          </Function>
        </OneOffixxConnect>
      </Entries>
    </OneOffixxConnectBatch>
    

    ...dann kann es mit folgender Schnittstellendefinition ausgewertet werden:

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

    Die Connect-Schnittstelle unterstützt neben verschachtelten Elementen auch Listen. Dazu werden Collections verwendet.

    NodeCollections

    Connect ist zudem in der Lage, mit Listen zu arbeiten, die sogenannten NodeCollections. Für NodeCollections muss zwingend mit XPaths gearbeitet werden. Für die Verarbeitung von NodeCollections im Dokument ist zwingend ein Extended Binding nötig.

    Wir erweitern das obige Beispiel mit einer Liste von Mitarbeitern:

    <?xml version="1.0" encoding="utf-8"?>
    <OneOffixxConnectBatch xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schema.oneoffixx.com/OneOffixxConnectBatch/1">
      <Entries>
        <OneOffixxConnect>
          <Arguments>
            <LanguageLcid>1031</LanguageLcid>
            <TemplateId>2e221a62-c9ec-4f4d-89d5-b0919c249867</TemplateId>
          </Arguments>
          <Function name="CustomInterfaceConnector" id="70E94788-CE84-4460-9698-5663878A295B">
            <Arguments>
              <Interface Name="ContosoInterface">
                <Company>
                  <Name>Beispielfirma</Name>
                  <Division>HR</Division>
                  <Employees>
                    <Employee>
                      <Name>Muster</Name>
                      <FirstName>Max</FirstName>
                      <PersonalNumber>198936</PersonalNumber>
                    </Employee>
                    <Employee>
                      <Name>Perser</Name>
                      <FirstName>Petra</FirstName>
                      <PersonalNumber>947283</PersonalNumber>
                    </Employee>
                  </Employees>
                </Company>
              </Interface>
            </Arguments>
          </Function>
        </OneOffixxConnect>
      </Entries>
    </OneOffixxConnectBatch>
    

    Die NodeCollection kann in der InterfaceDescription folgendermassen dargestellt werden:

    <CustomInterfaces>
      <InterfaceDescription Name="ContosoInterface" Description="Interface Contoso">
        <Node Id="ContosoInterface.CompanyName" XPath="//Company/Name">[CompanyName placeholder]</Node>
        <Node Id="ContosoInterface.CompanyDivision" XPath="//Company/Division">[CompanyDivision placeholder]</Node>
        <NodeCollection Id="ContosoInterface.Employees" XPath="//Employees/Employee">
          <Node Id="ContosoInterface.Employee.Name" XPath="./Name">&#160;</Node>
          <Node Id="ContosoInterface.Employee.FirstName" XPath="./FirstName">&#160;</Node>
          <Node Id="ContosoInterface.Employee.PersonalNumber" XPath="./PersonalNumber">&#160;</Node>
        </NodeCollection>
      </InterfaceDescription>
    </CustomInterfaces>
    
    Zurück nach oben | Deutsch | English PrimeSoft AG   I   Bahnhofstrasse 4   I   8360 Eschlikon   I   Switzerland   I   Datenschutz   I   Impressum