Inhalt anzeigen / ausblenden

    Extraktor

    Diese Dokumentfunktion extrahiert Daten aus dem aktuellen Word-Dokument und speichert diese in eine beliebige Datendatei. Diese Dokumentfunktion wird üblicherweise von DMS-Systemen wie unter anderem LoboDMS verwendet, um das Word-Dokument nach dem Speichervorgang korrekt indizieren zu können.

    Die Konfiguration des Daten-Extraktors enthält ein XSLT-Skript, um ein XML-Output-Dokument zu generieren. Das XML-Output-Dokument enthält Anweisungen wie die Datendatei, die gespeichert werden soll und den Inhalt derjenigen. Das XML-Output-Dokument ist wie folgt aufgebaut:

    <Extractor>
      <!-- Anweisungen wie und wo das Datenfile gespeichert werden soll -->
    	<GlobalSettings>
    		<Settings>
    			<Active> true | false </Active>
            <!-- Relativer Pfad zum Speicherort des Word-Dokument -->
    			<Path>.</Path>
            <!-- File Extension des Datenfiles -->
    			<Extension>xml | csv | oocx | oneoffixx </Extension>
            <!-- Soll das Datenfile versteckt im Filesystem abgelegt werden, ist diese Option true -->
    			<Hidden> true | false </Hidden>
    		</Settings>
    	</GlobalSettings>
    	<FileContent>
        <!-- Inhalte des Datenfiles -->
    	</FileContent>
    </Extractor
    

    Als Input in die XSL-Transformation wird das XML-Output-Dokument inklusive aller CustomXML-Daten übergeben. Eine Konfiguration des Data Extractors könnte wie folgt aussehen:

    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:oopart="http://schema.oneoffixx.com/OneOffixxContactsPart/1" xmlns:properties="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties" xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:extendedproperties="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties">
      <xsl:output method="xml" version="1.0" encoding="utf-8" />
    
      <!-- Haupt-Template -->
      <xsl:template match="/">
        <xsl:element name="Extractor">
          <xsl:call-template name="GlobalSettings"/>
          <xsl:call-template name="FileContent"/>
        </xsl:element>
      </xsl:template>
    
      <!-- Einstellungen zur Steuerung des Datenfiles -->
      <xsl:template name="GlobalSettings">
        <xsl:element name="Settings">
          <xsl:element name="Active">true</xsl:element>
          <xsl:element name="Path">.</xsl:element>
          <xsl:element name="Extension">xml</xsl:element>
          <xsl:element name="Hidden">false</xsl:element>
        </xsl:element>
      </xsl:template>
    
      <!-- FileContent des Datenfiles -->
      <xsl:template name="FileContent">
        <xsl:element name="FileContent">
          <xsl:call-template name="MyExtractorFile"/>
        </xsl:element>
      </xsl:template>
    
      <!-- Alle Dokument-Parameter ausgeben -->
      <xsl:template name="MyExtractorFile">
        <xsl:element name="ExtractorData">      
          <xsl:call-template name="DocumentParameter"/>      
        </xsl:element>
      </xsl:template>
      
      <!-- Dokument-Parameter Dokumentfunktion-->
      <xsl:template name="DocumentParameter">
        <xsl:if test="//Parameter">
            <xsl:for-each select="//Parameter/*">
                <xsl:if test="normalize-space(.)">
                    <xsl:call-template name="Content">
                        <xsl:with-param name="node" select="."/>
                    </xsl:call-template>
                </xsl:if>
            </xsl:for-each>
        </xsl:if>
      </xsl:template>
      
       <xsl:template name="Content">
            <xsl:param name="node"/>
            <xsl:variable name="name" select="$node/@id"/>
            <xsl:element name="{$name}">
                <xsl:apply-templates select="node()" />
            </xsl:element>
      </xsl:template>
    
    </xsl:stylesheet>
    
    Zurück nach oben | Deutsch | English PrimeSoft AG   I   Bahnhofstrasse 4   I   8360 Eschlikon   I   Switzerland   I   Datenschutz   I   Impressum