Added DotNet Implementation (AHF)
authorMWiedenmaier
Tue, 25 Feb 2014 09:14:48 +0100
changeset 34 950bc0ee9a28
parent 33 3eaa6a425b51
child 35 81909bfe31f6
Added DotNet Implementation (AHF)
FOPRunXSLTExt/bin/pi.ep.ppl.xslt.ext.ahf.dotnet.dll
FOPRunXSLTExt/bin/pi.ep.ppl.xslt.ext.ahf.dotnet.transformer.exe
FOPRunXSLTExt/bin/pi.ep.ppl.xslt.ext.ahf.dotnet.transformer.exe.config
FOPRunXSLTExt/bin/pi.ep.xslt.ext.interfaces.dll
FOPRunXSLTExt/bin/pi.ep.xslt.transformer.dll
FOPRunXSLTExt/examples/example1_dotnet_ahf61.bat
FOPRunXSLTExt/examples/ppl-extensions.xsl
FOPRunXSLTExt/examples/rundotnet_ahf61.bat
FOPRunXSLTExt/src/org/w3c/ppl/xslt/ext/ahf/dotnet/pi.ep.ppl.xslt.ext.ahf.dotnet/Properties/AssemblyInfo.cs
FOPRunXSLTExt/src/org/w3c/ppl/xslt/ext/ahf/dotnet/pi.ep.ppl.xslt.ext.ahf.dotnet/RunAHF.cs
FOPRunXSLTExt/src/org/w3c/ppl/xslt/ext/ahf/dotnet/pi.ep.ppl.xslt.ext.ahf.dotnet/pi.ep.ppl.xslt.ext.ahf.dotnet.csproj
FOPRunXSLTExt/src/org/w3c/ppl/xslt/ext/ahf/dotnet/pi.ep.ppl.xslt.sln
FOPRunXSLTExt/src/org/w3c/ppl/xslt/ext/ahf/dotnet/pi.ep.xslt.ext.interfaces/IXsltExtensionObject.cs
FOPRunXSLTExt/src/org/w3c/ppl/xslt/ext/ahf/dotnet/pi.ep.xslt.ext.interfaces/Properties/AssemblyInfo.cs
FOPRunXSLTExt/src/org/w3c/ppl/xslt/ext/ahf/dotnet/pi.ep.xslt.ext.interfaces/pi.ep.xslt.ext.interfaces.csproj
Binary file FOPRunXSLTExt/bin/pi.ep.ppl.xslt.ext.ahf.dotnet.dll has changed
Binary file FOPRunXSLTExt/bin/pi.ep.ppl.xslt.ext.ahf.dotnet.transformer.exe has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/FOPRunXSLTExt/bin/pi.ep.ppl.xslt.ext.ahf.dotnet.transformer.exe.config	Tue Feb 25 09:14:48 2014 +0100
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+/*
+Program Name:                                                     
+	pi.ep.ppl.xslt.ext.ahf.dotnet.transformer
+
+Requires:
+    DotNet 4.0
+    Antenna House Formatter 6.1 MR2a
+    (How to fit dll link to another version, see description below)
+General Description:                                              
+    DotNet XSLT-Processor Extension for Antenna House Formatter areaTree function support
+    based on the Java implementation of Print and Page Layout Community Group @ W3C
+    See http://www.w3.org/community/ppl/wiki/FOPRunXSLTExt
+License: 
+    W3C license
+Author: 
+	Markus Wiedenmaier
+    practice innovatio
+    Zum Kiesgrüble 20
+    DE-78259 Mühlhausen-Ehingen
+    mailto:info@practice-innovation.de
+    http://www.practice-innovation.de
+Versions:
+    0.1 2014-02-14 Markus Wiedenmaier
+*/
+-->
+<configuration>
+  <runtime>
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <dependentAssembly>
+        <assemblyIdentity name="XfoDotNet40Ctl61"
+                          publicKeyToken="3f10347ef02a9945"
+                          culture="neutral"/>
+        <!-- ====================================================================== -->
+        <!-- Application is build with "Any CPU" Setting against x64 dll            -->
+        <!-- ====================================================================== -->
+        <!-- ====================================================================== -->
+        <!-- If you are using another version of Antenna House Formatter V6 MR2a    -->
+        <!-- XfoDotNet40Ctl61.dll Version 6.1.2013.1008                             -->
+        <!-- Change Attribute newVersion of element bindingRedirekt                 -->
+        <!-- to your version of XfoDotNet40Ctl61.dll                                -->
+        <!-- ====================================================================== -->
+        <bindingRedirect oldVersion="6.1.2013.1008" newVersion="6.1.2013.1008"/>
+
+        <!-- ====================================================================== -->
+        <!-- If XfoDotNet40Ctl61.dll is not installed in href location              -->
+        <!-- change Attribute href value of element codebase to your location       -->
+		<!-- change Attribute version of XfoDotNet40Ctl61.dll                       -->
+        <!-- ====================================================================== -->
+        <codeBase version="6.1.2013.1008" href="C:\Program Files\Antenna House\AHFormatterV61\XfoDotNet40Ctl61.dll"/>
+      </dependentAssembly>
+    </assemblyBinding>
+  </runtime>
+</configuration>
\ No newline at end of file
Binary file FOPRunXSLTExt/bin/pi.ep.xslt.ext.interfaces.dll has changed
Binary file FOPRunXSLTExt/bin/pi.ep.xslt.transformer.dll has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/FOPRunXSLTExt/examples/example1_dotnet_ahf61.bat	Tue Feb 25 09:14:48 2014 +0100
@@ -0,0 +1,3 @@
+cd "%~d0%~p0..\bin"
+"%~d0%~p0..\bin\pi.ep.ppl.xslt.ext.ahf.dotnet.transformer.exe" "%~d0%~p0example1.xml" "%~d0%~p0example1.xsl" "%~d0%~p0out\example1_dotnet_ahf.at" ppl-formatter=ahf
+pause
\ No newline at end of file
--- a/FOPRunXSLTExt/examples/ppl-extensions.xsl	Fri Feb 14 15:17:25 2014 +0000
+++ b/FOPRunXSLTExt/examples/ppl-extensions.xsl	Tue Feb 25 09:14:48 2014 +0100
@@ -20,9 +20,10 @@
     xmlns:se="http://org.w3c.ppl.xslt/saxon-extension"
     xmlns:runfop="runfop"
     xmlns:runahf="runahf"
