You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sh...@apache.org on 2012/07/15 10:11:53 UTC
svn commit: r1361650 [1/2] - in /xalan/c/branches/GSoC-2012/GSoC-Code: ./
XalanDatesAndTimes v0.2/ XalanDatesAndTimes v0.2/Projects/
XalanDatesAndTimes v0.2/Projects/VC10/ XalanDatesAndTimes
v0.2/Projects/VC10/DateTimeLib/ XalanDatesAndTimes v0.2/Proje...
Author: shathaway
Date: Sun Jul 15 08:11:51 2012
New Revision: 1361650
URL: http://svn.apache.org/viewvc?rev=1361650&view=rev
Log:
EXSLT code committed to xalan-c-branches-GSoC-2012, contains .NET 2003 and .NET 2010 builds
Added:
xalan/c/branches/GSoC-2012/GSoC-Code/
xalan/c/branches/GSoC-2012/GSoC-Code/GSoC-ReadMe.txt
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/MakeDateTime.bat
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/DateTimeLib/
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/DateTimeLib/DateTimeLib.vcxproj
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/DateTimeLib/DateTimeLib.vcxproj.filters
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/GSOC-2.sln
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/TestDateTime/
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/TestDateTime/TestDateTime.vcxproj
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/TestDateTime/TestDateTime.vcxproj.filters
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC7.1/
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC7.1/DateTimeLib/
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC7.1/DateTimeLib/DateTimeLib.vcproj
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC7.1/GSOC-2.sln
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC7.1/TestDateTime/
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC7.1/TestDateTime/TestDateTime.vcproj
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC8/
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC9/
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/TestDateTime.cpp
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/Tester.cpp
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanCalendar.hpp
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDateTime.cpp
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDateTime.hpp
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDateTimeDefinitons.hpp
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDatesAndTimes.cpp
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDatesAndTimes.hpp
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDuration.cpp
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDuration.hpp
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/list.diff
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/bin/
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/lib/
xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/lib/DateTimeLibD.lib (with props)
xalan/c/branches/GSoC-2012/GSoC-Code/exclude-src.txt
xalan/c/branches/GSoC-2012/GSoC-Code/vs71env.bat
xalan/c/branches/GSoC-2012/GSoC-Code/xalan-build-11-31-VC100.bat
xalan/c/branches/GSoC-2012/GSoC-Code/xalan-build-11-31-VC71.bat
xalan/c/branches/GSoC-2012/GSoC-Code/xalan-build-11-31-X64-VC100.bat
xalan/c/branches/GSoC-2012/GSoC-Code/xalan-inst-11-31-VC100.bat
xalan/c/branches/GSoC-2012/GSoC-Code/xalan-inst-11-31-VC71.bat
xalan/c/branches/GSoC-2012/GSoC-Code/xalan-inst-11-31-X64-VC100.bat
xalan/c/branches/GSoC-2012/GSoC-Code/xerces-build-31-VC100.bat
xalan/c/branches/GSoC-2012/GSoC-Code/xerces-build-31-VC71.bat
xalan/c/branches/GSoC-2012/GSoC-Code/xerces-build-31-X64-VC100.bat
xalan/c/branches/GSoC-2012/GSoC-Code/xerces-inst-31-VC100.bat
xalan/c/branches/GSoC-2012/GSoC-Code/xerces-inst-31-VC71.bat
xalan/c/branches/GSoC-2012/GSoC-Code/xerces-inst-31-X64-VC100.bat
Added: xalan/c/branches/GSoC-2012/GSoC-Code/GSoC-ReadMe.txt
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/GSoC-ReadMe.txt?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/GSoC-ReadMe.txt (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/GSoC-ReadMe.txt Sun Jul 15 08:11:51 2012
@@ -0,0 +1,54 @@
+
+The Directory Path structure on Windows Platform - My Virtual Machines
+
+C:\Apache
+C:\Apache\GSoC-2012
+C:\Apache\GSoC-2012\xerces-src-31
+ projects
+ src\xercesc
+C:\Apache\GSoC-2012\xalan-src-11\c
+ Projects
+ src\xalanc
+C:\Apache\GSoC-2012\XalanDatesAndTimes v0.2
+ bin
+ lib
+ Projects\VC7.1
+ DateTimeLib
+ TestDateTime
+ Projects\VC10
+ DateTimeLib
+ TestDateTime
+
+SCRIPTS IN C:\Apache\GSoC-2012
+
+Scripts are here to build the Apache XALANC and XERCESC sources using
+MS Studio .NET 2003 and 2010.
+
+Order of Apache Software Builds
+
+ xerces-build ...
+
+ xerces-inst ...
+
+ xalan-build ...
+
+ xalan-inst ...
+
+The packages are
+
+ XERCESCPKG-31-arch-compiler
+
+ XALANCPKG-11-31-arch-compiler
+
+
+SCRIPTS IN C:\Apache\GSOC\2012\XalanDatesAndTimes V0.1\Projects
+
+ MakeDateTime-VC7.bat Launches VS 2003 to build the 32-bit arch library
+
+ MakeDateTime-VC100.bat Launches VS 2010 to build the 32-bit arch library
+
+
+Sincerely,
+Steven J. Hathaway
+Xalan Documentation Project
+<sh...@apache.org>
Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/MakeDateTime.bat
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Projects/MakeDateTime.bat?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/MakeDateTime.bat (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/MakeDateTime.bat Sun Jul 15 08:11:51 2012
@@ -0,0 +1,21 @@
+
+SET ROOTDEV=C:
+SET ROOTDIR=\Apache\GSoC-2012
+
+SET XERCESCROOT=%ROOTDEV%%ROOTDIR%\XERCESCPKG-31-VC100
+
+SET XALANCROOT=%ROOTDEV%%ROOTDIR%\XALANCPKG-11-31-VC100
+
+SET XERCESCSRC=%ROOTDEV%ROOTDIR%\xerces-src-31\src
+
+SET XALANCSRC=%ROOTDEV%%ROOTDIR%\xalan-src-11\c\src
+
+SET INCLUDE=%INCLUDE%;%XERCESCROOT%\include;%XALANCROOT%\include
+SET LIB=%LIB%;%XERCESCROOT%\lib;%XALANCROOT%\lib;$(SolutionDir)..\..\lib
+SET PATH=%PATH%;%XERCESCROOT%\bin;%XALANCROOT%\bin;$(SolutionDir)..\..\bin
+
+CALL "%VS100COMNTOOLS%\vsvars32.bat"
+
+devenv -useenv VC10\GSOC-2.sln
+
+
Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/DateTimeLib/DateTimeLib.vcxproj
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Projects/VC10/DateTimeLib/DateTimeLib.vcxproj?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/DateTimeLib/DateTimeLib.vcxproj (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/DateTimeLib/DateTimeLib.vcxproj Sun Jul 15 08:11:51 2012
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{A40D54D7-2E85-4E56-BC7E-B672FEAB24B6}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\..\lib\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ <DisableSpecificWarnings>4996</DisableSpecificWarnings>
+ </ClCompile>
+ <Lib>
+ <OutputFile>$(OutDir)DateTimeLibD.lib</OutputFile>
+ </Lib>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <DisableSpecificWarnings>4996</DisableSpecificWarnings>
+ </ClCompile>
+ <Lib>
+ <OutputFile>$(OutDir)DateTimeLib.lib</OutputFile>
+ </Lib>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\Sources\XalanDatesAndTimes.cpp" />
+ <ClCompile Include="..\..\..\Sources\XalanDateTime.cpp" />
+ <ClCompile Include="..\..\..\Sources\XalanDuration.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\..\Sources\XalanCalendar.hpp" />
+ <ClInclude Include="..\..\..\Sources\XalanDatesAndTimes.hpp" />
+ <ClInclude Include="..\..\..\Sources\XalanDateTime.hpp" />
+ <ClInclude Include="..\..\..\Sources\XalanDateTimeDefinitons.hpp" />
+ <ClInclude Include="..\..\..\Sources\XalanDuration.hpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/DateTimeLib/DateTimeLib.vcxproj.filters
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Projects/VC10/DateTimeLib/DateTimeLib.vcxproj.filters?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/DateTimeLib/DateTimeLib.vcxproj.filters (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/DateTimeLib/DateTimeLib.vcxproj.filters Sun Jul 15 08:11:51 2012
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\Sources\XalanDatesAndTimes.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\Sources\XalanDateTime.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\Sources\XalanDuration.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\..\Sources\XalanCalendar.hpp">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\Sources\XalanDatesAndTimes.hpp">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\Sources\XalanDateTime.hpp">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\Sources\XalanDateTimeDefinitons.hpp">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\Sources\XalanDuration.hpp">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+</Project>
\ No newline at end of file
Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/GSOC-2.sln
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Projects/VC10/GSOC-2.sln?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/GSOC-2.sln (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/GSOC-2.sln Sun Jul 15 08:11:51 2012
@@ -0,0 +1,25 @@
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DateTimeLib", "DateTimeLib\DateTimeLib.vcxproj", "{A40D54D7-2E85-4E56-BC7E-B672FEAB24B6}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestDateTime", "TestDateTime\TestDateTime.vcxproj", "{C3FE428D-14A7-47EE-AB3E-F6ABBF521963}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {A40D54D7-2E85-4E56-BC7E-B672FEAB24B6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A40D54D7-2E85-4E56-BC7E-B672FEAB24B6}.Debug|Win32.Build.0 = Debug|Win32
+ {A40D54D7-2E85-4E56-BC7E-B672FEAB24B6}.Release|Win32.ActiveCfg = Release|Win32
+ {A40D54D7-2E85-4E56-BC7E-B672FEAB24B6}.Release|Win32.Build.0 = Release|Win32
+ {C3FE428D-14A7-47EE-AB3E-F6ABBF521963}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C3FE428D-14A7-47EE-AB3E-F6ABBF521963}.Debug|Win32.Build.0 = Debug|Win32
+ {C3FE428D-14A7-47EE-AB3E-F6ABBF521963}.Release|Win32.ActiveCfg = Release|Win32
+ {C3FE428D-14A7-47EE-AB3E-F6ABBF521963}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/TestDateTime/TestDateTime.vcxproj
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Projects/VC10/TestDateTime/TestDateTime.vcxproj?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/TestDateTime/TestDateTime.vcxproj (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/TestDateTime/TestDateTime.vcxproj Sun Jul 15 08:11:51 2012
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{C3FE428D-14A7-47EE-AB3E-F6ABBF521963}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ <DisableSpecificWarnings>4996</DisableSpecificWarnings>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(OutDir)TestDateTime.exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(OutDir)TestDateTime.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <DisableSpecificWarnings>4996</DisableSpecificWarnings>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(OutDir)TestDateTime.exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\Sources\TestDateTime.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\DateTimeLib\DateTimeLib.vcxproj">
+ <Project>{a40d54d7-2e85-4e56-bc7e-b672feab24b6}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/TestDateTime/TestDateTime.vcxproj.filters
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Projects/VC10/TestDateTime/TestDateTime.vcxproj.filters?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/TestDateTime/TestDateTime.vcxproj.filters (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC10/TestDateTime/TestDateTime.vcxproj.filters Sun Jul 15 08:11:51 2012
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\Sources\TestDateTime.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
\ No newline at end of file
Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC7.1/DateTimeLib/DateTimeLib.vcproj
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Projects/VC7.1/DateTimeLib/DateTimeLib.vcproj?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC7.1/DateTimeLib/DateTimeLib.vcproj (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC7.1/DateTimeLib/DateTimeLib.vcproj Sun Jul 15 08:11:51 2012
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="DateTimeLib"
+ ProjectGUID="{A40D54D7-2E85-4E56-BC7E-B672FEAB24B6}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)..\..\lib"
+ IntermediateDirectory="Debug"
+ ConfigurationType="4"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="4"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)/DateTimeLibD.lib"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="4"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ RuntimeLibrary="4"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)/DateTimeLib.lib"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath="..\..\..\Sources\XalanDatesAndTimes.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\Sources\XalanDateTime.cpp">
+ </File>
+ <File
+ RelativePath="..\..\..\Sources\XalanDuration.cpp">
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ <File
+ RelativePath="..\..\..\Sources\XalanCalendar.hpp">
+ </File>
+ <File
+ RelativePath="..\..\..\Sources\XalanDatesAndTimes.hpp">
+ </File>
+ <File
+ RelativePath="..\..\..\Sources\XalanDateTime.hpp">
+ </File>
+ <File
+ RelativePath="..\..\..\Sources\XalanDateTimeDefinitons.hpp">
+ </File>
+ <File
+ RelativePath="..\..\..\Sources\XalanDuration.hpp">
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC7.1/GSOC-2.sln
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Projects/VC7.1/GSOC-2.sln?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC7.1/GSOC-2.sln (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC7.1/GSOC-2.sln Sun Jul 15 08:11:51 2012
@@ -0,0 +1,30 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DateTimeLib", "DateTimeLib\DateTimeLib.vcproj", "{A40D54D7-2E85-4E56-BC7E-B672FEAB24B6}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestDateTime", "TestDateTime\TestDateTime.vcproj", "{C3FE428D-14A7-47EE-AB3E-F6ABBF521963}"
+ ProjectSection(ProjectDependencies) = postProject
+ {A40D54D7-2E85-4E56-BC7E-B672FEAB24B6} = {A40D54D7-2E85-4E56-BC7E-B672FEAB24B6}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {A40D54D7-2E85-4E56-BC7E-B672FEAB24B6}.Debug.ActiveCfg = Debug|Win32
+ {A40D54D7-2E85-4E56-BC7E-B672FEAB24B6}.Debug.Build.0 = Debug|Win32
+ {A40D54D7-2E85-4E56-BC7E-B672FEAB24B6}.Release.ActiveCfg = Release|Win32
+ {A40D54D7-2E85-4E56-BC7E-B672FEAB24B6}.Release.Build.0 = Release|Win32
+ {C3FE428D-14A7-47EE-AB3E-F6ABBF521963}.Debug.ActiveCfg = Debug|Win32
+ {C3FE428D-14A7-47EE-AB3E-F6ABBF521963}.Debug.Build.0 = Debug|Win32
+ {C3FE428D-14A7-47EE-AB3E-F6ABBF521963}.Release.ActiveCfg = Release|Win32
+ {C3FE428D-14A7-47EE-AB3E-F6ABBF521963}.Release.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC7.1/TestDateTime/TestDateTime.vcproj
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Projects/VC7.1/TestDateTime/TestDateTime.vcproj?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC7.1/TestDateTime/TestDateTime.vcproj (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Projects/VC7.1/TestDateTime/TestDateTime.vcproj Sun Jul 15 08:11:51 2012
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="TestDateTime"
+ ProjectGUID="{C3FE428D-14A7-47EE-AB3E-F6ABBF521963}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="4"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/TestDateTime.exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile="$(OutDir)/TestDateTime.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="4"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/TestDateTime.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="TRUE"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath="..\..\..\Sources\TestDateTime.cpp">
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/TestDateTime.cpp
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Sources/TestDateTime.cpp?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/TestDateTime.cpp (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/TestDateTime.cpp Sun Jul 15 08:11:51 2012
@@ -0,0 +1,370 @@
+//File: TestDateTime.cpp
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "XalanDateTime.hpp"
+
+#include <iostream>
+#include <fstream>
+using namespace std;
+
+
+void CPPUNIT_FAIL(const char * erstring)
+{
+ cerr << erstring << endl;
+}
+
+void NOTIFY_TRAP(const char * errstring, const char * ValueString)
+{
+ cerr << errstring << " " << ValueString << endl;
+}
+
+XALAN_CPP_NAMESPACE_USE
+
+void dateTimeFromStringTest()
+{
+ char * invalidRepresentations[] =
+ {
+ // Empty string
+ "",
+
+ // Strings completely out of format.
+ "GSoC 2012",
+ "This function is well tested.",
+
+ // Representations where the fields are not numbers
+ "yyyy",
+ "yyyy-mm",
+ "yyyy-mm-dd",
+ "yyyy-mm-ddThh:mm:ss.sss",
+
+ // Fields with wrong sizes
+ "-1",
+ "0001-2",
+ "-0001-002",
+ "-0001-02-1",
+ "0001-02-001",
+ "-0001-02-01T1:1:1",
+ "-0001-02-01T001:001:001",
+ "0001-02-01T10:1:1",
+ "-0001-02-01T10:001:001",
+ "-0001-02-01T10:10:1",
+ "0001-02-01T10:10:001",
+
+ // Values exceeding the upper bounds
+ "2012-13",
+ "-2012-12-32",
+ "2012-12-32T24:00:00",
+ "2012-12-32T23:99:00",
+ "-2012-12-32T23:59:60",
+
+ // Wrong Separators
+ "-2012*12*12",
+ "2012-12-12P12:12:12",
+ "-2012-12-12T12-12-12",
+
+ // Wrong floating-point representation of seconds
+ "0001-12-01T12:32:2.123",
+ "0001-12-01T12:32:2.",
+
+ // Days that do not exist
+ "1970-02-29",
+ "1970-04-31",
+ "1970-06-31",
+ "1970-09-31",
+ "1970-11-31",
+ "-0002-02-29",
+ "-0002-04-31",
+ "-0002-06-31",
+ "-0002-09-31",
+ "-0002-11-31",
+
+ // Year, month and day fields with zero value
+ "0000",
+ "0001-00",
+ "0001-01-00",
+
+ // Incomplete time representation
+ "-1234-12-12T14",
+ "-1234-12-12T14:10",
+
+ // Floating-point in integers fields
+ "0001.5",
+ "2000-11.2",
+ "2000-11-10.7",
+ "2000-11-10T12.2:12:12",
+ "2000-11-10T12:1.2:12",
+
+ // Representation does not ends with '\0'
+ "2000'GSoC - Google Summer of Code'",
+ "2000-01-01Z'GSoC - Google Summer of Code'",
+
+ // Date/time separator missing
+ "2000-11-1012:12:12",
+
+ // Timezone: Strings completely out of format.
+ "-1234-12-12T14:10:10GSoC 2012",
+
+ // Timezone: Representations where the fields are not numbers
+ "2012-09-08T12:00:00+hh:ss",
+
+ // Timezone: Fields with wrong sizes
+ "2012-09-08T12:00:00+1:20",
+ "2012-09-08T12:00:00-10:1",
+
+ // Timezone: Values exceeding the upper bounds
+ "-0001-01-01T01:01:01+15:00",
+ "-0001-01-01T01:01:01-13:60",
+
+ // Timezone: Wrong Separator
+ "0001-01-01T01:01:01+10-00",
+
+ // Timezone: UTC wrong representation
+ "0001-01-01T01:01:01z",
+
+ // When timezone has hours 14, minutes must be 0
+ "0001-01-01T01:01:01+14:01",
+ "0001-01-01T01:01:01-14:01",
+
+ // Timezone: incomplete representation
+ "2000+14",
+ "2000-12-12T00:00:00-14",
+
+ // Timezone: floating-point representing hours and minutes
+ "-1234+12.2:32",
+ "-0003+12:32.5"
+ };
+
+ for (int iErr = 0; iErr < sizeof(invalidRepresentations)/sizeof(*invalidRepresentations); iErr++)
+ {
+ try
+ {
+ XalanDateTime::fromString(invalidRepresentations[iErr]);
+
+ CPPUNIT_FAIL("An Exception was expected!");
+ }
+ catch (InvalidFormat& iFormat)
+ {
+ NOTIFY_TRAP("InvalidFormat DateTime Exception", invalidRepresentations[iErr]);
+ }
+ }
+
+ char * validRepresentations[] =
+ {
+ // xs:gYear representation
+ "0001",
+ "0001Z",
+ "0001+14:00",
+ "0001-14:00",
+ "-0001",
+ "-0001Z",
+ "-0001+14:00",
+ "-0001-14:00",
+
+ // xs:gYearMonth representation
+ "0001-12",
+ "0001-12Z",
+ "0001-12+14:00",
+ "0001-12-14:00",
+ "-0001-12",
+ "-0001-12Z",
+ "-0001-12+14:00",
+ "-0001-12-14:00",
+
+ // xs:date representation
+ "0001-12-31",
+ "0001-12-31Z",
+ "0001-12-31+14:00",
+ "0001-12-31-14:00",
+ "-0001-12-31",
+ "-0001-12-31Z",
+ "-0001-12-31+14:00",
+ "-0001-12-31-14:00",
+
+ // xs:dateTime representation
+ "0001-12-31T00:00:00.1",
+ "0001-12-31T00:00:00.1Z",
+ "0001-12-31T00:00:00.1+14:00",
+ "0001-12-31T00:00:00.1-14:00",
+ "-0001-12-31T00:00:00.1",
+ "-0001-12-31T00:00:00.1Z",
+ "-0001-12-31T00:00:00.1+14:00",
+ "-0001-12-31T00:00:00.1-14:00"
+ };
+
+ for (int iErr = 0; iErr < sizeof(validRepresentations)/sizeof(*validRepresentations); iErr++)
+ {
+ try
+ {
+ XalanDateTime::fromString(validRepresentations[iErr]);
+ }
+ catch (InvalidFormat& iFormat)
+ {
+ CPPUNIT_FAIL("An Exception was unexpected!");
+ }
+ }
+}
+
+void durationFromStringTest()
+{
+ char * invalidRepresentations[] =
+ {
+ // Empty string
+ "",
+
+ // Strings completely out of format.
+ "GSoC 2012",
+ "This function is well tested.",
+
+ // Representations where the fields are not numbers
+ "PnY",
+ "PnM",
+ "-PnD",
+ "PTnH",
+ "PTnM",
+ "-PTnS",
+ "PnYnMnDTnHnMnS",
+
+ // Wrong Date/time separator or inexistent
+ "PnYnMnDnHnMnS",
+ "-PnYnMnDtnHnMnS",
+
+ // Wrong floating-point representation of seconds
+ "-P2YT2.S",
+ "PT673M.212S",
+
+ // Seconds' field identifier not present
+ "PT1M3",
+ "-P312Y93MT33M13.3",
+
+ // All fields with zero value
+ "P",
+ "PT",
+
+ // Floating-point in integers fields
+ "P1.2Y",
+ "P3.5M",
+ "P17.9D",
+ "PT23.1H",
+ "PT12.31M",
+
+ // Representation does not ends with '\0'
+ "P2000Y'GSoC - Google Summer of Code'",
+ "P1Y1M1DT1H1M1.1S'GSoC - Google Summer of Code'",
+
+ // Date/time separator missing
+ "P1D3H",
+ "P124Y187M541D781H31M13S",
+
+ "-P10Y112M13DT12H13M11",
+ };
+
+ for (int iErr = 0; iErr < sizeof(invalidRepresentations)/sizeof(*invalidRepresentations); iErr++)
+ {
+ try
+ {
+ XalanDuration::fromString(invalidRepresentations[iErr]);
+
+ CPPUNIT_FAIL("An Exception was expected!");
+ }
+ catch (InvalidFormat& iFormat)
+ {
+ NOTIFY_TRAP("InvalidFormat Duration Exception", invalidRepresentations[iErr]);
+ }
+ }
+
+ char * validRepresentations[] =
+ {
+ // Duration of Year
+ "P1Y",
+ "-P1Y",
+ "P2012Y",
+ "-P2012Y",
+
+ // Duration of Month
+ "P1M",
+ "-P1M",
+ "P13M",
+ "-P13M",
+
+ // Duration of Day
+ "P31D",
+ "-P31D",
+ "P365D",
+ "-P365D",
+
+ // Duration of Hours
+ "PT24H",
+ "-PT24H",
+ "PT480H",
+ "-PT480H",
+
+ // Duration of Minutes
+ "PT59M",
+ "-PT59M",
+ "PT1440M",
+ "-PT1440M",
+
+ // Duration of Seconds
+ "PT1S",
+ "-PT1S",
+ "PT86400S",
+ "-PT86400S",
+
+ // Mixed Durations
+ "P1Y9M",
+ "P1Y90D",
+ "P1YT4H",
+ "P1YT40M",
+ "P1YT80S",
+ "P83M43D",
+ "P83MT41H",
+ "P83MT12M",
+ "P83MT12.346S",
+ "P46DT32H",
+ "P46DT64M",
+ "P46DT32.765S",
+ "PT534H123M",
+ "PT534H1.3S",
+ "PT512M0.321S",
+ "P5MT5M0.5S"
+ };
+
+ for (int iErr = 0; iErr < sizeof(validRepresentations)/sizeof(*validRepresentations); iErr++)
+ {
+ try
+ {
+ XalanDuration::fromString(validRepresentations[iErr]);
+ }
+ catch (InvalidFormat& iFormat)
+ {
+ CPPUNIT_FAIL("An Exception was unexpected!");
+ }
+ }
+}
+
+int main(int argc, char *argv[])
+{
+ int i = 0;
+ dateTimeFromStringTest();
+
+ durationFromStringTest();
+
+ return 0;
+}
Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/Tester.cpp
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Sources/Tester.cpp?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/Tester.cpp (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/Tester.cpp Sun Jul 15 08:11:51 2012
@@ -0,0 +1,326 @@
+
+
+//#include <xalanc/Include/PlatformDefinitions.hpp>
+
+#include "XalanDateTime.hpp"
+
+
+void dateTimeFromStringTest()
+{
+ char * invalidRepresentations[] =
+ {
+ // Empty string
+ "",
+
+ // Strings completely out of format.
+ "GSoC 2012",
+ "This function is well tested.",
+
+ // Representations where the fields are not numbers
+ "yyyy",
+ "yyyy-mm",
+ "yyyy-mm-dd",
+ "yyyy-mm-ddThh:mm:ss.sss",
+
+ // Fields with wrong sizes
+ "-1",
+ "0001-2",
+ "-0001-002",
+ "-0001-02-1",
+ "0001-02-001",
+ "-0001-02-01T1:1:1",
+ "-0001-02-01T001:001:001",
+ "0001-02-01T10:1:1",
+ "-0001-02-01T10:001:001",
+ "-0001-02-01T10:10:1",
+ "0001-02-01T10:10:001",
+
+ // Values exceeding the upper bounds
+ "2012-13",
+ "-2012-12-32",
+ "2012-12-32T24:00:00",
+ "2012-12-32T23:99:00",
+ "-2012-12-32T23:59:60",
+
+ // Wrong Separators
+ "-2012*12*12",
+ "2012-12-12P12:12:12",
+ "-2012-12-12T12-12-12",
+
+ // Wrong floating-point representation of seconds
+ "0001-12-01T12:32:2.123",
+ "0001-12-01T12:32:2.",
+
+ // Days that do not exist
+ "1970-02-29",
+ "1970-04-31",
+ "1970-06-31",
+ "1970-09-31",
+ "1970-11-31",
+ "-0002-02-29",
+ "-0002-04-31",
+ "-0002-06-31",
+ "-0002-09-31",
+ "-0002-11-31",
+
+ // Year, month and day fields with zero value
+ "0000",
+ "0001-00",
+ "0001-01-00",
+
+ // Incomplete time representation
+ "-1234-12-12T14",
+ "-1234-12-12T14:10",
+
+ // Floating-point in integers fields
+ "0001.5",
+ "2000-11.2",
+ "2000-11-10.7",
+ "2000-11-10T12.2:12:12",
+ "2000-11-10T12:1.2:12",
+
+ // Representation does not ends with '\0'
+ "2000'GSoC - Google Summer of Code'",
+ "2000-01-01Z'GSoC - Google Summer of Code'",
+
+ // Date/time separator missing
+ "2000-11-1012:12:12",
+
+ // Timezone: Strings completely out of format.
+ "-1234-12-12T14:10:10GSoC 2012",
+
+ // Timezone: Representations where the fields are not numbers
+ "2012-09-08T12:00:00+hh:ss",
+
+ // Timezone: Fields with wrong sizes
+ "2012-09-08T12:00:00+1:20",
+ "2012-09-08T12:00:00-10:1",
+
+ // Timezone: Values exceeding the upper bounds
+ "-0001-01-01T01:01:01+15:00",
+ "-0001-01-01T01:01:01-13:60",
+
+ // Timezone: Wrong Separator
+ "0001-01-01T01:01:01+10-00",
+
+ // Timezone: UTC wrong representation
+ "0001-01-01T01:01:01z",
+
+ // When timezone has hours 14, minutes must be 0
+ "0001-01-01T01:01:01+14:01",
+ "0001-01-01T01:01:01-14:01",
+
+ // Timezone: incomplete representation
+ "2000+14",
+ "2000-12-12T00:00:00-14",
+
+ // Timezone: floating-point representing hours and minutes
+ "-1234+12.2:32",
+ "-0003+12:32.5"
+ };
+
+ for (int iErr = 0; iErr < sizeof(invalidRepresentations)/sizeof(*invalidRepresentations); iErr++)
+ {
+ try
+ {
+ XalanDateTime::fromString(invalidRepresentations[iErr]);
+
+ CPPUNIT_FAIL("An Exception was expected!");
+ }
+ catch (InvalidFormat& iFormat)
+ {
+ }
+ }
+
+ char * validRepresentations[] =
+ {
+ // xs:gYear representation
+ "0001",
+ "0001Z",
+ "0001+14:00",
+ "0001-14:00",
+ "-0001",
+ "-0001Z",
+ "-0001+14:00",
+ "-0001-14:00",
+
+ // xs:gYearMonth representation
+ "0001-12",
+ "0001-12Z",
+ "0001-12+14:00",
+ "0001-12-14:00",
+ "-0001-12",
+ "-0001-12Z",
+ "-0001-12+14:00",
+ "-0001-12-14:00",
+
+ // xs:date representation
+ "0001-12-31",
+ "0001-12-31Z",
+ "0001-12-31+14:00",
+ "0001-12-31-14:00",
+ "-0001-12-31",
+ "-0001-12-31Z",
+ "-0001-12-31+14:00",
+ "-0001-12-31-14:00",
+
+ // xs:dateTime representation
+ "0001-12-31T00:00:00.1",
+ "0001-12-31T00:00:00.1Z",
+ "0001-12-31T00:00:00.1+14:00",
+ "0001-12-31T00:00:00.1-14:00",
+ "-0001-12-31T00:00:00.1",
+ "-0001-12-31T00:00:00.1Z",
+ "-0001-12-31T00:00:00.1+14:00",
+ "-0001-12-31T00:00:00.1-14:00"
+ };
+
+ for (int iErr = 0; iErr < sizeof(validRepresentations)/sizeof(*validRepresentations); iErr++)
+ {
+ try
+ {
+ XalanDateTime::fromString(validRepresentations[iErr]);
+ }
+ catch (InvalidFormat& iFormat)
+ {
+ CPPUNIT_FAIL("An Exception was unexpected!");
+ }
+ }
+}
+
+void durationFromStringTest()
+{
+ char * invalidRepresentations[] =
+ {
+ // Empty string
+ "",
+
+ // Strings completely out of format.
+ "GSoC 2012",
+ "This function is well tested.",
+
+ // Representations where the fields are not numbers
+ "PnY",
+ "PnM",
+ "-PnD",
+ "PTnH",
+ "PTnM",
+ "-PTnS",
+ "PnYnMnDTnHnMnS",
+
+ // Wrong Date/time separator or inexistent
+ "PnYnMnDnHnMnS",
+ "-PnYnMnDtnHnMnS",
+
+ // Wrong floating-point representation of seconds
+ "-P2YT2.S",
+ "PT673M.212S",
+
+ // Seconds' field identifier not present
+ "PT1M3",
+ "-P312Y93MT33M13.3",
+
+ // All fields with zero value
+ "P",
+ "PT",
+
+ // Floating-point in integers fields
+ "P1.2Y",
+ "P3.5M",
+ "P17.9D",
+ "PT23.1H",
+ "PT12.31M",
+
+ // Representation does not ends with '\0'
+ "P2000Y'GSoC - Google Summer of Code'",
+ "P1Y1M1DT1H1M1.1S'GSoC - Google Summer of Code'",
+
+ // Date/time separator missing
+ "P1D3H",
+ "P124Y187M541D781H31M13S",
+
+ "-P10Y112M13DT12H13M11",
+ };
+
+ for (int iErr = 0; iErr < sizeof(invalidRepresentations)/sizeof(*invalidRepresentations); iErr++)
+ {
+ try
+ {
+ XalanDuration::fromString(invalidRepresentations[iErr]);
+
+ CPPUNIT_FAIL("An Exception was expected!");
+ }
+ catch (InvalidFormat& iFormat)
+ {
+ }
+ }
+
+ char * validRepresentations[] =
+ {
+ // Duration of Year
+ "P1Y",
+ "-P1Y",
+ "P2012Y",
+ "-P2012Y",
+
+ // Duration of Month
+ "P1M",
+ "-P1M",
+ "P13M",
+ "-P13M",
+
+ // Duration of Day
+ "P31D",
+ "-P31D",
+ "P365D",
+ "-P365D",
+
+ // Duration of Hours
+ "PT24H",
+ "-PT24H",
+ "PT480H",
+ "-PT480H",
+
+ // Duration of Minutes
+ "PT59M",
+ "-PT59M",
+ "PT1440M",
+ "-PT1440M",
+
+ // Duration of Seconds
+ "PT1S",
+ "-PT1S",
+ "PT86400S",
+ "-PT86400S",
+
+ // Mixed Durations
+ "P1Y9M",
+ "P1Y90D",
+ "P1YT4H",
+ "P1YT40M",
+ "P1YT80S",
+ "P83M43D",
+ "P83MT41H",
+ "P83MT12M",
+ "P83MT12.346S",
+ "P46DT32H",
+ "P46DT64M",
+ "P46DT32.765S",
+ "PT534H123M",
+ "PT534H1.3S",
+ "PT512M0.321S",
+ "P5MT5M0.5S"
+ };
+
+ for (int iErr = 0; iErr < sizeof(validRepresentations)/sizeof(*validRepresentations); iErr++)
+ {
+ try
+ {
+ XalanDuration::fromString(validRepresentations[iErr]);
+ }
+ catch (InvalidFormat& iFormat)
+ {
+ CPPUNIT_FAIL("An Exception was unexpected!");
+ }
+ }
+}
Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanCalendar.hpp
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Sources/XalanCalendar.hpp?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanCalendar.hpp (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanCalendar.hpp Sun Jul 15 08:11:51 2012
@@ -0,0 +1,237 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include <sstream>
+
+#ifndef _XALANCALENDAR_H
+#define _XALANCALENDAR_H
+
+#include <xalanc/Include/PlatformDefinitions.hpp>
+
+XALAN_CPP_NAMESPACE_BEGIN
+
+/**
+ * This class defines Calendar Objects
+ *
+ * Calendar objects represent a moment in the time. Thus, these objects
+ * have year, month and day fields regarding the date values; and hours,
+ * minutes and seconds fields regarding the time values.
+ *
+ * Often, moments in the time are represented as strings. Thus, they
+ * may to have them values retrieved from strings and represented as
+ * strings back.
+ */
+class XalanCalendar
+{
+public:
+ XalanCalendar(
+ int year,
+ int month,
+ int day,
+ int hours,
+ int minutes,
+ double seconds)
+ : year(year),
+ month(month),
+ day(day),
+ hours(hours),
+ minutes(minutes),
+ seconds(seconds)
+ {
+ }
+
+ /**
+ * Returns the year value of the XalanCalendar object.
+ */
+ inline int getYear() const
+ {
+ return year;
+ }
+
+ /**
+ * Returns the month value of the XalanCalendar object.
+ */
+ inline int getMonth() const
+ {
+ return month;
+ }
+
+ /**
+ * Returns the day value of the XalanCalendar object.
+ */
+ inline int getDay() const
+ {
+ return day;
+ }
+
+ /**
+ * Returns the hours value of the XalanCalendar object.
+ */
+ inline int getHours() const
+ {
+ return hours;
+ }
+
+ /**
+ * Returns the minutes value of the XalanCalendar object.
+ */
+ inline int getMinutes() const
+ {
+ return minutes;
+ }
+
+ /**
+ * Returns the seconds value of the XalanCalendar object.
+ */
+ inline double getSeconds() const
+ {
+ return seconds;
+ }
+
+ /**
+ * Gives a string representation of the XalanCalendar instance,
+ * containing its date and time values.
+ *
+ * @return The string representing the XalanCalendar instance.
+ */
+ virtual char * toString() = 0;
+
+protected:
+ int year, month, day;
+
+ int hours, minutes;
+ double seconds;
+
+ /* Generally, in string representations of objects, values are
+ separated by special fields. This variable represents the
+ length of a separator character. */
+ static const int SEPR_FLD = 1;
+
+ /* In string representations of XalanCalendar, the date and time
+ values are separated by a 'T' character, indicating the init
+ of time values representation. */
+ static const char DTTM_SEPR_SYM = 'T';
+
+ /* C strings are represented as a sequence of characters ending
+ with the null character. */
+ static const char NULL_CHAR = '\0';
+
+ /**
+ * Given a string, analyses it and gives the location of the point
+ * character of the number that have its string representation
+ * starten at the init of the string. Numbers are any sequence of
+ * digits and may include one point.
+ * Futhermore, this method stores into the location pointed by
+ * nLength the length of the number.
+ *
+ * @param info The information containing the number to have
+ * information known.
+ *
+ * @param nLength The pointer to the location at memory to store
+ * the length of the number.
+ *
+ * @return The location of the point character into the number
+ * representation.
+ */
+ static int getNumberInfo(char * info, int * nLength)
+ {
+ int len = 0;
+ int pointAt = 0;
+ while (isdigit(*info)
+ || (!pointAt && (pointAt = (*info == '.') ? len + 1 : 0)))
+ {
+ len++;
+ info++;
+ }
+
+ *nLength = *info == '.' ? 0 : len;
+
+ return pointAt;
+ }
+
+ /**
+ * Given a string and a length, extracts from the string a double
+ * with the specified length. This method do not do any validation
+ * of the arguments: it considers there is a double in the string
+ * with the specified length.
+ *
+ * @param info The information to have the double extracted.
+ *
+ * @param length The length of the double representation into the
+ * string.
+ *
+ * @return The double retrieved from the string, with the
+ * specified length.
+ */
+ static double getDouble(char * info, int length)
+ {
+ char * n = new char[length + 1];
+
+ n[length] = NULL_CHAR;
+ strncpy(n, info, length);
+
+ return atof(n);
+ }
+
+ /**
+ * Given a string and a length, extracts from the string an integer
+ * with the specified length. This method do not do any validation
+ * of the arguments: it considers there is a double in the string
+ * with the specified length.
+ *
+ * @param info The information to have the integer extracted.
+ *
+ * @param length The length of the integer representation into the
+ * string.
+ *
+ * @return The integer retrieved from the string, with the
+ * specified length.
+ */
+ static int getInteger(char * info, int length)
+ {
+ char * n = new char[length + 1];
+
+ n[length] = NULL_CHAR;
+ strncpy(n, info, length);
+
+ return atoi(n);
+ }
+};
+
+/**
+ * Often, moments in the time are represented as strings. This class
+ * represents exceptions thrown when those strings are not in valid
+ * formats.
+ */
+class InvalidFormat : public std::invalid_argument
+{
+public:
+ InvalidFormat(const char * message)
+ : invalid_argument(message)
+ {
+ }
+};
+
+XALAN_CPP_NAMESPACE_END
+
+#endif
\ No newline at end of file
Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDateTime.cpp
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Sources/XalanDateTime.cpp?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDateTime.cpp (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDateTime.cpp Sun Jul 15 08:11:51 2012
@@ -0,0 +1,288 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "XalanDateTime.hpp"
+
+XALAN_CPP_NAMESPACE_USE
+
+const char * XalanDateTime::INVALID_DATETIME_ERR =
+{
+ "The representation must be a right-truncated date/time string in "
+ "one of the formats defined in [XML Schema Part 2: Datatypes]. "
+ "The permitted formats are: xs:dateTime (CCYY-MM-DDThh:mm:ss); "
+ "xs:date (CCYY-MM-DD); xs:gYearMonth (CCYY-MM) and xs:gYear (CCYY). "
+ "An optional minus signal is accepted at the beginning, representing "
+ "a BC time. These formats are accurately described at the following "
+ "links, respectively: "
+ "http://www.w3.org/TR/xmlschema-2/#dateTime; "
+ "http://www.w3.org/TR/xmlschema-2/#date; "
+ "http://www.w3.org/TR/xmlschema-2/#gYearMonth"" and "
+ "http://www.w3.org/TR/xmlschema-2/#gYear"
+};
+
+const char * XalanDateTime::INVALID_TIMEZONE_ERR =
+{
+ "The representation of timezone must be a duration with "
+ "(integer-valued) hour and minute properties (with the hour "
+ "magnitude limited to at most 14, and the minute magnitude limited "
+ "to at most 59, except that if the hour magnitude is 14, the minute "
+ "value must be 0); they may be both positive or both negative. The "
+ "lexical representation of a timezone is a string of the form: "
+ "(('+' | '-') hh ':' mm) | 'Z'"
+};
+
+void XalanDateTime::addDuration(
+ XalanDuration * duration)
+{
+ // Temporary variables declarations
+ double tDouble;
+ int tInteger, tCarry;
+
+ // Resultant variables declarations
+ double rSeconds;
+ int rYear, rMonth, rDay, rHours, rMinutes;
+
+ // Calculating the month
+ tInteger = this->month + duration->getMonth();
+ rMonth = modulo(tInteger, 1, 13);
+ tCarry = fQuotient(tInteger, 1, 13);
+
+ // Calculating the year
+ rYear = this->year + duration->getYear() + tCarry;
+
+ // Calculating the seconds
+ tDouble = this->seconds + duration->getSeconds();
+ rSeconds = modulo(tDouble, 60);
+ tCarry = fQuotient(tDouble, 60);
+
+ // Calculating the minutes
+ tInteger = this->minutes + duration->getMinutes() + tCarry;
+ rMinutes = modulo(tInteger, 60);
+ tCarry = fQuotient(tInteger, 60);
+
+ // Calculating the hours
+ tInteger = this->hours + duration->getHours() + tCarry;
+ rHours = modulo(tInteger, 24);
+ tCarry = fQuotient(tInteger, 24);
+
+ // Calculating the day
+ rDay = duration->getDay() + tCarry + (this->day > maximumDayInMonthFor(rYear, rMonth) ? maximumDayInMonthFor(rYear, rMonth) : this->day < 1 ? 1 : this->day);
+
+ // Adjusting day, month and year
+ bool negDay;
+ while ((negDay = (rDay < 1)) || rDay > maximumDayInMonthFor(rYear, rMonth))
+ {
+ if (negDay)
+ {
+ tCarry = -1;
+ rDay += maximumDayInMonthFor(rYear, rMonth - 1);
+ }
+ else
+ {
+ tCarry = 1;
+ rDay -= maximumDayInMonthFor(rYear, rMonth);
+ }
+
+ tInteger = rMonth + tCarry;
+ rMonth = modulo(tInteger, 1, 13);
+ rYear += fQuotient(tInteger, 1, 13);
+ }
+
+ /* Verifying if the year value has crossed the year zero.
+ If true, an adjustment is made, because there is no zero year. */
+ if (this->year < 0 && rYear > this->year && rYear >= 0)
+ {
+ rYear++;
+ }
+ else if (this->year > 0 && rYear < this->year && rYear <= 0)
+ {
+ rYear--;
+ }
+
+ this->year = rYear;
+ this->month = rMonth;
+ this->day = rDay;
+ this->hours = rHours;
+ this->minutes = rMinutes;
+ this->seconds = rSeconds;
+}
+
+char * XalanDateTime::toString()
+{
+ char * dateTime = new char[30];
+
+ sprintf(year < 0 && (*dateTime = '-') ? dateTime + 1 : dateTime,
+ format, abs(year), abs(month), abs(day), abs(hours),
+ abs(minutes), abs(seconds));
+
+ return strcat(dateTime, timeZone);
+}
+
+bool XalanDateTime::isTimeZoneValid(char * timeZone)
+{
+ if (*timeZone == '+' || *timeZone == '-')
+ {
+ timeZone += SEPR_FLD;
+
+ int hoursMinutes[2];
+ int upperBounds[] = {14, 59};
+ int fieldsLens[] = {HH_FLD, MM_FLD};
+
+ int nLength;
+ int iPointer = 0;
+ do
+ {
+ if (getNumberInfo(timeZone, &nLength)
+ || (nLength != fieldsLens[iPointer]))
+ {
+ return false;
+ }
+
+ if ((hoursMinutes[iPointer] = getInteger(timeZone, fieldsLens[iPointer]))
+ > upperBounds[iPointer])
+ {
+ return false;
+ }
+
+ timeZone += nLength;
+
+ if (*timeZone && (*timeZone != TM_SEPR_SYM))
+ {
+ return false;
+ }
+
+ timeZone += !iPointer ? SEPR_FLD : 0;
+ } while (*timeZone && ++iPointer);
+
+ if (hoursMinutes[0] == 14 && hoursMinutes[1])
+ {
+ return false;
+ }
+ }
+ else if (*timeZone != UTC_TMZN_SYM || *(++timeZone))
+ {
+ return false;
+ }
+
+ return true;
+}
+
+XalanDateTime * XalanDateTime::fromString(char * dateTime)
+{
+ double seconds = 0;
+ int year = 1, month = 1, day = 1,
+ hours = 0, minutes = 0;
+
+ // The timezone is a string in format '+hh:mm', '-hh:mm' or 'Z'
+ char * timeZone = new char[6];
+
+ // Verifying if it is a negative date/time
+ bool negDate;
+ if (negDate = *dateTime == '-')
+ {
+ dateTime++;
+ }
+
+ int * fieldsPointers[] =
+ {&year, &month, &day, &hours, &minutes};
+ int fieldsLens[] =
+ {YY_FLD, MN_FLD, DD_FLD, HH_FLD, MM_FLD};
+ int upperBounds[] =
+ {32767, 12, 31, 23, 59};
+
+ // Getting the values for each date/time field
+
+
+ int iPointer = 0;
+ int pointAt, nLength;
+ do
+ {
+ if (getNumberInfo(dateTime, &nLength)
+ || (iPointer ? nLength != fieldsLens[iPointer]
+ : nLength < fieldsLens[iPointer]))
+ {
+ throw InvalidFormat(INVALID_DATETIME_ERR);
+ }
+
+ if (abs(*fieldsPointers[iPointer] = negDate && !iPointer
+ ? -getInteger(dateTime, fieldsLens[iPointer])
+ : getInteger(dateTime, fieldsLens[iPointer]))
+ > upperBounds[iPointer] || (iPointer < 3 && !*fieldsPointers[iPointer]))
+ {
+ throw InvalidFormat(INVALID_DATETIME_ERR);
+ }
+
+ dateTime += nLength;
+
+ if (!*dateTime || isTimeZone(dateTime))
+ {
+ break;
+ }
+
+ if (*dateTime && *dateTime
+ != (iPointer == 2 ? DTTM_SEPR_SYM : iPointer < 2 ? DT_SEPR_SYM : TM_SEPR_SYM))
+ {
+ throw InvalidFormat(INVALID_DATETIME_ERR);
+ }
+
+ dateTime += SEPR_FLD;
+
+ if (iPointer++ == (sizeof(fieldsLens)/sizeof(*fieldsLens)) -1)
+ {
+ pointAt = getNumberInfo(dateTime, &nLength);
+
+ if (pointAt)
+ {
+ if (pointAt - 1 != SS_FLD)
+ {
+ throw InvalidFormat(INVALID_DATETIME_ERR);
+ }
+ else if (!(nLength - pointAt))
+ {
+ throw InvalidFormat(INVALID_DATETIME_ERR);
+ }
+ }
+ else if (nLength != SS_FLD)
+ {
+ throw InvalidFormat(INVALID_DATETIME_ERR);
+ }
+
+ seconds = getDouble(dateTime, nLength);
+ dateTime += nLength;
+
+ break;
+ }
+ } while (*dateTime);
+
+ if (iPointer == 3 || iPointer == 4
+ || day > maximumDayInMonthFor(year, month))
+ {
+ throw InvalidFormat(INVALID_DATETIME_ERR);
+ }
+
+ if (*dateTime && !isTimeZoneValid(dateTime))
+ {
+ throw InvalidFormat(INVALID_TIMEZONE_ERR);
+ }
+
+ // Getting the timezone
+ strcpy(timeZone, dateTime);
+
+ return new XalanDateTime(year, month, day, hours, minutes,
+ seconds, timeZone, getFormat(iPointer + 1));
+}
\ No newline at end of file
Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDateTime.hpp
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Sources/XalanDateTime.hpp?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDateTime.hpp (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDateTime.hpp Sun Jul 15 08:11:51 2012
@@ -0,0 +1,338 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+#ifndef _XALANDATETIME_H
+#define _XALANDATETIME_H
+
+#include "XalanCalendar.hpp"
+#include "XalanDuration.hpp"
+
+XALAN_CPP_NAMESPACE_BEGIN
+
+/**
+ * This class defines date/time objects
+ *
+ * Date/time objects are specializations of Calendar objects, thus this
+ * class inherits the attributes and behavior from the Calendar class.
+ * Beyond the attributes inherited, date/time objects have an optional
+ * timezone value.
+ *
+ * The timezone value is a string in format '+hh:mm', '-hh:mm' or 'Z'.
+ * This class refers to the Gregorian Calendar algorithm where there is
+ * no year zero.
+ *
+ * A complete and accurately description of date/time may be found at
+ * http://www.w3.org/TR/xmlschema-2/#dateTime. Right-truncated
+ * string representation are too allowed, beyond the described at this
+ * link, but it is the complete representation.
+ */
+class XalanDateTime : public XalanCalendar
+{
+public:
+ XalanDateTime(
+ int year,
+ int month,
+ int day,
+ int hours,
+ int minutes,
+ double seconds,
+ char * timeZone,
+ char * format)
+ : XalanCalendar(
+ year,
+ month,
+ day,
+ hours,
+ minutes,
+ seconds),
+ format(format),
+ timeZone(timeZone)
+ {
+ }
+
+ /**
+ * This method adds to the a XalanDuration to a XalanDateTime
+ *
+ * Given a XalanDuration, this method adds to the XalanDateTime
+ * instance's fields the corresponding values in the duration.
+ * This function refers to the EXSLT DATE:ADD function described at
+ * http://www.exslt.org/date/functions/add/index.html.
+ * The implemented algorithm is according the one described at
+ * http://www.w3.org/TR/xmlschema-2/#adding-durations-to-dateTimes.
+ * There is no zero year. Thus, some adjust may be made in the
+ * computation.
+ *
+ * @param duration A instance of XalanDuration, that has the
+ * values of date/time fields to be added to the XalanDateTime
+ * instance.
+ */
+ void addDuration(XalanDuration * duration);
+
+ /**
+ * Gives a string representation of the XalanDateTime instance,
+ * containing its date and time values
+ *
+ * Based on the format of the date/time received as parameter to
+ * creates a new instance from the fromString(..) method, this
+ * method gives a string representation of the XalanDateTime in
+ * the same format. For information about the possible formats,
+ * see the information about the accepted formats in the
+ * fromString(..) method.
+ *
+ * @return A string representing the XalanDateTime instance.
+ */
+ char * toString();
+
+ /**
+ * Given a string representation of date/time, this method returns
+ * an instance of this class
+ *
+ * Based on the date/time represented as string received as
+ * argument, this method validates the string representation,
+ * extract the date/time values and creates an instance of this
+ * XalanDateTime class.
+ *
+ * @param dateTime This argument must be a right-truncated
+ * date/time string in one of the formats defined in
+ * [XML Schema Part 2: Datatypes].
+ * The permitted formats are as follows:
+ * - xs:dateTime (CCYY-MM-DDThh:mm:ss);
+ * - xs:date (CCYY-MM-DD);
+ * - xs:gYearMonth (CCYY-MM);
+ * - xs:gYear (CCYY).
+ * These formats are accurately described at the bellow links,
+ * respectively:
+ * - http://www.w3.org/TR/xmlschema-2/#dateTime;
+ * - http://www.w3.org/TR/xmlschema-2/#date;
+ * - http://www.w3.org/TR/xmlschema-2/#gYearMonth;
+ * - http://www.w3.org/TR/xmlschema-2/#gYear.
+ *
+ * @return An instance of this XalanDateTime class. The values of
+ * the date/time received as argument are loaded in the
+ * instance's fields.
+ *
+ * @exception InvalidFormat Thrown when the date/time
+ * represented as string received as argument is not in one of
+ * the accepted formats. Also, when the timezone representation
+ * is not valid, see isTimeZoneValid method.
+ */
+ static XalanDateTime * fromString(char * dateTime);
+
+ /**
+ * Given a string representation of a timezone, this method
+ * evaluates it and determines if it is valid or not.
+ * The representation of timezone must be a duration with
+ * (integer-valued) hour and minute properties (with the hour
+ * magnitude limited to at most 14, and the minute magnitude limited
+ * to at most 59, except that if the hour magnitude is 14, the minute
+ * value must be 0); they may be both positive or both negative. The
+ * lexical representation of a timezone is a string of the form:
+ * (('+' | '-') hh ':' mm) | 'Z'
+ *
+ * @param timeZone The string representation of a timezone to be
+ * evaluated.
+ *
+ * @return true, if the timezone is valid; false, otherwise.
+ */
+ static bool isTimeZoneValid(char * timeZone);
+
+ /* The error message when a string representation of date/time is
+ not valid. */
+ static const char * INVALID_DATETIME_ERR;
+
+ /* The error message when a string representation of timezone is
+ not valid. */
+ static const char * INVALID_TIMEZONE_ERR;
+
+private:
+
+ /* The format of the string representation for the date/time object.
+ This format is built considering the formats accepted by the
+ printf function. For more information, see getFormat() method.
+ It is loaded when the fromString() method is called, getting the
+ format of the string received, allowing to give a representation
+ in the same format. */
+ char * format;
+
+ char * timeZone;
+
+ /**
+ * Representing date/time as string, there are specifc symbols
+ * for separators and default timezone.
+ */
+ enum DateTimeSymbols
+ {
+ DT_SEPR_SYM = '-',
+ TM_SEPR_SYM = ':',
+ UTC_TMZN_SYM = 'Z'
+ };
+
+ /**
+ * Representing date/time as string, there are fixed lengths for the
+ * month, day, hours and minutes fields.
+ */
+ enum DateTimeFieldsSize
+ {
+ YY_FLD = 4,
+ MN_FLD = 2,
+ DD_FLD = 2,
+ HH_FLD = 2,
+ MM_FLD = 2,
+ SS_FLD = 2
+ };
+
+ /**
+ * Given a range value, reporting how many fields of date/time must
+ * be present in the resultant format, the required format is
+ * returned.
+ *
+ * @param range The number reporting how many fields must be present
+ * in the format.
+ *
+ * @return The format string, as required.
+ */
+ static char * getFormat(int range)
+ {
+ const char DTTM_FORMAT[] =
+ {
+ '%', '0', '4', 'd', DT_SEPR_SYM,
+ '%', '0', '2', 'd', DT_SEPR_SYM,
+ '%', '0', '2', 'd', DTTM_SEPR_SYM,
+ '%', '0', '2', 'd', TM_SEPR_SYM,
+ '%', '0', '2', 'd', TM_SEPR_SYM,
+ '%', '0', '2', 'g'
+ };
+
+ int n = 5 * range;
+ char * dateFormat = new char[n];
+
+ dateFormat[n - 1] = NULL_CHAR;
+ strncpy(dateFormat, DTTM_FORMAT, n - 1);
+
+ return dateFormat;
+ }
+
+ /**
+ * Returns the floor of the quotient of a and b.
+ *
+ * @param a The first number.
+ *
+ * @param b The second number.
+ *
+ * @return The floor of the quotient of a and b.
+ */
+ static int fQuotient(double a, double b)
+ {
+ return floor( a / b );
+ }
+
+ /**
+ * Returns the a modulo b.
+ *
+ * @param a The first number.
+ *
+ * @param b The second number.
+ *
+ * @return a modulo b.
+ */
+ static double modulo(double a, double b)
+ {
+ return a - fQuotient(a,b) * b;
+ }
+
+ /**
+ * Returns the floor of the quotient of (a - low) and (high - low).
+ *
+ * @param a The first number.
+ *
+ * @param low The second number.
+ *
+ * @param high The third number.
+ *
+ * @return The floor of the quotient of (a - low) and (high - low).
+ */
+ static int fQuotient(double a, int low, int high)
+ {
+ return fQuotient(a - low, high - low);
+ }
+
+ /**
+ * Returns the result of low + (a - low) modulo (high - low).
+ *
+ * @param a The first number.
+ *
+ * @param low The second number.
+ *
+ * @param high The third number.
+ *
+ * @return The result of low + (a - low) modulo (high - low)
+ */
+ static double modulo(double a, int low, int high)
+ {
+ return modulo(a - low, high - low) + low;
+ }
+
+ /**
+ * Given a year and a month, this method returns the maximum day
+ * of that month.
+ *
+ * @param yearValue The year containing the specified month.
+ * @param monthValue The month in the year that the maximum day
+ * will be calculated.
+ *
+ * @return The maximum day of the specified month/year.
+ */
+ static int maximumDayInMonthFor(int yearValue, int monthValue)
+ {
+ if (yearValue < 0)
+ {
+ yearValue = abs(yearValue) - 1;
+ }
+
+ return ((monthValue < 8 && monthValue % 2 != 0)
+ || (monthValue >= 8 && monthValue % 2 == 0))
+ ? 31
+ : (monthValue != 02 ? 30
+ : (yearValue % 400 == 0 ||
+ (yearValue % 100 != 0 && yearValue % 4 == 0)) ? 29
+ : 28);
+ }
+
+ /**
+ * Analyses an string received as argument and reports if it
+ * determines a timezone.
+ * The timezone is a string in format '+hh:mm', '-hh:mm' or 'Z'.
+ * This method do not do any validation of timezones.
+ *
+ * @param info The string to be analyzed.
+ *
+ * @return true, if the string determines a timezone value;
+ * false, otherwise.
+ */
+ static bool isTimeZone(char * info)
+ {
+ return *info == UTC_TMZN_SYM
+ || ((*info == '-' || *info == '+')
+ && *(info + 3) == TM_SEPR_SYM);
+ }
+};
+
+XALAN_CPP_NAMESPACE_END
+
+#endif
\ No newline at end of file
Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDateTimeDefinitons.hpp
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Sources/XalanDateTimeDefinitons.hpp?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDateTimeDefinitons.hpp (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDateTimeDefinitons.hpp Sun Jul 15 08:11:51 2012
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#if !define(DATETIMEDEFINITIONS_HEADER_GUARD_82838485)
+#define DATETIMEDEFINITIONS_HEADER_GUARD_82838485
+
+#include <xalanc/Include/PlatformDefinitions.hpp>
+
+#if defined(XALAN_BUILD_DLL)
+# define XALAN_DATETIME_EXPORT XALAN_PLATFORM_EXPORT
+# define XALAN_DATETIME_EXPORT_FUNCTION(T) XALAN_PLATFORM_EXPORT_FUNCTION(T)
+#else
+# define XALAN_DATETIME_EXPORT XALAN_PLATFORM_IMPORT
+# define XALAN_DATETIME_EXPORT_FUNCTION(T) XALAN_PLATFORM_IMPORT_FUNCTION(T)
+#endif
+
+#endif
Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDatesAndTimes.cpp
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Sources/XalanDatesAndTimes.cpp?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDatesAndTimes.cpp (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDatesAndTimes.cpp Sun Jul 15 08:11:51 2012
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "XalanDatesAndTimes.hpp"
+#include "XalanDateTime.hpp"
+#include "XalanDuration.hpp"
+
+XALAN_CPP_NAMESPACE_USE
+
+char * XalanDatesAndTimes::add(char * dateTime, char * duration)
+{
+ XalanDateTime * dtTm = XalanDateTime::fromString(dateTime);
+ XalanDuration * dur = XalanDuration::fromString(duration);
+
+ dtTm->addDuration(dur);
+
+ char * result = dtTm->toString();
+
+ delete dtTm;
+ delete dur;
+
+ return result;
+}
\ No newline at end of file
Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDatesAndTimes.hpp
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Sources/XalanDatesAndTimes.hpp?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDatesAndTimes.hpp (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDatesAndTimes.hpp Sun Jul 15 08:11:51 2012
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _XALANDATESANDTIMES_H
+#define _XALANDATESANDTIMES_H
+
+#include <xalanc/Include/PlatformDefinitions.hpp>
+
+XALAN_CPP_NAMESPACE_BEGIN
+
+class XalanDatesAndTimes
+{
+public:
+
+ /**
+ * This function returns the date/time resulting from adding a
+ * duration to a date/time
+ *
+ * @param dateTime This argument must be a right-truncated
+ * date/time string in one of the formats defined in
+ * [XML Schema Part 2: Datatypes].
+ * The permitted formats are as follows:
+ * - xs:dateTime (CCYY-MM-DDThh:mm:ss);
+ * - xs:date (CCYY-MM-DD);
+ * - xs:gYearMonth (CCYY-MM);
+ * - xs:gYear (CCYY).
+ * These formats are accurately described at the bellow links,
+ * respectively:
+ * - http://www.w3.org/TR/xmlschema-2/#dateTime;
+ * - http://www.w3.org/TR/xmlschema-2/#date;
+ * - http://www.w3.org/TR/xmlschema-2/#gYearMonth;
+ * - http://www.w3.org/TR/xmlschema-2/#gYear.
+ *
+ * @param duration This argument must conforms to the [ISO 8601]
+ * extended format PnYnMnDTnHnMnS, where nY represents the
+ * number of years, nM the number of months, nD the number of
+ * days, 'T' is the date/time separator, nH the number of
+ * hours, nM the number of minutes and nS the number of
+ * seconds. The number of seconds can include decimal digits
+ * to arbitrary precision.
+ * This format are accurately described at:
+ * http://www.w3.org/TR/xmlschema-2/#duration
+ *
+ * @return The resultant date/time by adding the duration to the
+ * date/time in the same format of the date/time received as
+ * argument.
+ */
+ static char * add(char * dateTime, char * duration);
+
+};
+
+XALAN_CPP_NAMESPACE_END
+
+#endif
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org