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

Version 1 Next »


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>

  • No labels