+	xmlns:runahfdotnet="pi.ep.ppl.xslt.ext.ahf.dotnet"
     xmlns:ahf="http://www.antennahouse.com/names/XSL/AreaTree"
     xmlns:xs="http://www.w3.org/2001/XMLSchema"
-    exclude-result-prefixes="ppl se ahf xalan runahf runfop xs">
+    exclude-result-prefixes="ppl se ahf xalan runahf runfop runahfdotnet xs">
 
 <!-- ============================================================= -->
 <!-- KEYS                                                          -->
@@ -91,6 +92,16 @@
 	</xsl:otherwise>
       </xsl:choose>
     </xsl:when>
+    <xsl:when test="contains(system-property('xsl:vendor-url'), 'microsoft')">
+      <xsl:choose>
+        <xsl:when test="$ppl-formatter = 'ahf'">
+			<xsl:copy-of select="runahfdotnet:areaTree($fo-tree)" use-when="function-available('runahfdotnet:areatree')"/>
+		</xsl:when>
+		<xsl:otherwise>
+			<xsl:message>Formatter <xsl:value-of select="$ppl-formatter"/> not yet supported</xsl:message>
+		</xsl:otherwise>
+	  </xsl:choose>
+    </xsl:when>
     <xsl:when test="system-property('xsl:product-name') = 'SAXON'">
       <xsl:sequence select="se:area-tree($fo-tree)"/>
     </xsl:when>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/FOPRunXSLTExt/examples/rundotnet_ahf61.bat	Tue Feb 25 09:14:48 2014 +0100
