KFSG#57950 Exchange-koppeling

svn path=/Website/branches/v2019.1/; revision=43186
This commit is contained in:
Maarten van der Heide
2019-07-03 06:50:28 +00:00
parent 5662881bea
commit 1485de6c99

View File

@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<xsl:template match="s:Envelope/s:Body/m:GetItemResponse">
Subject;StartTime;EndTime;Organizer;Email;Name;Modifier;ApptId;RecurId;SeqNr;
<xsl:for-each select="//t:Attendee">
<xsl:text>"</xsl:text><xsl:value-of select="../../t:Subject"/><xsl:text>";</xsl:text>
<xsl:value-of select="../../t:Start"/><xsl:text>;</xsl:text>
<xsl:value-of select="../../t:End"/><xsl:text>;</xsl:text>
<xsl:value-of select="../../t:Organizer/t:Mailbox/t:EmailAddress"/><xsl:text>;</xsl:text>
<xsl:value-of select="t:Mailbox/t:EmailAddress"/><xsl:text>;"</xsl:text>
<xsl:value-of select="t:Mailbox/t:Name"/><xsl:text>";</xsl:text>
<xsl:choose>
<xsl:when test="../../t:IsCancelled='true'">D</xsl:when>
<xsl:when test="../t:IsUnmodified='false'">C</xsl:when>
<xsl:otherwise>U</xsl:otherwise>
</xsl:choose><xsl:text>;</xsl:text>
<!--<xsl:value-of select="../../t:ItemId/@Id"/><xsl:text>;</xsl:text>-->
<xsl:value-of select="../../t:ExtendedProperty/t:Value"/><xsl:text>;</xsl:text>
<xsl:if test="../../t:IsRecurring='true'"><xsl:value-of select="../../t:RecurrenceId"/></xsl:if><xsl:text>;</xsl:text>
<xsl:value-of select="../../t:AppointmentSequenceNumber"/>;
</xsl:for-each>
</xsl:template>
<!-- Lange syncstates opknippen in stukken van max. 4000 karakters (meer kan de import niet verwerken) -->
<xsl:template match="s:Envelope/s:Body/m:SyncFolderItemsResponse/m:ResponseMessages">
SyncState
<xsl:for-each select="m:SyncFolderItemsResponseMessage">
<xsl:if test="@ResponseClass='Success'">
<xsl:call-template name="knipString">
<xsl:with-param name="pString" select="m:SyncState"/>
<xsl:with-param name="pBlockLength" select="3990"/>
</xsl:call-template>
</xsl:if>
</xsl:for-each>
</xsl:template>
<xsl:template name="knipString">
<xsl:param name="pString"/>
<xsl:param name="pBlockLength"/>
<xsl:choose>
<xsl:when test="string-length($pString)> $pBlockLength">
<xsl:value-of select="substring($pString, 1, $pBlockLength)"/>
<xsl:text>&#x0A;</xsl:text>
<xsl:call-template name="knipString">
<xsl:with-param name="pString" select="substring($pString, $pBlockLength+1)"/>
<xsl:with-param name="pBlockLength" select="$pBlockLength"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$pString"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>