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 | pdcx</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>

 

PrimeSoft AG, Bahnhofstrasse 4, 8360 Eschlikon, Switzerland