@@ -0,0 +1,5 @@
+cd "%~d0%~p0..\bin"
+echo xmlinfile %1
+echo xslt stylesheet: %2
+echo outfile %3
+"%~d0%~p0..\bin\pi.ep.ppl.xslt.ext.ahf.dotnet.transformer.exe" %1 %2 %3 ppl-formatter=ahf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/FOPRunXSLTExt/src/org/w3c/ppl/xslt/ext/ahf/dotnet/pi.ep.ppl.xslt.ext.ahf.dotnet/Properties/AssemblyInfo.cs	Tue Feb 25 09:14:48 2014 +0100
@@ -0,0 +1,60 @@
+/*
+Program Name:                                                     
+	pi.ep.ppl.xslt.ext.ahf.dotnet.transformer
+
+Requires:
+    DotNet 4.0
+    Antenna House Formatter 6.1 MR2a
+    (How to fit dll link to another version, see app.config)
+General Description:                                              
+    DotNet XSLT-Processor Extension for Antenna House Formatter areaTree function support
+    based on the Java implementation of Print and Page Layout Community Group @ W3C
+    See http://www.w3.org/community/ppl/wiki/FOPRunXSLTExt
+License: 
+    W3C license
+Author: 
+	Markus Wiedenmaier
+    practice innovatio
+    Zum Kiesgrüble 20
+    DE-78259 Mühlhausen-Ehingen
+    mailto:info@practice-innovation.de
+    http://www.practice-innovation.de
+Versions:
+    0.1 2014-02-14 Markus Wiedenmaier
+*/
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Allgemeine Informationen über eine Assembly werden über die folgenden 
+// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
+// die mit einer Assembly verknüpft sind.
+[assembly: AssemblyTitle("pi.ep.ppl.xslt.ext.ahf.dotnet")]
+[assembly: AssemblyDescription("XSLT Extionsion for Antenna House Formatter integration")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("practice innovation, DE-78259 Mühlhausen-Ehingen")]
+[assembly: AssemblyProduct("pi.ep.ppl.xslt.ext.ahf.dotnet")]
+[assembly: AssemblyCopyright("Copyright ©  2014, practice innovation, DE-78259 Mühlhausen-Ehingen")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar 
+// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von 
+// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest.
+[assembly: ComVisible(false)]
+
+// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
+[assembly: Guid("535d6b28-7c6c-4271-9c01-6c9544b00951")]
+
+// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
+//
+//      Hauptversion
+//      Nebenversion 
+//      Buildnummer
+//      Revision
+//
+// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern 
+// übernehmen, indem Sie "*" eingeben:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("0.1.*")]
+//[assembly: AssemblyFileVersion("1.0.0.0")]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/FOPRunXSLTExt/src/org/w3c/ppl/xslt/ext/ahf/dotnet/pi.ep.ppl.xslt.ext.ahf.dotnet/RunAHF.cs	Tue Feb 25 09:14:48 2014 +0100
@@ -0,0 +1,139 @@
+/*
+Program Name:                                                     
+	pi.ep.ppl.xslt.ext.ahf.dotnet.transformer
+
+Requires:
+    DotNet 4.0
+    Antenna House Formatter 6.1 MR2a
+    (How to fit dll link to another version, see app.config)
+General Description:                                              
+    DotNet XSLT-Processor Extension for Antenna House Formatter areaTree function support
+    based on the Java implementation of Print and Page Layout Community Group @ W3C
+    See http://www.w3.org/community/ppl/wiki/FOPRunXSLTExt
+License: 
+    W3C license
+Author: 
+	Markus Wiedenmaier
+    practice innovatio
+    Zum Kiesgrüble 20
+    DE-78259 Mühlhausen-Ehingen
+    mailto:info@practice-innovation.de
+    http://www.practice-innovation.de
+Versions:
+    0.1 2014-02-14 Markus Wiedenmaier
+*/
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Xml.XPath;
+using System.Xml.Linq;
+using XfoDotNetCtl;
+using System.Xml;
+using System.IO;
+using pi.ep.xslt.ext.interfaces;
+
+namespace pi.ep.ppl.xslt.ext.ahf.dotnet
+{
+    /// <summary>
+    /// Implementation of Antenna House Formatter XSLT Extensions
+    /// </summary>
+    public class RunAHF : IXsltExtensionObject
+    {
+        /// <summary>
+        /// Get the Area Tree from Antenna House Formatter
+        /// </summary>
+        /// <param name="nav">XSL:FO tree</param>
+        /// <returns></returns>
+        public XPathNavigator areaTree(XPathNavigator nav)
+        {
+            XPathDocument doc = GetAreaTrea(nav, string.Empty);
+            return doc.CreateNavigator();
+        }
+        /// <summary>
+        /// Get the Area Tree from Antenna House Formatter
+        /// </summary>
+        /// <param name="nav">XSL:FO tree</param>
+        /// <param name="optionFileName">Option file name: Setting file for Antenna House Formatter rendering</param>
+        /// <returns></returns>
+        public XPathNavigator areaTree(XPathNavigator nav, string optionFileName)
+        {
+            XPathDocument doc = GetAreaTrea(nav, optionFileName);
+            return doc.CreateNavigator();
+        }
+        /// <summary>
+        /// Get the Area Tree from Antenna House Formatter
+        /// </summary>
+        /// <param name="nav">XSL:FO tree</param>
+        /// <param name="optionFileName">Option file name: Setting file for Antenna House Formatter rendering</param>
+        /// <returns></returns>
+        protected XPathDocument GetAreaTrea(XPathNavigator nav, string optionFileName)
+        {
+            XfoObj processor = null;
+            try
+            {
+                processor = new XfoObj();
+                processor.OnFormatPage += new XfoObj.FormatPageEventHandler(OnFormatPage); //returns GCHandle Exception, if loaded in AppDomain
+                processor.OnRenderPage += new XfoObj.RenderPageEventHandler(OnRenderPage);
+                if (optionFileName != string.Empty)
+                    processor.OptionFileURI = optionFileName;
+                XmlDocument doc = new XmlDocument();
+                doc.LoadXml(nav.OuterXml);
+                processor.XmlDomDocument = doc;
+                processor.ExitLevel = 4;
+                processor.PrinterName = "@AreaTree";
+                using (MemoryStream outStream = new MemoryStream())
+                {
+                    processor.Render(doc, outStream, "@AreaTree");
+                    outStream.Position = 0;
+                    return new XPathDocument(outStream);
+                }
+            }
+            catch (XfoException e)
+            {
+                Console.WriteLine(e.Message);
+            }
+            catch (Exception e)
+            {
+                Console.WriteLine(e.Message);
+                throw e;
+            }
+            return null;
+        }
+        #region IXsltExtensionObject implementation
+        /// <summary>
+        /// returns namespace used for running this extension object
+        /// </summary>
+        public string NamespaceURI
+        {
+            get
+            {
+                return "pi.ep.ppl.xslt.ext.ahf.dotnet";
+            }
+        }
+        #endregion
+        /// <summary>
+        /// Eventhandler for Antenna House Formatter event OnRenderPage
+        /// </summary>
+        /// <param name="pageNumber"></param>
+        /// <param name="pageEmf"></param>
+        /// <param name="pageWidth"></param>
+        /// <param name="pageHeight"></param>
+        /// <returns></returns>
+        protected int OnRenderPage(int pageNumber, MemoryStream pageEmf, float pageWidth, float pageHeight)
+        {
+            string message = string.Format("AHF: rendering page {0}: width:{1} height: {2}", pageNumber, pageHeight, pageWidth);
+            Console.WriteLine(message);
+            return pageNumber;
+        }
+        /// <summary>
+        /// Eventhandler for Antenna House Formatter event OnFormatPage
+        /// </summary>
+        protected virtual int OnFormatPage(int pageNumber)
+        {
+            string message = string.Format("AHF: formatting page {0}", pageNumber);
+            Console.WriteLine(message);
+            return pageNumber;
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/FOPRunXSLTExt/src/org/w3c/ppl/xslt/ext/ahf/dotnet/pi.ep.ppl.xslt.ext.ahf.dotnet/pi.ep.ppl.xslt.ext.ahf.dotnet.csproj	Tue Feb 25 09:14:48 2014 +0100
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{6B6F793A-05D4-4167-B6ED-AAF5D59E22FD}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>pi.ep.ppl.xslt.ext.ahf.dotnet</RootNamespace>
+    <AssemblyName>pi.ep.ppl.xslt.ext.ahf.dotnet</AssemblyName>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+    <Reference Include="XfoDotNet40Ctl61">
+      <HintPath>C:\Program Files\Antenna House\AHFormatterV61\XfoDotNet40Ctl61.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="RunAHF.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\pi.ep.xslt.ext.interfaces\pi.ep.xslt.ext.interfaces.csproj">
+      <Project>{7F7A7292-874A-46D2-8866-788976F0A4B6}</Project>
+      <Name>pi.ep.xslt.ext.interfaces</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/FOPRunXSLTExt/src/org/w3c/ppl/xslt/ext/ahf/dotnet/pi.ep.ppl.xslt.sln	Tue Feb 25 09:14:48 2014 +0100
@@ -0,0 +1,26 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pi.ep.ppl.xslt.ext.ahf.dotnet", "pi.ep.ppl.xslt.ext.ahf.dotnet\pi.ep.ppl.xslt.ext.ahf.dotnet.csproj", "{6B6F793A-05D4-4167-B6ED-AAF5D59E22FD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pi.ep.xslt.ext.interfaces", "pi.ep.xslt.ext.interfaces\pi.ep.xslt.ext.interfaces.csproj", "{7F7A7292-874A-46D2-8866-788976F0A4B6}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{6B6F793A-05D4-4167-B6ED-AAF5D59E22FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{6B6F793A-05D4-4167-B6ED-AAF5D59E22FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{6B6F793A-05D4-4167-B6ED-AAF5D59E22FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{6B6F793A-05D4-4167-B6ED-AAF5D59E22FD}.Release|Any CPU.Build.0 = Release|Any CPU
+		{7F7A7292-874A-46D2-8866-788976F0A4B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{7F7A7292-874A-46D2-8866-788976F0A4B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{7F7A7292-874A-46D2-8866-788976F0A4B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{7F7A7292-874A-46D2-8866-788976F0A4B6}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/FOPRunXSLTExt/src/org/w3c/ppl/xslt/ext/ahf/dotnet/pi.ep.xslt.ext.interfaces/IXsltExtensionObject.cs	Tue Feb 25 09:14:48 2014 +0100
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace pi.ep.xslt.ext.interfaces
+{
+    public interface IXsltExtensionObject
+    {
+        string NamespaceURI { get; }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/FOPRunXSLTExt/src/org/w3c/ppl/xslt/ext/ahf/dotnet/pi.ep.xslt.ext.interfaces/Properties/AssemblyInfo.cs	Tue Feb 25 09:14:48 2014 +0100
@@ -0,0 +1,56 @@
+/*
+Program Name:                                                     
+	pi.ep.xslt.ext.interfaces
+
+Requires:
+    DotNet 4.0
+General Description:                                              
+    DotNet XSLT-Processor Extension Interfaces
+License: 
+    W3C license
+Author: 
+	Markus Wiedenmaier
+    practice innovatio
+    Zum Kiesgrüble 20
+    DE-78259 Mühlhausen-Ehingen
+    mailto:info@practice-innovation.de
+    http://www.practice-innovation.de
+Versions:
+    0.1 2014-02-14 Markus Wiedenmaier
+*/
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Allgemeine Informationen über eine Assembly werden über die folgenden 
+// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
+// die mit einer Assembly verknüpft sind.
+[assembly: AssemblyTitle("pi.ep.xslt.ext.interfaces")]
+[assembly: AssemblyDescription("Interfaces for XSLT extension objects (IXsltExtensionObject)")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("practice innovation, DE-78259 Mühlhausen-Ehingen")]
+[assembly: AssemblyProduct("pi.ep.xslt.ext.interfaces")]
+[assembly: AssemblyCopyright("Copyright ©  2014 practice innovation, DE-78259 Mühlhausen-Ehingen")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar 
+// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von 
+// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest.
+[assembly: ComVisible(false)]
+
+// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
+[assembly: Guid("d0c98feb-3e29-44c0-8f57-c7536ad51eb8")]
+
+// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
+//
+//      Hauptversion
+//      Nebenversion 
+//      Buildnummer
+//      Revision
+//
+// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern 
+// übernehmen, indem Sie "*" eingeben:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("0.1.*")]
+//[assembly: AssemblyFileVersion("1.0.0.0")]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/FOPRunXSLTExt/src/org/w3c/ppl/xslt/ext/ahf/dotnet/pi.ep.xslt.ext.interfaces/pi.ep.xslt.ext.interfaces.csproj	Tue Feb 25 09:14:48 2014 +0100
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{7F7A7292-874A-46D2-8866-788976F0A4B6}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>pi.ep.xslt.ext.interfaces</RootNamespace>
+    <AssemblyName>pi.ep.xslt.ext.interfaces</AssemblyName>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="IXsltExtensionObject.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file