svn commit: r1361650 [2/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...

[email protected] Sun, 15 Jul 2012 08:11:53 -0000
Newsgroups gmane.text.xml.xalan.cvs
Message-ID <[email protected]>
Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDuration.cpp
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Sources/XalanDuration.cpp?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDuration.cpp (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDuration.cpp Sun Jul 15 08:11:51 2012
@@ -0,0 +1,142 @@
+/*
+ * 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 "XalanDuration.hpp"
+
+XALAN_CPP_NAMESPACE_USE
+
+const char * XalanDuration::INVALID_DURATION_ERR =
+{
+	"The string representation must conforms with the 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 and nM the number of minutes, where each one is represented "
+	"as an unsigned integer. nS is the number of seconds, that may be "
+	"represented as a floating-point number. An optional minus signal "
+	"is accepted at the beginning, representing a negative duration. "
+	"For detailed information, see "
+	"http://www.w3.org/TR/xmlschema-2/#duration"
+};
+
+char * XalanDuration::toString()
+{
+    // Not implemented yet.
+    return new char[1];
+}
+
+XalanDuration * XalanDuration::fromString(char * duration)
+{
+    double seconds = 0;
+    int year = 0, month = 0, day = 0,
+        hours = 0, minutes = 0;
+
+    // Verifying if it is a negative duration
+    bool negDuration;
+    if (negDuration = (*duration == '-'))
+	{
+        duration++;
+    }
+
+	if (*duration != PD_SYM)
+	{
+		throw InvalidFormat(INVALID_DURATION_ERR);
+	}
+
+	duration += SEPR_FLD;
+
+	char fieldsSym[] =
+        {YY_SYM, MN_SYM, DD_SYM, HH_SYM, MM_SYM, SS_SYM};
+    int * fieldsPointers[] =
+        {&year, &month, &day, &hours, &minutes};
+
+    // Getting the values for each duration field
+	int pointAt = 0;
+ 	int numberLength = 0;
+	bool gotTime = false;
+	
+	int iPointer = 0;
+    while (*duration)
+    {
+		if (*duration == DTTM_SEPR_SYM)
+		{
+			if (gotTime || (iPointer > 3))
+			{
+				throw InvalidFormat(INVALID_DURATION_ERR);
+			}
+
+			iPointer = 3;
+			gotTime = true;
+			duration += SEPR_FLD;
+ 		}
+
+		pointAt = getNumberInfo(duration, &numberLength);
+		duration += numberLength;
+
+		if ((pointAt == 1)
+			|| !(numberLength - pointAt))
+		{
+			throw InvalidFormat(INVALID_DURATION_ERR);
+		}
+
+		while ((*duration != fieldsSym[iPointer])
+			&& ((iPointer + 1) < (sizeof(fieldsSym)/sizeof(*fieldsSym))))
+        {
+			iPointer++;
+        }
+
+		if (*duration == SS_SYM)
+        {
+			if (!gotTime || *(duration + SEPR_FLD))
+			{
+				throw InvalidFormat(INVALID_DURATION_ERR);
+			}
+
+            seconds = negDuration
+				? -getDouble(duration - numberLength, numberLength)
+                : getDouble(duration - numberLength, numberLength);
+
+            return new XalanDuration(year, month, day, hours,
+                minutes, seconds);
+        }
+		else if ((iPointer + 1) == (sizeof(fieldsSym)/sizeof(*fieldsSym)))
+		{
+			throw InvalidFormat(INVALID_DURATION_ERR);
+		}
+
+		if (pointAt || (iPointer >= 3 && !gotTime))
+		{
+			throw InvalidFormat(INVALID_DURATION_ERR);
+		}
+
+        *fieldsPointers[iPointer] = negDuration
+            ? -getInteger(duration - numberLength, numberLength)
+            : getInteger(duration - numberLength, numberLength);
+
+		iPointer++;
+        duration++;
+    }
+
+	if (!iPointer)
+	{
+		throw InvalidFormat(INVALID_DURATION_ERR);
+	}
+
+	return new XalanDuration(year, month, day, hours,
+        minutes, seconds);
+}

Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDuration.hpp
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Sources/XalanDuration.hpp?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDuration.hpp (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/XalanDuration.hpp Sun Jul 15 08:11:51 2012
@@ -0,0 +1,120 @@
+/*
+ * 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 _XALANDURATION_H
+#define _XALANDURATION_H
+
+#include "XalanCalendar.hpp"
+
+XALAN_CPP_NAMESPACE_BEGIN
+
+/**
+ * This class defines Duration Objects
+ *
+ * Duration objects are specializations of Calendar objects, thus this
+ * class inherits the attributes and behavior from the Calendar class.
+ */
+class XalanDuration : public XalanCalendar
+{
+public:
+    XalanDuration(
+        int year,
+        int month,
+        int day,
+        int hours,
+        int minutes,
+        double seconds)
+        : XalanCalendar(
+            year,
+            month,
+            day,
+            hours,
+            minutes,
+            seconds)
+    {
+    }
+
+    /**
+     * Gives a string representation of the XalanCalendar instance,
+     * containing its date and time values
+     *
+     * Based on the format accurately described at:
+     *     http://www.w3.org/TR/xmlschema-2/#duration
+     * and in the information also found at this link that reduced
+     * precision and truncated representations of this format are
+     * allowed , this method returns the most concise possible
+     * representation for Duration.
+     * If all fields are 0, this method returns a 'P0Y' representation.
+     *
+     * @return A string representing the XalanDuration instance.
+     */
+    char * toString();
+
+    /**
+     * Given a string representation of Duration, this method returns
+     * a new instance of XalanDuration
+     * 
+     * Based on the Duration represented as string received as argument,
+     * this method validates the string representation, extract the
+     * duration values and creates an instance of this XalanDuration
+     * class.
+     * 
+     * @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 An instance of this XalanDuration class. The values of
+     *     the duration 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 the accepted format.
+     */
+    static XalanDuration * fromString(char * duration);
+
+	/* The error message when a string representation of duration is
+	   not valid. */
+	static const char * INVALID_DURATION_ERR;
+
+private:
+    /**
+     * Representing durations as strings, there are specifc symbols
+     * for identify each field.
+     */
+    enum PeriodSymbols
+    {
+		PD_SYM = 'P',
+        YY_SYM = 'Y',
+        MN_SYM = 'M',
+        DD_SYM = 'D',
+        HH_SYM = 'H',
+        MM_SYM = 'M',
+        SS_SYM = 'S'
+    };
+
+};
+
+XALAN_CPP_NAMESPACE_END
+
+#endif
\ No newline at end of file

Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/list.diff
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/Sources/list.diff?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/list.diff (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/Sources/list.diff Sun Jul 15 08:11:51 2012
@@ -0,0 +1,620 @@
+--- v0.1/Tester.cpp	2012-07-14 02:41:04.000000000 -0700
++++ v0.2/Tester.cpp	2012-07-14 02:38:34.000000000 -0700
+@@ -1,6 +1,6 @@
+-//[...]
++#include "XalanDateTime.hpp"
+ 
+-void XalanDatesAndTimesTester::dateTimeFromStringTest()
++void dateTimeFromStringTest()
+ {
+     char * invalidRepresentations[] =
+     {
+@@ -183,7 +183,7 @@
+     }
+ }
+ 
+-void XalanDatesAndTimesTester::durationFromStringTest()
++void durationFromStringTest()
+ {
+     char * invalidRepresentations[] =
+     {
+@@ -319,5 +319,3 @@
+         }
+     }
+ }
+-
+-[...]
+\ No newline at end of file
+--- v0.1/XalanCalendar.hpp	2012-07-14 02:41:04.000000000 -0700
++++ v0.2/XalanCalendar.hpp	2012-07-14 02:38:34.000000000 -0700
+@@ -137,28 +137,36 @@
+     static const char NULL_CHAR = '\0';
+     
+     /**
+-     * Given a string, analyses it and gives the length of the number
+-     * that have its string representation starten at the init of the
+-     * string. Numbers are any sequence of digits and points. Numbers
+-     * must have at most one point character and this method considers
+-     * that the number representation is already validated.
++     * 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 its
+-     *     length known.
++     * @param info The information containing the number to have
++     *     information known.
+      *
+-     * @return The length of the number representation starting in the
+-     *     init of the string.
++     * @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 getNumberLength(char * info)
++    static int getNumberInfo(char * info, int * nLength)
+     {
+-        int length = 0;
+-        while (isdigit(*info) || *info == '.')
++        int len = 0;
++        int pointAt = 0;
++        while (isdigit(*info) 
++            || (!pointAt && (pointAt = (*info == '.') ? len + 1 : 0)))
+         {
++            len++;
+             info++;
+-            length++;
+         }
+ 
+-        return length;
++        *nLength = *info == '.' ? 0 : len;
++
++        return pointAt;
+     }
+ 
+     /**
+@@ -210,6 +218,20 @@
+     }
+ };
+ 
++/**
++ * 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
+--- v0.1/XalanDatesAndTimes.cpp	2012-07-14 02:41:04.000000000 -0700
++++ v0.2/XalanDatesAndTimes.cpp	2012-07-14 02:38:34.000000000 -0700
+@@ -20,8 +20,6 @@
+ #include "XalanDateTime.hpp"
+ #include "XalanDuration.hpp"
+ 
+-XALAN_CPP_NAMESPACE_USE
+-
+ char * XalanDatesAndTimes::add(char * dateTime, char * duration)
+ {
+     XalanDateTime * dtTm = XalanDateTime::fromString(dateTime);
+--- v0.1/XalanDateTime.cpp	2012-07-14 02:41:04.000000000 -0700
++++ v0.2/XalanDateTime.cpp	2012-07-14 02:38:34.000000000 -0700
+@@ -18,7 +18,31 @@
+ 
+ #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)
+@@ -59,12 +83,12 @@
+     
+     // Adjusting day, month and year
+     bool negDay;
+-    while ((negDay = rDay < 1) || rDay > maximumDayInMonthFor(rYear, rMonth))
++    while ((negDay = (rDay < 1)) || rDay > maximumDayInMonthFor(rYear, rMonth))
+     {
+         if (negDay)
+         {
+             tCarry = -1;
+-            rDay += maximumDayInMonthFor(rYear, rMonth);
++            rDay += maximumDayInMonthFor(rYear, rMonth - 1);
+         }
+         else
+         {
+@@ -74,7 +98,7 @@
+ 
+         tInteger = rMonth + tCarry;
+         rMonth = modulo(tInteger, 1, 13);
+-        rYear = rYear + fQuotient(tInteger, 1, 13);
++        rYear += fQuotient(tInteger, 1, 13);
+     }
+ 
+     /* Verifying if the year value has crossed the year zero.
+@@ -107,6 +131,55 @@
+     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;
+@@ -115,45 +188,95 @@
+ 
+     // 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[] =
+-        {getNumberLength(dateTime), MN_FLD, DD_FLD, HH_FLD, MM_FLD};
+-
++        {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
+     {
+-        *fieldsPointers[iPointer] = negDate && !iPointer
+-            ? -getInteger(dateTime, fieldsLens[iPointer])
+-            : getInteger(dateTime, fieldsLens[iPointer]);
+-        dateTime += fieldsLens[iPointer];
++        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)
+         {
+-            int numberLength = getNumberLength(dateTime);
++            pointAt = getNumberInfo(dateTime, &nLength);
+             
+-            seconds = getDouble(dateTime, numberLength);
+-            dateTime += numberLength;
++            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);
+--- v0.1/XalanDateTime.hpp	2012-07-14 02:41:04.000000000 -0700
++++ v0.2/XalanDateTime.hpp	2012-07-14 02:38:34.000000000 -0700
+@@ -16,16 +16,11 @@
+  * limitations under the License.
+  */
+ 
+-
+-#ifndef _XALANDATETIME_H
+-#define _XALANDATETIME_H
+-
+-#include <xalanc/Include/PlatformDefinitions.hpp>
+-
+ #include "XalanCalendar.hpp"
+ #include "XalanDuration.hpp"
+ 
+-XALAN_CPP_NAMESPACE_BEGIN
++#ifndef _XALANDATETIME_H
++#define _XALANDATETIME_H
+ 
+ /**
+  * This class defines date/time objects
+@@ -129,12 +124,39 @@
+      *     the date/time received as argument are loaded in the
+      *     instance's fields.
+      *
+-     * @exception std::invalid_argument Thrown when the date/time
++     * @exception InvalidFormat Thrown when the date/time
+      *     represented as string received as argument is not in one of
+-     *     the accepted formats.
++     *     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.
+@@ -164,10 +186,12 @@
+      */
+     enum DateTimeFieldsSize
+     {
++        YY_FLD = 4,
+         MN_FLD = 2,
+         DD_FLD = 2,
+         HH_FLD = 2,
+-        MM_FLD = 2
++        MM_FLD = 2,
++        SS_FLD = 2
+     };
+ 
+     /**
+@@ -273,6 +297,11 @@
+      */
+     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
+@@ -301,6 +330,4 @@
+     }
+ };
+ 
+-XALAN_CPP_NAMESPACE_END
+-
+ #endif
+\ No newline at end of file
+--- v0.1/XalanDuration.cpp	2012-07-14 02:41:04.000000000 -0700
++++ v0.2/XalanDuration.cpp	2012-07-14 02:38:34.000000000 -0700
+@@ -18,7 +18,19 @@
+ 
+ #include "XalanDuration.hpp"
+ 
+-XALAN_CPP_NAMESPACE_USE
++const char * XalanDuration::INVALID_DURATION_ERR =
++{
++    "The string representation must conforms with the 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 and nM the number of minutes, where each one is represented "
++    "as an unsigned integer. nS is the number of seconds, that may be "
++    "represented as a floating-point number. An optional minus signal "
++    "is accepted at the beginning, representing a negative duration. "
++    "For detailed information, see "
++    "http://www.w3.org/TR/xmlschema-2/#duration"
++};
+ 
+ char * XalanDuration::toString()
+ {
+@@ -34,49 +46,95 @@
+ 
+     // Verifying if it is a negative duration
+     bool negDuration;
+-    if (negDuration = *duration++ == '-')
++    if (negDuration = (*duration == '-'))
+     {
+         duration++;
+     }
+ 
++    if (*duration != PD_SYM)
++    {
++        throw InvalidFormat(INVALID_DURATION_ERR);
++    }
++
++    duration += SEPR_FLD;
++
+     char fieldsSym[] =
+-        {YY_SYM, MN_SYM, DD_SYM, HH_SYM, MM_SYM};
++        {YY_SYM, MN_SYM, DD_SYM, HH_SYM, MM_SYM, SS_SYM};
+     int * fieldsPointers[] =
+         {&year, &month, &day, &hours, &minutes};
+ 
+     // Getting the values for each duration field
++    int pointAt = 0;
++    int numberLength = 0;
++    bool gotTime = false;
++    
+     int iPointer = 0;
+-    int numberLength;
+     while (*duration)
+     {
+         if (*duration == DTTM_SEPR_SYM)
+         {
++            if (gotTime || (iPointer > 3))
++            {
++                throw InvalidFormat(INVALID_DURATION_ERR);
++            }
++
+             iPointer = 3;
++            gotTime = true;
+             duration += SEPR_FLD;
+         }
+ 
+-        duration += numberLength = getNumberLength(duration);
++        pointAt = getNumberInfo(duration, &numberLength);
++        duration += numberLength;
+ 
+-        while (*duration != fieldsSym[iPointer])
++        if ((pointAt == 1)
++            || !(numberLength - pointAt))
+         {
+-            if (++iPointer == sizeof(fieldsSym)/sizeof(*fieldsSym))
+-            {
+-                seconds = negDuration
+-                    ? -getDouble(duration - numberLength, numberLength)
+-                    : getDouble(duration - numberLength, numberLength);
++            throw InvalidFormat(INVALID_DURATION_ERR);
++        }
+ 
+-                return new XalanDuration(year, month, day, hours,
+-                    minutes, seconds);
++        while ((*duration != fieldsSym[iPointer])
++            && ((iPointer + 1) < (sizeof(fieldsSym)/sizeof(*fieldsSym))))
++        {
++            iPointer++;
++        }
++
++        if (*duration == SS_SYM)
++        {
++            if (!gotTime || *(duration + SEPR_FLD))
++            {
++                throw InvalidFormat(INVALID_DURATION_ERR);
+             }
++
++            seconds = negDuration
++                ? -getDouble(duration - numberLength, numberLength)
++                : getDouble(duration - numberLength, numberLength);
++
++            return new XalanDuration(year, month, day, hours,
++                minutes, seconds);
++        }
++        else if ((iPointer + 1) == (sizeof(fieldsSym)/sizeof(*fieldsSym)))
++        {
++            throw InvalidFormat(INVALID_DURATION_ERR);
++        }
++
++        if (pointAt || (iPointer >= 3 && !gotTime))
++        {
++            throw InvalidFormat(INVALID_DURATION_ERR);
+         }
+ 
+         *fieldsPointers[iPointer] = negDuration
+             ? -getInteger(duration - numberLength, numberLength)
+             : getInteger(duration - numberLength, numberLength);
+ 
+-        duration += SEPR_FLD;
++        iPointer++;
++        duration++;
++    }
++
++    if (!iPointer)
++    {
++        throw InvalidFormat(INVALID_DURATION_ERR);
+     }
+ 
+     return new XalanDuration(year, month, day, hours,
+         minutes, seconds);
+-}
+\ No newline at end of file
++}
+--- v0.1/XalanDuration.hpp	2012-07-14 02:41:04.000000000 -0700
++++ v0.2/XalanDuration.hpp	2012-07-14 02:38:34.000000000 -0700
+@@ -16,14 +16,10 @@
+  * limitations under the License.
+  */
+ 
+-#ifndef _XALANDURATION_H
+-#define _XALANDURATION_H
+-
+-#include <xalanc/Include/PlatformDefinitions.hpp>
+-
+ #include "XalanCalendar.hpp"
+ 
+-XALAN_CPP_NAMESPACE_BEGIN
++#ifndef _XALANDURATION_H
++#define _XALANDURATION_H
+ 
+ /**
+  * This class defines Duration Objects
+@@ -90,11 +86,15 @@
+      *     the duration received as argument are loaded in the
+      *     instance's fields.
+      *
+-     * @exception std::invalid_argument Thrown when the date/time represented
++     * @exception InvalidFormat Thrown when the date/time represented
+      *     as string received as argument is not in the accepted format.
+      */
+     static XalanDuration * fromString(char * duration);
+ 
++    /* The error message when a string representation of duration is
++       not valid. */
++    static const char * INVALID_DURATION_ERR;
++
+ private:
+     /**
+      * Representing durations as strings, there are specifc symbols
+@@ -102,6 +102,7 @@
+      */
+     enum PeriodSymbols
+     {
++        PD_SYM = 'P',
+         YY_SYM = 'Y',
+         MN_SYM = 'M',
+         DD_SYM = 'D',
+@@ -109,7 +110,7 @@
+         MM_SYM = 'M',
+         SS_SYM = 'S'
+     };
++
+ };
+ 
+-XALAN_CPP_NAMESPACE_END
+ #endif
+\ No newline at end of file

Added: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/lib/DateTimeLibD.lib
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes%20v0.2/lib/DateTimeLibD.lib?rev=1361650&view=auto
==============================================================================
Binary file - no diff available.

Propchange: xalan/c/branches/GSoC-2012/GSoC-Code/XalanDatesAndTimes v0.2/lib/DateTimeLibD.lib
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: xalan/c/branches/GSoC-2012/GSoC-Code/exclude-src.txt
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/exclude-src.txt?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/exclude-src.txt (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/exclude-src.txt Sun Jul 15 08:11:51 2012
@@ -0,0 +1,13 @@
+.cpp
+.in
+.sub
+.guess
+.bin
+.def
+.idl
+.mk
+.rc
+.rgs
+configure
+StdAfx.h
+resource.h
\ No newline at end of file

Added: xalan/c/branches/GSoC-2012/GSoC-Code/vs71env.bat
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/vs71env.bat?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/vs71env.bat (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/vs71env.bat Sun Jul 15 08:11:51 2012
@@ -0,0 +1,24 @@
+SET PATH=%WINDIR%\system32;%WINDIR%;%WINDIR%\system32\Wbem
+SET INCLUDE=
+SET LIB=
+SET LIBPATH=
+SET SOURCE=
+
+:: -- FOR (X86, Win32) BUILD 32-bit Platforms
+
+call "%VS71COMNTOOLS%\vsvars32.bat"
+:: call "%VS80COMNTOOLS%\vsvars32.bat"
+:: call "%VS90COMNTOOLS%\vsvars32.bat"
+:: call "%VS100COMNTOOLS%\vsvars32.bat"
+
+REM  DEVENV path-to/solution.sln /USEENV
+
+:: -- FOR (X64, Win64) BUILD 64-bit Platforms
+
+:: call "%VS80COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
+:: call "%VS90COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
+:: call "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
+
+REM  DEVENV path-to/solution.sln /USEENV
+
+

Added: xalan/c/branches/GSoC-2012/GSoC-Code/xalan-build-11-31-VC100.bat
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/xalan-build-11-31-VC100.bat?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/xalan-build-11-31-VC100.bat (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/xalan-build-11-31-VC100.bat Sun Jul 15 08:11:51 2012
@@ -0,0 +1,156 @@
+::
+:: COMMAND FILE TO BUILD XALANC WITH MICROSOFT VC++ {6, 7.1, 8, 9, 10}
+:: Studio .NET Command Line Build Architetures "Win32" and "Win64"
+:: 
+
+:: -- The directory where we script build the XERCES-C and XALAN-C sources
+
+SET APACHEHOME=C:\Apache\GSoC-2012
+:: SET APACHEHOME=.
+
+:: -- The Xalan-C Version {1.10=10, 1.11=11}
+
+:: SET XALANC_VER=10
+SET XALANC_VER=11
+
+:: -- The Xerces-C Version {2.7.0=27, 2.8.0=28, 3.1.1=31}
+
+:: SET XERCESC_VER=27
+:: SET XERCESC_VER=28
+SET XERCESC_VER=31
+
+:: -- The Architecture {X86=Win32, X64=Win64}
+
+SET ARCH=Win32
+:: SET Arch=Win64
+
+:: -- The Microsoft Visual Studio C++ Version
+
+:: SET VCVER=VC6
+:: SET VCVER=VC7.1
+:: SET VCVER=VC8
+:: SET VCVER=VC9
+SET VCVER=VC10
+
+:: -- THE ITEMS BELOW CONFIGURE THE BUILD ENVIRONMENT SELECTED ABOVE
+
+:: -- The Xalan Sources {xalan-src-10, xalan-src-11}
+
+SET XALANCROOT=%APACHEHOME%\xalan-src-%XALANC_VER%\c
+
+:: -- The Xalan Solution minus .dlw and .sln extension
+
+SET XSOLUTIONDIR=%XALANCROOT%\Projects\Win32\%VCVER%
+SET XSOLUTIONFILE=Xalan
+
+:: -- The Xerces Binary Installation and Headers
+
+IF NOT "%VCVER%" == "VC6" GOTO tag_vc7
+SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-VC60
+GOTO set_env
+
+:tag_vc7
+IF NOT "%VCVER%" == "VC7.1" GOTO tag_vc8
+SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-VC71
+GOTO set_env
+
+:tag_vc8
+IF NOT "%VCVER%" == "VC8" GOTO tag_vc9 
+IF "%ARCH%" == "Win64" (
+  SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-X64-VC80
+) ELSE (
+  SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-VC80
+)
+GOTO set_env
+
+:tag_vc9
+IF NOT "%VCVER%" == "VC9" GOTO tag_vc10
+IF "%ARCH%" == "Win64" (
+  SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-X64-VC90
+) ELSE (
+  SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-VC90
+)
+GOTO set_env
+
+:tag_vc10
+IF NOT "%VCVER%" == "VC10" GOTO finish
+IF "%ARCH%" == "Win64" (
+  SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-X64-VC100
+) ELSE (
+  SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-VC100
+)
+GOTO set_env
+
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-27-VC60
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-27-VC71
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-28-VC60
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-28-VC71
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-28-VC80
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-28-X64-VC80
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-VC71
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-VC80
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-VC90
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-VC100
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-X64-VC80
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-X64-VC90
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-X64-VC100
+
+:: -- PREPARE DEFAULT ENVIRONMENT - Including Xerces Binary Pkg
+:set_env
+
+SET PATH=%WINDIR%\system32;%WINDIR%;%WINDIR%\system32\Wbem
+SET PATH=%PATH%;%XERCESCROOT%\bin
+SET INCLUDE=%XERCESCROOT%\include
+SET LIB=%XERCESCROOT%\lib
+SET LIBPATH=
+SET SOURCE=
+
+:: -- SET ENVIRONMENTS FOR MICROSOFT SPECIFIC COMPILER
+
+IF NOT "%VCVER%" == "VC6" GOTO vs_vc7
+CALL "C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"
+GOTO do_build
+
+:vs_vc7
+IF NOT "%VCVER%" == "VC7.1" GOTO vs_vc8
+CALL "%VS71COMNTOOLS%\vsvars32.bat"
+GOTO do_build
+
+:vs_vc8
+IF NOT "%VCVER%" == "VC8" GOTO vs_vc9
+IF "%ARCH%" == "Win64" (
+  CALL "%VS80COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
+) ELSE (
+  CALL "%VS80COMNTOOLS%\vsvars32.bat"
+)
+GOTO do_build
+
+:vs_vc9
+IF NOT "%VCVER%" == "VC9" GOTO vs_vc10
+IF "%ARCH%" == "Win64" (
+  CALL "%VS90COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
+) ELSE (
+  CALL "%VS90COMNTOOLS%\vsvars32.bat"
+)
+GOTO do_build
+
+:vs_vc10
+IF NOT "%VCVER%" == "VC10" GOTO finish
+IF "%ARCH%" == "Win64" (
+  CALL "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
+) ELSE (
+  CALL "%VS100COMNTOOLS%\vsvars32.bat"
+)
+GOTO do_build
+
+:: -- ENTER THE MICROSOFT DEVELOPER STUDIO OR .NET FOR SPECIFIC COMPILER
+
+:do_build
+
+IF "%VCVER%" == "VC6" (
+  msdev "%XSOLUTIONDIR%\%XSOLUTIONFILE%.dsw" /useenv
+) ELSE (
+  devenv "%XSOLUTIONDIR%\%XSOLUTIONFILE%.sln" /useenv
+)
+
+:finish

Added: xalan/c/branches/GSoC-2012/GSoC-Code/xalan-build-11-31-VC71.bat
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/xalan-build-11-31-VC71.bat?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/xalan-build-11-31-VC71.bat (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/xalan-build-11-31-VC71.bat Sun Jul 15 08:11:51 2012
@@ -0,0 +1,156 @@
+::
+:: COMMAND FILE TO BUILD XALANC WITH MICROSOFT VC++ {6, 7.1, 8, 9, 10}
+:: Studio .NET Command Line Build Architetures "Win32" and "Win64"
+:: 
+
+:: -- The directory where we script build the XERCES-C and XALAN-C sources
+
+SET APACHEHOME=C:\Apache\GSoC-2012
+:: SET APACHEHOME=.
+
+:: -- The Xalan-C Version {1.10=10, 1.11=11}
+
+:: SET XALANC_VER=10
+SET XALANC_VER=11
+
+:: -- The Xerces-C Version {2.7.0=27, 2.8.0=28, 3.1.1=31}
+
+:: SET XERCESC_VER=27
+:: SET XERCESC_VER=28
+SET XERCESC_VER=31
+
+:: -- The Architecture {X86=Win32, X64=Win64}
+
+SET ARCH=Win32
+:: SET Arch=Win64
+
+:: -- The Microsoft Visual Studio C++ Version
+
+:: SET VCVER=VC6
+SET VCVER=VC7.1
+:: SET VCVER=VC8
+:: SET VCVER=VC9
+:: SET VCVER=VC10
+
+:: -- THE ITEMS BELOW CONFIGURE THE BUILD ENVIRONMENT SELECTED ABOVE
+
+:: -- The Xalan Sources {xalan-src-10, xalan-src-11}
+
+SET XALANCROOT=%APACHEHOME%\xalan-src-%XALANC_VER%\c
+
+:: -- The Xalan Solution minus .dlw and .sln extension
+
+SET XSOLUTIONDIR=%XALANCROOT%\Projects\Win32\%VCVER%
+SET XSOLUTIONFILE=Xalan
+
+:: -- The Xerces Binary Installation and Headers
+
+IF NOT "%VCVER%" == "VC6" GOTO tag_vc7
+SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-VC60
+GOTO set_env
+
+:tag_vc7
+IF NOT "%VCVER%" == "VC7.1" GOTO tag_vc8
+SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-VC71
+GOTO set_env
+
+:tag_vc8
+IF NOT "%VCVER%" == "VC8" GOTO tag_vc9 
+IF "%ARCH%" == "Win64" (
+  SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-X64-VC80
+) ELSE (
+  SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-VC80
+)
+GOTO set_env
+
+:tag_vc9
+IF NOT "%VCVER%" == "VC9" GOTO tag_vc10
+IF "%ARCH%" == "Win64" (
+  SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-X64-VC90
+) ELSE (
+  SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-VC90
+)
+GOTO set_env
+
+:tag_vc10
+IF NOT "%VCVER%" == "VC10" GOTO finish
+IF "%ARCH%" == "Win64" (
+  SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-X64-VC100
+) ELSE (
+  SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-VC100
+)
+GOTO set_env
+
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-27-VC60
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-27-VC71
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-28-VC60
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-28-VC71
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-28-VC80
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-28-X64-VC80
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-VC71
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-VC80
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-VC90
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-VC100
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-X64-VC80
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-X64-VC90
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-X64-VC100
+
+:: -- PREPARE DEFAULT ENVIRONMENT - Including Xerces Binary Pkg
+
+:set_env
+SET PATH=%WINDIR%\system32;%WINDIR%;%WINDIR%\system32\Wbem
+SET PATH=%PATH%;%XERCESCROOT%\bin
+SET INCLUDE=%XERCESCROOT%\include
+SET LIB=%XERCESCROOT%\lib
+SET LIBPATH=
+SET SOURCE=
+
+:: -- SET ENVIRONMENTS FOR MICROSOFT SPECIFIC COMPILER
+
+IF NOT "%VCVER%" == "VC6" GOTO vs_vc7
+CALL "C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"
+GOTO do_build
+
+:vs_vc7
+IF NOT "%VCVER%" == "VC7.1" GOTO vs_vc8
+CALL "%VS71COMNTOOLS%\vsvars32.bat"
+GOTO do_build
+
+:vs_vc8
+IF NOT "%VCVER%" == "VC8" GOTO vs_vc9
+IF "%ARCH%" == "Win64" (
+  CALL "%VS80COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
+) ELSE (
+  CALL "%VS80COMNTOOLS%\vsvars32.bat"
+)
+GOTO do_build
+
+:vs_vc9
+IF NOT "%VCVER%" == "VC9" GOTO vs_vc10
+IF "%ARCH%" == "Win64" (
+  CALL "%VS90COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
+) ELSE (
+  CALL "%VS90COMNTOOLS%\vsvars32.bat"
+)
+GOTO do_build
+
+:vs_vc10
+IF NOT "%VCVER%" == "VC10" GOTO finish
+IF "%ARCH%" == "Win64" (
+  CALL "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
+) ELSE (
+  CALL "%VS100COMNTOOLS%\vsvars32.bat"
+)
+GOTO do_build
+
+:: -- ENTER THE MICROSOFT DEVELOPER STUDIO OR .NET FOR SPECIFIC COMPILER
+
+:do_build
+
+IF "%VCVER%" == "VC6" (
+  msdev "%XSOLUTIONDIR%\%XSOLUTIONFILE%.dsw" /useenv
+) ELSE (
+  devenv "%XSOLUTIONDIR%\%XSOLUTIONFILE%.sln" /useenv
+)
+
+:finish

Added: xalan/c/branches/GSoC-2012/GSoC-Code/xalan-build-11-31-X64-VC100.bat
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/xalan-build-11-31-X64-VC100.bat?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/xalan-build-11-31-X64-VC100.bat (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/xalan-build-11-31-X64-VC100.bat Sun Jul 15 08:11:51 2012
@@ -0,0 +1,156 @@
+::
+:: COMMAND FILE TO BUILD XALANC WITH MICROSOFT VC++ {6, 7.1, 8, 9, 10}
+:: Studio .NET Command Line Build Architetures "Win32" and "Win64"
+:: 
+
+:: -- The directory where we script build the XERCES-C and XALAN-C sources
+
+SET APACHEHOME=C:\Apache\GSoC-2012
+:: SET APACHEHOME=.
+
+:: -- The Xalan-C Version {1.10=10, 1.11=11}
+
+:: SET XALANC_VER=10
+SET XALANC_VER=11
+
+:: -- The Xerces-C Version {2.7.0=27, 2.8.0=28, 3.1.1=31}
+
+:: SET XERCESC_VER=27
+:: SET XERCESC_VER=28
+SET XERCESC_VER=31
+
+:: -- The Architecture {X86=Win32, X64=Win64}
+
+:: SET ARCH=Win32
+SET Arch=Win64
+
+:: -- The Microsoft Visual Studio C++ Version
+
+:: SET VCVER=VC6
+:: SET VCVER=VC7.1
+:: SET VCVER=VC8
+:: SET VCVER=VC9
+SET VCVER=VC10
+
+:: -- THE ITEMS BELOW CONFIGURE THE BUILD ENVIRONMENT SELECTED ABOVE
+
+:: -- The Xalan Sources {xalan-src-10, xalan-src-11}
+
+SET XALANCROOT=%APACHEHOME%\xalan-src-%XALANC_VER%\c
+
+:: -- The Xalan Solution minus .dlw and .sln extension
+
+SET XSOLUTIONDIR=%XALANCROOT%\Projects\Win32\%VCVER%
+SET XSOLUTIONFILE=Xalan
+
+:: -- The Xerces Binary Installation and Headers
+
+IF NOT "%VCVER%" == "VC6" GOTO tag_vc7
+SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-VC60
+GOTO set_env
+
+:tag_vc7
+IF NOT "%VCVER%" == "VC7.1" GOTO tag_vc8
+SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-VC71
+GOTO set_env
+
+:tag_vc8
+IF NOT "%VCVER%" == "VC8" GOTO tag_vc9 
+IF "%ARCH%" == "Win64" (
+  SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-X64-VC80
+) ELSE (
+  SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-VC80
+)
+GOTO set_env
+
+:tag_vc9
+IF NOT "%VCVER%" == "VC9" GOTO tag_vc10
+IF "%ARCH%" == "Win64" (
+  SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-X64-VC90
+) ELSE (
+  SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-VC90
+)
+GOTO set_env
+
+:tag_vc10
+IF NOT "%VCVER%" == "VC10" GOTO finish
+IF "%ARCH%" == "Win64" (
+  SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-X64-VC100
+) ELSE (
+  SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-%XERCESC_VER%-VC100
+)
+GOTO set_env
+
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-27-VC60
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-27-VC71
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-28-VC60
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-28-VC71
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-28-VC80
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-28-X64-VC80
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-VC71
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-VC80
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-VC90
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-VC100
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-X64-VC80
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-X64-VC90
+:: SET XERCESCROOT=%APACHEHOME%\XERCESCPKG-31-X64-VC100
+
+:: -- PREPARE DEFAULT ENVIRONMENT - Including Xerces Binary Pkg
+:set_env
+
+SET PATH=%WINDIR%\system32;%WINDIR%;%WINDIR%\system32\Wbem
+SET PATH=%PATH%;%XERCESCROOT%\bin
+SET INCLUDE=%XERCESCROOT%\include
+SET LIB=%XERCESCROOT%\lib
+SET LIBPATH=
+SET SOURCE=
+
+:: -- SET ENVIRONMENTS FOR MICROSOFT SPECIFIC COMPILER
+
+IF NOT "%VCVER%" == "VC6" GOTO vs_vc7
+CALL "C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"
+GOTO do_build
+
+:vs_vc7
+IF NOT "%VCVER%" == "VC7.1" GOTO vs_vc8
+CALL "%VS71COMNTOOLS%\vsvars32.bat"
+GOTO do_build
+
+:vs_vc8
+IF NOT "%VCVER%" == "VC8" GOTO vs_vc9
+IF "%ARCH%" == "Win64" (
+  CALL "%VS80COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
+) ELSE (
+  CALL "%VS80COMNTOOLS%\vsvars32.bat"
+)
+GOTO do_build
+
+:vs_vc9
+IF NOT "%VCVER%" == "VC9" GOTO vs_vc10
+IF "%ARCH%" == "Win64" (
+  CALL "%VS90COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
+) ELSE (
+  CALL "%VS90COMNTOOLS%\vsvars32.bat"
+)
+GOTO do_build
+
+:vs_vc10
+IF NOT "%VCVER%" == "VC10" GOTO finish
+IF "%ARCH%" == "Win64" (
+  CALL "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
+) ELSE (
+  CALL "%VS100COMNTOOLS%\vsvars32.bat"
+)
+GOTO do_build
+
+:: -- ENTER THE MICROSOFT DEVELOPER STUDIO OR .NET FOR SPECIFIC COMPILER
+
+:do_build
+
+IF "%VCVER%" == "VC6" (
+  msdev "%XSOLUTIONDIR%\%XSOLUTIONFILE%.dsw" /useenv
+) ELSE (
+  devenv "%XSOLUTIONDIR%\%XSOLUTIONFILE%.sln" /useenv
+)
+
+:finish

Added: xalan/c/branches/GSoC-2012/GSoC-Code/xalan-inst-11-31-VC100.bat
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/xalan-inst-11-31-VC100.bat?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/xalan-inst-11-31-VC100.bat (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/xalan-inst-11-31-VC100.bat Sun Jul 15 08:11:51 2012
@@ -0,0 +1,110 @@
+::
+:: FILE TO INSTALL XALANC TO BINARY PACKAGE CREATED FROM SOURCE
+::
+
+
+:: -- The XALAN-C Source Version {10, 11}
+
+:: SET XALANC_VER=10
+SET XALANC_VER=11
+
+:: -- The XERCES-C Source Version {2.7.0=27, 2.8.0=28, 3.1.1=31}
+
+:: SET XERCESC_VER=27
+:: SET XERCESC_VER=28
+SET XERCESC_VER=31
+
+:: -- The Binary Target Architecture {X86=Win32, X64=Win64}
+
+SET ARCH=Win32
+:: SET ARCH=Win64
+
+:: -- The Microsoft Studio C++ Version {6, 7.1, 8, 9, 10}
+
+:: SET VCVER=VC6
+:: SET VCVER=VC7.1
+:: SET VCVER=VC8
+:: SET VCVER=VC9
+SET VCVER=VC10
+
+:: -- Set the target package directory
+
+PKGDIR=XALANCPKG
+
+IF "%VCVER%" == "VC6" (
+  SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-VC60
+)
+
+IF "%VCVER%" == "VC7.1" (
+  SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-VC71
+)
+
+IF "%VCVER%" == "VC8" (
+  IF "%ARCH%" == "Win64" (
+    SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-X64-VC80
+  ) ELSE SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-VC80
+)
+
+IF "%VCVER%" == "VC9" (
+  IF "%ARCH%" == "Win64" (
+    SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-X64-VC90
+  ) ELSE SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-VC90
+)
+
+IF "%VCVER%" == "VC10" (
+  IF "%ARCH%" == "Win64" (
+    SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-X64-VC100
+  ) ELSE SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-VC100
+)
+
+:: -- The XALANC Source Directory {xalan-src-10\c, xalan-src-11\c}
+
+SET SRCDIR=xalan-src-%XALANC_VER%\c
+
+:: -- Create the Target Directory Tree
+
+mkdir "%PKGDIR%"
+mkdir "%PKGDIR%\bin"
+mkdir "%PKGDIR%\lib"
+mkdir "%PKGDIR%\include"
+mkdir "%PKGDIR%\doc"
+mkdir "%PKGDIR%\doc\xalanc"
+
+:: -- Copy the LICENSE and NOTICE Files
+
+copy "%SRCDIR%\LICENSE" "%PKGDIR%\doc\xalanc"
+copy "%SRCDIR%\NOTICE"  "%PKGDIR%\doc\xalanc"
+
+:: --- NOW TO COPY THE FILES FROM SOURCE REPOSITORY TO PACKAGE ---
+
+:DebugBuild
+
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug" GOTO ReleaseBuild
+
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.exe" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.dll" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.pdb" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.lib" "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.exp" "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\NLS\Include\*.hpp" "%PKGDIR%\include"
+
+:ReleaseBuild
+
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\Release" GOTO IncludeLibrary
+
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.exe" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.dll" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.pdb" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.lib" "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.exp" "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\NLS\Include\*.hpp" "%PKGDIR%\include"
+
+:: -- INCLUDE LIBRARY --
+
+:IncludeLibrary
+
+IF NOT EXIST "%SRCDIR%\src\xalanc" GOTO finish
+
+XCOPY /I /F /R /Y /C /E "%SRCDIR%\src\xalanc" "%PKGDIR%\include\xalanc" /EXCLUDE:exclude-src.txt
+
+:finish

Added: xalan/c/branches/GSoC-2012/GSoC-Code/xalan-inst-11-31-VC71.bat
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/xalan-inst-11-31-VC71.bat?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/xalan-inst-11-31-VC71.bat (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/xalan-inst-11-31-VC71.bat Sun Jul 15 08:11:51 2012
@@ -0,0 +1,112 @@
+::
+:: FILE TO INSTALL XALANC TO BINARY PACKAGE CREATED FROM SOURCE
+::
+
+
+:: -- The XALAN-C Source Version {10, 11}
+
+:: SET XALANC_VER=10
+SET XALANC_VER=11
+
+:: -- The XERCES-C Source Version {2.7.0=27, 2.8.0=28, 3.1.1=31}
+
+:: SET XERCESC_VER=27
+:: SET XERCESC_VER=28
+SET XERCESC_VER=31
+
+:: -- The Binary Target Architecture {X86=Win32, X64=Win64}
+
+SET ARCH=Win32
+:: SET ARCH=Win64
+
+:: -- The Microsoft Studio C++ Version {6, 7.1, 8, 9, 10}
+
+:: SET VCVER=VC6
+SET VCVER=VC7.1
+:: SET VCVER=VC8
+:: SET VCVER=VC9
+:: SET VCVER=VC10
+
+:: -- Set the target package directory
+
+PKGDIR=XALANCPKG
+
+IF "%VCVER%" == "VC6" (
+  SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-VC60
+)
+
+IF "%VCVER%" == "VC7.1" (
+  SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-VC71
+)
+
+IF "%VCVER%" == "VC8" (
+  IF "%ARCH%" == "Win64" (
+    SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-X64-VC80
+  ) ELSE SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-VC80
+)
+
+IF "%VCVER%" == "VC9" (
+  IF "%ARCH%" == "Win64" (
+    SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-X64-VC90
+  ) ELSE SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-VC90
+)
+
+IF "%VCVER%" == "VC10" (
+  IF "%ARCH%" == "Win64" (
+    SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-X64-VC100
+  ) ELSE SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-VC100
+)
+
+:: -- The XALANC Source Directory {xalan-src-10\c, xalan-src-11\c}
+
+SET SRCDIR=xalan-src-%XALANC_VER%\c
+
+:: -- Create the Target Directory Tree
+
+mkdir "%PKGDIR%"
+mkdir "%PKGDIR%\bin"
+mkdir "%PKGDIR%\lib"
+mkdir "%PKGDIR%\include"
+mkdir "%PKGDIR%\doc"
+mkdir "%PKGDIR%\doc\xalanc"
+
+:: -- Copy the LICENSE and NOTICE Files
+
+copy "%SRCDIR%\LICENSE" "%PKGDIR%\doc\xalanc"
+copy "%SRCDIR%\NOTICE"  "%PKGDIR%\doc\xalanc"
+
+:: --- NOW TO COPY THE FILES FROM SOURCE REPOSITORY TO PACKAGE ---
+
+:DebugBuild
+
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug" GOTO ReleaseBuild
+
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.exe" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.dll" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.pdb" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.ilk" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.lib" "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.exp" "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\NLS\Include\*.hpp" "%PKGDIR%\include"
+
+:ReleaseBuild
+
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\Release" GOTO IncludeLibrary
+
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.exe" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.dll" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.pdb" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.ilk" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.lib" "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.exp" "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\NLS\Include\*.hpp" "%PKGDIR%\include"
+
+:: -- INCLUDE LIBRARY --
+
+:IncludeLibrary
+
+IF NOT EXIST "%SRCDIR%\src\xalanc" GOTO finish
+
+XCOPY /I /F /R /Y /C /E "%SRCDIR%\src\xalanc" "%PKGDIR%\include\xalanc" /EXCLUDE:exclude-src.txt
+
+:finish

Added: xalan/c/branches/GSoC-2012/GSoC-Code/xalan-inst-11-31-X64-VC100.bat
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/xalan-inst-11-31-X64-VC100.bat?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/xalan-inst-11-31-X64-VC100.bat (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/xalan-inst-11-31-X64-VC100.bat Sun Jul 15 08:11:51 2012
@@ -0,0 +1,110 @@
+::
+:: FILE TO INSTALL XALANC TO BINARY PACKAGE CREATED FROM SOURCE
+::
+
+
+:: -- The XALAN-C Source Version {10, 11}
+
+:: SET XALANC_VER=10
+SET XALANC_VER=11
+
+:: -- The XERCES-C Source Version {2.7.0=27, 2.8.0=28, 3.1.1=31}
+
+:: SET XERCESC_VER=27
+:: SET XERCESC_VER=28
+SET XERCESC_VER=31
+
+:: -- The Binary Target Architecture {X86=Win32, X64=Win64}
+
+:: SET ARCH=Win32
+SET ARCH=Win64
+
+:: -- The Microsoft Studio C++ Version {6, 7.1, 8, 9, 10}
+
+:: SET VCVER=VC6
+:: SET VCVER=VC7.1
+:: SET VCVER=VC8
+:: SET VCVER=VC9
+SET VCVER=VC10
+
+:: -- Set the target package directory
+
+PKGDIR=XALANCPKG
+
+IF "%VCVER%" == "VC6" (
+  SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-VC60
+)
+
+IF "%VCVER%" == "VC7.1" (
+  SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-VC71
+)
+
+IF "%VCVER%" == "VC8" (
+  IF "%ARCH%" == "Win64" (
+    SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-X64-VC80
+  ) ELSE SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-VC80
+)
+
+IF "%VCVER%" == "VC9" (
+  IF "%ARCH%" == "Win64" (
+    SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-X64-VC90
+  ) ELSE SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-VC90
+)
+
+IF "%VCVER%" == "VC10" (
+  IF "%ARCH%" == "Win64" (
+    SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-X64-VC100
+  ) ELSE SET PKGDIR=XALANCPKG-%XALANC_VER%-%XERCESC_VER%-VC100
+)
+
+:: -- The XALANC Source Directory {xalan-src-10\c, xalan-src-11\c}
+
+SET SRCDIR=xalan-src-%XALANC_VER%\c
+
+:: -- Create the Target Directory Tree
+
+mkdir "%PKGDIR%"
+mkdir "%PKGDIR%\bin"
+mkdir "%PKGDIR%\lib"
+mkdir "%PKGDIR%\include"
+mkdir "%PKGDIR%\doc"
+mkdir "%PKGDIR%\doc\xalanc"
+
+:: -- Copy the LICENSE and NOTICE Files
+
+copy "%SRCDIR%\LICENSE" "%PKGDIR%\doc\xalanc"
+copy "%SRCDIR%\NOTICE"  "%PKGDIR%\doc\xalanc"
+
+:: --- NOW TO COPY THE FILES FROM SOURCE REPOSITORY TO PACKAGE ---
+
+:DebugBuild
+
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug" GOTO ReleaseBuild
+
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.exe" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.dll" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.pdb" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.lib" "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.exp" "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug\NLS\Include\*.hpp" "%PKGDIR%\include"
+
+:ReleaseBuild
+
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\Release" GOTO IncludeLibrary
+
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.exe" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.dll" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.pdb" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.lib" "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.exp" "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Release\NLS\Include\*.hpp" "%PKGDIR%\include"
+
+:: -- INCLUDE LIBRARY --
+
+:IncludeLibrary
+
+IF NOT EXIST "%SRCDIR%\src\xalanc" GOTO finish
+
+XCOPY /I /F /R /Y /C /E "%SRCDIR%\src\xalanc" "%PKGDIR%\include\xalanc" /EXCLUDE:exclude-src.txt
+
+:finish

Added: xalan/c/branches/GSoC-2012/GSoC-Code/xerces-build-31-VC100.bat
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/xerces-build-31-VC100.bat?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/xerces-build-31-VC100.bat (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/xerces-build-31-VC100.bat Sun Jul 15 08:11:51 2012
@@ -0,0 +1,83 @@
+::
+:: FILE TO LAUNCH VISUAL STUDIO.NET FOR XERCES BUILDS
+::
+
+:: SET SRCDIR=xerces-src-27
+:: SET SRCDIR=xerces-src-28
+SET SRCDIR=xerces-src-31
+
+:: SET VCVER=VC6
+:: SET VCVER=VC7.1
+:: SET VCVER=VC8
+:: SET VCVER=VC9
+SET VCVER=VC10
+
+SET ARCH=Win32
+:: SET ARCH=Win64
+
+IF "%VCVER%" == "VC6" (
+  SET XSOLUTIONFILE=%SRCDIR%\Projects\Win32\%VCVER%\xerces-all\xerces-all.dsw
+) ELSE (
+  SET XSOLUTIONFILE=%SRCDIR%\Projects\Win32\%VCVER%\xerces-all\xerces-all.sln
+)
+
+:: -- SETUP ENVIRONMENT FOR devenv /USEENV
+
+SET PATH=%WINDIR%\system32;%WINDIR%;%WINDIR%\system32\Wbem
+SET INCLUDE=
+SET LIB=
+SET LIBPATH=
+SET SOURCE=
+
+
+IF NOT "%VCVER%" == "VC6" GOTO test_vc7
+CALL "C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"
+GOTO enter_build
+
+:test_vc7
+IF NOT "%VCVER%" == "VC7.1" GOTO test_vc8
+CALL "%VS71COMNTOOLS%\vsvars32.bat"
+GOTO enter_build
+
+:test_vc8
+IF NOT "%VCVER%" == "VC8" GOTO test_vc9
+IF "%ARCH%" == "Win64" GOTO win64_vc8
+CALL "%VS80COMNTOOLS%\vsvars32.bat"
+GOTO enter_build
+
+:win64_vc8
+CALL "%VS80COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64 
+GOTO enter_build
+
+:test_vc9
+IF NOT "%VCVER%" == "VC9" GOTO test_vc10
+IF "%ARCH%" == "Win64" GOTO win64_vc9
+CALL "%VS90COMNTOOLS%\vsvars32.bat"
+GOTO enter_build
+
+:win64_vc9
+CALL "%VS90COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
+GOTO enter_build
+
+:test_vc10
+IF NOT "%VCVER%" == "VC10" GOTO finish
+IF "%ARCH%" == "Win64" GOTO win64_vc10
+CALL "%VS100COMNTOOLS%\vsvars32.bat"
+GOTO enter_build
+
+:win64_vc10
+CALL "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
+GOTO enter_build
+
+:: -- ENTER THE DEVELOPMENT ENVIRONMENT --
+
+:enter_build
+
+IF "%VCVER%" == "VC6" (
+:: MSDEV %XSOLUTIONFILE% /MAKE "XercesLib - Win32" /USEENV /OUT "XercesLib-Output.log"
+   MSDEV %XSOLUTIONFILE% /USEENV
+) ELSE (
+   devenv %XSOLUTIONFILE% /useenv
+)
+
+:finish
\ No newline at end of file

Added: xalan/c/branches/GSoC-2012/GSoC-Code/xerces-build-31-VC71.bat
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/xerces-build-31-VC71.bat?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/xerces-build-31-VC71.bat (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/xerces-build-31-VC71.bat Sun Jul 15 08:11:51 2012
@@ -0,0 +1,83 @@
+::
+:: FILE TO LAUNCH VISUAL STUDIO.NET FOR XERCES BUILDS
+::
+
+:: SET SRCDIR=xerces-src-27
+:: SET SRCDIR=xerces-src-28
+SET SRCDIR=xerces-src-31
+
+:: SET VCVER=VC6
+SET VCVER=VC7.1
+:: SET VCVER=VC8
+:: SET VCVER=VC9
+:: SET VCVER=VC10
+
+SET ARCH=Win32
+:: SET ARCH=Win64
+
+IF "%VCVER%" == "VC6" (
+  SET XSOLUTIONFILE=%SRCDIR%\Projects\%ARCH%\%VCVER%\xerces-all\xerces-all.dsw
+) ELSE (
+  SET XSOLUTIONFILE=%SRCDIR%\Projects\%ARCH%\%VCVER%\xerces-all\xerces-all.sln
+)
+
+:: -- SETUP ENVIRONMENT FOR devenv /USEENV
+
+SET PATH=%WINDIR%\system32;%WINDIR%;%WINDIR%\system32\Wbem
+SET INCLUDE=
+SET LIB=
+SET LIBPATH=
+SET SOURCE=
+
+
+IF NOT "%VCVER%" == "VC6" GOTO test_vc7
+CALL "C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"
+GOTO enter_build
+
+:test_vc7
+IF NOT "%VCVER%" == "VC7.1" GOTO test_vc8
+CALL "%VS71COMNTOOLS%\vsvars32.bat"
+GOTO enter_build
+
+:test_vc8
+IF NOT "%VCVER%" == "VC8" GOTO test_vc9
+IF "%ARCH%" == "Win64" GOTO win64_vc8
+CALL "%VS80COMNTOOLS%\vsvars32.bat"
+GOTO enter_build
+
+:win64_vc8
+CALL "%VS80COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64 
+GOTO enter_build
+
+:test_vc9
+IF NOT "%VCVER%" == "VC9" GOTO test_vc10
+IF "%ARCH%" == "Win64" GOTO win64_vc9
+CALL "%VS90COMNTOOLS%\vsvars32.bat"
+GOTO enter_build
+
+:win64_vc9
+CALL "%VS90COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
+GOTO enter_build
+
+:test_vc10
+IF NOT "%VCVER%" == "VC10" GOTO finish
+IF "%ARCH%" == "Win64" GOTO win64_vc10
+CALL "%VS100COMNTOOLS%\vsvars32.bat"
+GOTO enter_build
+
+:win64_vc10
+CALL "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
+GOTO enter_build
+
+:: -- ENTER THE DEVELOPMENT ENVIRONMENT --
+
+:enter_build
+
+IF "%VCVER%" == "VC6" (
+:: MSDEV %XSOLUTIONFILE% /MAKE "XercesLib - Win32" /USEENV /OUT "XercesLib-Output.log"
+   MSDEV %XSOLUTIONFILE% /USEENV
+) ELSE (
+   devenv %XSOLUTIONFILE% /useenv
+)
+
+:finish
\ No newline at end of file

Added: xalan/c/branches/GSoC-2012/GSoC-Code/xerces-build-31-X64-VC100.bat
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/xerces-build-31-X64-VC100.bat?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/xerces-build-31-X64-VC100.bat (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/xerces-build-31-X64-VC100.bat Sun Jul 15 08:11:51 2012
@@ -0,0 +1,83 @@
+::
+:: FILE TO LAUNCH VISUAL STUDIO.NET FOR XERCES BUILDS
+::
+
+:: SET SRCDIR=xerces-src-27
+:: SET SRCDIR=xerces-src-28
+SET SRCDIR=xerces-src-31
+
+:: SET VCVER=VC6
+:: SET VCVER=VC7.1
+:: SET VCVER=VC8
+:: SET VCVER=VC9
+SET VCVER=VC10
+
+:: SET ARCH=Win32
+SET ARCH=Win64
+
+IF "%VCVER%" == "VC6" (
+  SET XSOLUTIONFILE=%SRCDIR%\Projects\Win32\%VCVER%\xerces-all\xerces-all.dsw
+) ELSE (
+  SET XSOLUTIONFILE=%SRCDIR%\Projects\Win32\%VCVER%\xerces-all\xerces-all.sln
+)
+
+:: -- SETUP ENVIRONMENT FOR devenv /USEENV
+
+SET PATH=%WINDIR%\system32;%WINDIR%;%WINDIR%\system32\Wbem
+SET INCLUDE=
+SET LIB=
+SET LIBPATH=
+SET SOURCE=
+
+
+IF NOT "%VCVER%" == "VC6" GOTO test_vc7
+CALL "C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"
+GOTO enter_build
+
+:test_vc7
+IF NOT "%VCVER%" == "VC7.1" GOTO test_vc8
+CALL "%VS71COMNTOOLS%\vsvars32.bat"
+GOTO enter_build
+
+:test_vc8
+IF NOT "%VCVER%" == "VC8" GOTO test_vc9
+IF "%ARCH%" == "Win64" GOTO win64_vc8
+CALL "%VS80COMNTOOLS%\vsvars32.bat"
+GOTO enter_build
+
+:win64_vc8
+CALL "%VS80COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64 
+GOTO enter_build
+
+:test_vc9
+IF NOT "%VCVER%" == "VC9" GOTO test_vc10
+IF "%ARCH%" == "Win64" GOTO win64_vc9
+CALL "%VS90COMNTOOLS%\vsvars32.bat"
+GOTO enter_build
+
+:win64_vc9
+CALL "%VS90COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
+GOTO enter_build
+
+:test_vc10
+IF NOT "%VCVER%" == "VC10" GOTO finish
+IF "%ARCH%" == "Win64" GOTO win64_vc10
+CALL "%VS100COMNTOOLS%\vsvars32.bat"
+GOTO enter_build
+
+:win64_vc10
+CALL "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
+GOTO enter_build
+
+:: -- ENTER THE DEVELOPMENT ENVIRONMENT --
+
+:enter_build
+
+IF "%VCVER%" == "VC6" (
+:: MSDEV %XSOLUTIONFILE% /MAKE "XercesLib - Win32" /USEENV /OUT "XercesLib-Output.log"
+   MSDEV %XSOLUTIONFILE% /USEENV
+) ELSE (
+   devenv %XSOLUTIONFILE% /useenv
+)
+
+:finish
\ No newline at end of file

Added: xalan/c/branches/GSoC-2012/GSoC-Code/xerces-inst-31-VC100.bat
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/xerces-inst-31-VC100.bat?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/xerces-inst-31-VC100.bat (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/xerces-inst-31-VC100.bat Sun Jul 15 08:11:51 2012
@@ -0,0 +1,145 @@
+::
+:: FILE TO INSTALL XERCES BINARY PACKAGE CREATED FROM SOURCE
+::
+
+:: SET VCVER=VC6
+:: SET VCVER=VC7.1
+:: SET VCVER=VC8
+:: SET VCVER=VC9
+SET VCVER=VC10
+
+SET ARCH=Win32
+:: SET ARCH=Win64
+
+:: SET XERCESC_VER=27
+:: SET XERCESC_VER=28
+SET XERCESC_VER=31
+
+:: -- XERCES-C Source Directory {xerces-src-27, xerces-src-28, xerces-src-31}
+
+SET SRCDIR=xerces-src-%XERCESC_VER%
+
+SET PKGDIR=XERCESCPKG
+
+IF NOT "%VCVER%" == "VC6" GOTO test_vc7
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-VC60
+GOTO do_install_pkg
+
+:test_vc7
+
+IF NOT "%VCVER%" == "VC7.1" GOTO test_vc8
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-VC71
+GOTO do_install_pkg
+
+:test_vc8
+
+IF NOT "%VCVER%" == "VC8" GOTO test_vc9
+IF "%ARCH%" == "Win64" GOTO win64_vc8
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-VC80
+GOTO do_install_pkg
+
+:win64_vc8
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-X64-VC80
+GOTO do_install_pkg
+
+:test_vc9
+
+IF NOT "%VCVER%" == "VC9" GOTO test_vc10
+IF "%ARCH%" == "Win64" GOTO win64_vc9
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-VC90
+GOTO do_install_pkg
+
+:win64_vc9
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-X64-VC90
+GOTO do_install_pkg
+
+:test_vc10
+
+IF NOT "%VCVER%" == "VC10" GOTO finish
+IF "%ARCH%" == "Win64" GOTO win64_vc10
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-VC100
+GOTO do_install_pkg
+
+:win64_vc10
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-X64-VC100
+GOTO do_install_pkg
+
+:do_install_pkg
+
+mkdir "%PKGDIR%"
+mkdir "%PKGDIR%\bin"
+mkdir "%PKGDIR%\lib"
+
+:: --- NOW TO COPY THE FILES FROM SOURCE REPOSITORY TO PACKAGE ---
+
+:StaticDebugBuild
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug" GOTO StaticDebugBuild2
+
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug\*.exe "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug\*.dll "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug\*.pdb "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug\*.ilk "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug\*.lib "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug\*.exp "%PKGDIR%\lib"
+
+:StaticDebugBuild2
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug" GOTO StaticReleaseBuild
+
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug\*.exe" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug\*.dll" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug\*.pdb" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug\*.ilk" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug\*.lib" "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug\*.exp" "%PKGDIR%\lib"
+
+:StaticReleaseBuild
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease" GOTO StaticReleaseBuild2
+
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease\*.exe "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease\*.dll "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease\*.pdb "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease\*.ilk "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease\*.lib "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease\*.exp "%PKGDIR%\lib"
+
+:StaticReleaseBuild2
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release" GOTO DebugBuild
+
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release\*.exe" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release\*.dll" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release\*.pdb" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release\*.ilk" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release\*.lib" "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release\*.exp" "%PKGDIR%\lib"
+
+:: -- DEBUG BUILD --
+
+:DebugBuild
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug" GOTO ReleaseBuild
+
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.exe "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.dll "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.pdb "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.ilk "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.lib "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.exp "%PKGDIR%\lib"
+
+:: -- RELEASE BUILD --
+
+:ReleaseBuild
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\Release" GOTO IncludeLibrary
+
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.exe "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.dll "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.pdb "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.ilk "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.lib "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.exp "%PKGDIR%\lib"
+
+:: -- INCLUDE LIBRARY --
+
+:IncludeLibrary
+
+XCOPY /I /F /R /Y /C /E %SRCDIR%\src\xercesc  "%PKGDIR%\include\xercesc" /EXCLUDE:exclude-src.txt
+
+:finish

Added: xalan/c/branches/GSoC-2012/GSoC-Code/xerces-inst-31-VC71.bat
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/xerces-inst-31-VC71.bat?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/xerces-inst-31-VC71.bat (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/xerces-inst-31-VC71.bat Sun Jul 15 08:11:51 2012
@@ -0,0 +1,145 @@
+::
+:: FILE TO INSTALL XERCES BINARY PACKAGE CREATED FROM SOURCE
+::
+
+:: SET VCVER=VC6
+SET VCVER=VC7.1
+:: SET VCVER=VC8
+:: SET VCVER=VC9
+:: SET VCVER=VC10
+
+SET ARCH=Win32
+:: SET ARCH=Win64
+
+:: SET XERCESC_VER=27
+:: SET XERCESC_VER=28
+SET XERCESC_VER=31
+
+:: -- XERCES-C Source Directory {xerces-src-27, xerces-src-28, xerces-src-31}
+
+SET SRCDIR=xerces-src-%XERCESC_VER%
+
+SET PKGDIR=XERCESCPKG
+
+IF NOT "%VCVER%" == "VC6" GOTO test_vc7
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-VC60
+GOTO do_install_pkg
+
+:test_vc7
+
+IF NOT "%VCVER%" == "VC7.1" GOTO test_vc8
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-VC71
+GOTO do_install_pkg
+
+:test_vc8
+
+IF NOT "%VCVER%" == "VC8" GOTO test_vc9
+IF "%ARCH%" == "Win64" GOTO win64_vc8
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-VC80
+GOTO do_install_pkg
+
+:win64_vc8
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-X64-VC80
+GOTO do_install_pkg
+
+:test_vc9
+
+IF NOT "%VCVER%" == "VC9" GOTO test_vc10
+IF "%ARCH%" == "Win64" GOTO win64_vc9
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-VC90
+GOTO do_install_pkg
+
+:win64_vc9
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-X64-VC90
+GOTO do_install_pkg
+
+:test_vc10
+
+IF NOT "%VCVER%" == "VC10" GOTO finish
+IF "%ARCH%" == "Win64" GOTO win64_vc10
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-VC100
+GOTO do_install_pkg
+
+:win64_vc10
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-X64-VC100
+GOTO do_install_pkg
+
+:do_install_pkg
+
+mkdir "%PKGDIR%"
+mkdir "%PKGDIR%\bin"
+mkdir "%PKGDIR%\lib"
+
+:: --- NOW TO COPY THE FILES FROM SOURCE REPOSITORY TO PACKAGE ---
+
+:StaticDebugBuild
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug" GOTO StaticDebugBuild2
+
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug\*.exe "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug\*.dll "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug\*.pdb "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug\*.ilk "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug\*.lib "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug\*.exp "%PKGDIR%\lib"
+
+:StaticDebugBuild2
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug" GOTO StaticReleaseBuild
+
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug\*.exe" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug\*.dll" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug\*.pdb" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug\*.ilk" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug\*.lib" "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug\*.exp" "%PKGDIR%\lib"
+
+:StaticReleaseBuild
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease" GOTO StaticReleaseBuild2
+
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease\*.exe "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease\*.dll "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease\*.pdb "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease\*.ilk "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease\*.lib "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease\*.exp "%PKGDIR%\lib"
+
+:StaticReleaseBuild2
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release" GOTO DebugBuild
+
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release\*.exe" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release\*.dll" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release\*.pdb" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release\*.ilk" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release\*.lib" "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release\*.exp" "%PKGDIR%\lib"
+
+:: -- DEBUG BUILD --
+
+:DebugBuild
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug" GOTO ReleaseBuild
+
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.exe "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.dll "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.pdb "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.ilk "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.lib "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.exp "%PKGDIR%\lib"
+
+:: -- RELEASE BUILD --
+
+:ReleaseBuild
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\Release" GOTO IncludeLibrary
+
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.exe "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.dll "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.pdb "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.ilk "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.lib "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.exp "%PKGDIR%\lib"
+
+:: -- INCLUDE LIBRARY --
+
+:IncludeLibrary
+
+XCOPY /I /F /R /Y /C /E %SRCDIR%\src\xercesc  "%PKGDIR%\include\xercesc" /EXCLUDE:exclude-src.txt
+
+:finish

Added: xalan/c/branches/GSoC-2012/GSoC-Code/xerces-inst-31-X64-VC100.bat
URL: http://svn.apache.org/viewvc/xalan/c/branches/GSoC-2012/GSoC-Code/xerces-inst-31-X64-VC100.bat?rev=1361650&view=auto
==============================================================================
--- xalan/c/branches/GSoC-2012/GSoC-Code/xerces-inst-31-X64-VC100.bat (added)
+++ xalan/c/branches/GSoC-2012/GSoC-Code/xerces-inst-31-X64-VC100.bat Sun Jul 15 08:11:51 2012
@@ -0,0 +1,145 @@
+::
+:: FILE TO INSTALL XERCES BINARY PACKAGE CREATED FROM SOURCE
+::
+
+:: SET VCVER=VC6
+:: SET VCVER=VC7.1
+:: SET VCVER=VC8
+:: SET VCVER=VC9
+SET VCVER=VC10
+
+:: SET ARCH=Win32
+SET ARCH=Win64
+
+:: SET XERCESC_VER=27
+:: SET XERCESC_VER=28
+SET XERCESC_VER=31
+
+:: -- XERCES-C Source Directory {xerces-src-27, xerces-src-28, xerces-src-31}
+
+SET SRCDIR=xerces-src-%XERCESC_VER%
+
+SET PKGDIR=XERCESCPKG
+
+IF NOT "%VCVER%" == "VC6" GOTO test_vc7
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-VC60
+GOTO do_install_pkg
+
+:test_vc7
+
+IF NOT "%VCVER%" == "VC7.1" GOTO test_vc8
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-VC71
+GOTO do_install_pkg
+
+:test_vc8
+
+IF NOT "%VCVER%" == "VC8" GOTO test_vc9
+IF "%ARCH%" == "Win64" GOTO win64_vc8
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-VC80
+GOTO do_install_pkg
+
+:win64_vc8
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-X64-VC80
+GOTO do_install_pkg
+
+:test_vc9
+
+IF NOT "%VCVER%" == "VC9" GOTO test_vc10
+IF "%ARCH%" == "Win64" GOTO win64_vc9
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-VC90
+GOTO do_install_pkg
+
+:win64_vc9
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-X64-VC90
+GOTO do_install_pkg
+
+:test_vc10
+
+IF NOT "%VCVER%" == "VC10" GOTO finish
+IF "%ARCH%" == "Win64" GOTO win64_vc10
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-VC100
+GOTO do_install_pkg
+
+:win64_vc10
+SET PKGDIR=XERCESCPKG-%XERCESC_VER%-X64-VC100
+GOTO do_install_pkg
+
+:do_install_pkg
+
+mkdir "%PKGDIR%"
+mkdir "%PKGDIR%\bin"
+mkdir "%PKGDIR%\lib"
+
+:: --- NOW TO COPY THE FILES FROM SOURCE REPOSITORY TO PACKAGE ---
+
+:StaticDebugBuild
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug" GOTO StaticDebugBuild2
+
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug\*.exe "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug\*.dll "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug\*.pdb "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug\*.ilk "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug\*.lib "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticDebug\*.exp "%PKGDIR%\lib"
+
+:StaticDebugBuild2
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug" GOTO StaticReleaseBuild
+
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug\*.exe" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug\*.dll" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug\*.pdb" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug\*.ilk" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug\*.lib" "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Debug\*.exp" "%PKGDIR%\lib"
+
+:StaticReleaseBuild
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease" GOTO StaticReleaseBuild2
+
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease\*.exe "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease\*.dll "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease\*.pdb "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease\*.ilk "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease\*.lib "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\StaticRelease\*.exp "%PKGDIR%\lib"
+
+:StaticReleaseBuild2
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release" GOTO DebugBuild
+
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release\*.exe" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release\*.dll" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release\*.pdb" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release\*.ilk" "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release\*.lib" "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C "%SRCDIR%\Build\%ARCH%\%VCVER%\Static Release\*.exp" "%PKGDIR%\lib"
+
+:: -- DEBUG BUILD --
+
+:DebugBuild
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\Debug" GOTO ReleaseBuild
+
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.exe "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.dll "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.pdb "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.ilk "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.lib "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Debug\*.exp "%PKGDIR%\lib"
+
+:: -- RELEASE BUILD --
+
+:ReleaseBuild
+IF NOT EXIST "%SRCDIR%\Build\%ARCH%\%VCVER%\Release" GOTO IncludeLibrary
+
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.exe "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.dll "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.pdb "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.ilk "%PKGDIR%\bin"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.lib "%PKGDIR%\lib"
+XCOPY /I /F /R /Y /C %SRCDIR%\Build\%ARCH%\%VCVER%\Release\*.exp "%PKGDIR%\lib"
+
+:: -- INCLUDE LIBRARY --
+
+:IncludeLibrary
+
+XCOPY /I /F /R /Y /C /E %SRCDIR%\src\xercesc  "%PKGDIR%\include\xercesc" /EXCLUDE:exclude-src.txt
+
+:finish