You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by mk...@apache.org on 2003/04/01 21:45:48 UTC
cvs commit: xml-xalan/java/src/org/apache/xalan/lib/sql DTMDocument.java
mkwan 2003/04/01 11:45:48
Modified: java/src/org/apache/xalan/lib ExsltDatetime.java
PipeDocument.java Redirect.java
java/src/org/apache/xalan/lib/sql DTMDocument.java
Log:
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.lib.
1. Change the return types of some date-time extension functions
for support in XSLTC.
2. Changes for the new serializer.
Revision Changes Path
1.9 +88 -88 xml-xalan/java/src/org/apache/xalan/lib/ExsltDatetime.java
Index: ExsltDatetime.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/lib/ExsltDatetime.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- ExsltDatetime.java 30 Jan 2003 18:45:42 -0000 1.8
+++ ExsltDatetime.java 1 Apr 2003 19:45:48 -0000 1.9
@@ -66,7 +66,6 @@
import org.apache.xpath.objects.XBoolean;
import org.apache.xpath.objects.XNumber;
import org.apache.xpath.objects.XObject;
-import org.apache.xpath.objects.XString;
/**
* <meta name="usage" content="general"/>
@@ -93,6 +92,7 @@
static final String gm = "--MM--";
static final String gd = "---dd";
static final String t = "HH:mm:ss";
+ static final String EMPTY_STR = "";
/**
* The date:date-time function returns the current date and time as a date/time string.
@@ -107,7 +107,7 @@
* Universal Time or a + or - followed by the difference between the difference from UTC
* represented as hh:mm.
*/
- public static XString dateTime()
+ public static String dateTime()
{
Calendar cal = Calendar.getInstance();
Date datetime = cal.getTime();
@@ -131,7 +131,7 @@
char posneg = hrs < 0? '-': '+';
buff.append(posneg + formatDigits(hrs) + ':' + formatDigits(min));
}
- return new XString(buff.toString());
+ return buff.toString();
}
/**
@@ -166,7 +166,7 @@
* is specified and it does not specify a time zone, then the date string format must not include
* a time zone.
*/
- public static XString date(String datetimeIn)
+ public static String date(String datetimeIn)
throws ParseException
{
String[] edz = getEraDatetimeZone(datetimeIn);
@@ -174,32 +174,32 @@
String datetime = edz[1];
String zone = edz[2];
if (datetime == null || zone == null)
- return new XString("");
+ return EMPTY_STR;
String[] formatsIn = {dt, d};
String formatOut = d;
Date date = testFormats(datetime, formatsIn);
- if (date == null) return new XString("");
+ if (date == null) return EMPTY_STR;
SimpleDateFormat dateFormat = new SimpleDateFormat(formatOut);
dateFormat.setLenient(false);
String dateOut = dateFormat.format(date);
if (dateOut.length() == 0)
- return new XString("");
+ return EMPTY_STR;
else
- return new XString(leader + dateOut + zone);
+ return (leader + dateOut + zone);
}
/**
* See above.
*/
- public static XString date()
+ public static String date()
{
String datetime = dateTime().toString();
String date = datetime.substring(0, datetime.indexOf("T"));
String zone = datetime.substring(getZoneStart(datetime));
- return new XString(date + zone);
+ return (date + zone);
}
/**
@@ -224,33 +224,33 @@
* is specified and it does not specify a time zone, then the time string format must not include
* a time zone.
*/
- public static XString time(String timeIn)
+ public static String time(String timeIn)
throws ParseException
{
String[] edz = getEraDatetimeZone(timeIn);
String time = edz[1];
String zone = edz[2];
if (time == null || zone == null)
- return new XString("");
+ return EMPTY_STR;
String[] formatsIn = {dt, d};
String formatOut = t;
Date date = testFormats(time, formatsIn);
- if (date == null) return new XString("");
+ if (date == null) return EMPTY_STR;
SimpleDateFormat dateFormat = new SimpleDateFormat(formatOut);
String out = dateFormat.format(date);
- return new XString(out + zone);
+ return (out + zone);
}
/**
* See above.
*/
- public static XString time()
+ public static String time()
{
String datetime = dateTime().toString();
String time = datetime.substring(datetime.indexOf("T")+1);
String zone = datetime.substring(getZoneStart(datetime));
- return new XString(time + zone);
+ return (time + zone);
}
/**
@@ -268,30 +268,30 @@
* xs:gYear (CCYY)
* If the date/time string is not in one of these formats, then NaN is returned.
*/
- public static XNumber year(String datetimeIn)
+ public static double year(String datetimeIn)
throws ParseException
{
String[] edz = getEraDatetimeZone(datetimeIn);
boolean ad = edz[0].length() == 0; // AD (Common Era -- empty leader)
String datetime = edz[1];
if (datetime == null)
- return new XNumber(Double.NaN);
+ return Double.NaN;
String[] formats = {dt, d, gym, gy};
double yr = getNumber(datetime, formats, Calendar.YEAR);
if (ad || yr == Double.NaN)
- return new XNumber(yr);
+ return yr;
else
- return new XNumber(-yr);
+ return -yr;
}
/**
* See above.
*/
- public static XNumber year()
+ public static double year()
{
Calendar cal = Calendar.getInstance();
- return new XNumber(cal.get(Calendar.YEAR));
+ return cal.get(Calendar.YEAR);
}
/**
@@ -310,25 +310,25 @@
* xs:gMonthDay (--MM-DD)
* If the date/time string is not in one of these formats, then NaN is returned.
*/
- public static XNumber monthInYear(String datetimeIn)
+ public static double monthInYear(String datetimeIn)
throws ParseException
{
String[] edz = getEraDatetimeZone(datetimeIn);
String datetime = edz[1];
if (datetime == null)
- return new XNumber(Double.NaN);
+ return Double.NaN;
String[] formats = {dt, d, gym, gm, gmd};
- return new XNumber(getNumber(datetime, formats, Calendar.MONTH));
+ return getNumber(datetime, formats, Calendar.MONTH);
}
/**
* See above.
*/
- public static XNumber monthInYear()
+ public static double monthInYear()
{
Calendar cal = Calendar.getInstance();
- return new XNumber(cal.get(Calendar.MONTH));
+ return cal.get(Calendar.MONTH);
}
/**
@@ -344,25 +344,25 @@
* xs:date (CCYY-MM-DD)
* If the date/time string is not in one of these formats, then NaN is returned.
*/
- public static XNumber weekInYear(String datetimeIn)
+ public static double weekInYear(String datetimeIn)
throws ParseException
{
String[] edz = getEraDatetimeZone(datetimeIn);
String datetime = edz[1];
if (datetime == null)
- return new XNumber(Double.NaN);
+ return Double.NaN;
String[] formats = {dt, d};
- return new XNumber(getNumber(datetime, formats, Calendar.WEEK_OF_YEAR));
+ return getNumber(datetime, formats, Calendar.WEEK_OF_YEAR);
}
/**
* See above.
*/
- public static XNumber weekInYear()
+ public static double weekInYear()
{
Calendar cal = Calendar.getInstance();
- return new XNumber(cal.get(Calendar.WEEK_OF_YEAR));
+ return cal.get(Calendar.WEEK_OF_YEAR);
}
/**
@@ -378,25 +378,25 @@
* xs:date (CCYY-MM-DD)
* If the date/time string is not in one of these formats, then NaN is returned.
*/
- public static XNumber dayInYear(String datetimeIn)
+ public static double dayInYear(String datetimeIn)
throws ParseException
{
String[] edz = getEraDatetimeZone(datetimeIn);
String datetime = edz[1];
if (datetime == null)
- return new XNumber(Double.NaN);
+ return Double.NaN;
String[] formats = {dt, d};
- return new XNumber(getNumber(datetime, formats, Calendar.DAY_OF_YEAR));
+ return getNumber(datetime, formats, Calendar.DAY_OF_YEAR);
}
/**
* See above.
*/
- public static XNumber dayInYear()
+ public static double dayInYear()
{
Calendar cal = Calendar.getInstance();
- return new XNumber(cal.get(Calendar.DAY_OF_YEAR));
+ return cal.get(Calendar.DAY_OF_YEAR);
}
@@ -415,23 +415,23 @@
* xs:gDay (---DD)
* If the date/time string is not in one of these formats, then NaN is returned.
*/
- public static XNumber dayInMonth(String datetimeIn)
+ public static double dayInMonth(String datetimeIn)
throws ParseException
{
String[] edz = getEraDatetimeZone(datetimeIn);
String datetime = edz[1];
String[] formats = {dt, d, gmd, gd};
double day = getNumber(datetime, formats, Calendar.DAY_OF_MONTH);
- return new XNumber(day);
+ return day;
}
/**
* See above.
*/
- public static XNumber dayInMonth()
+ public static double dayInMonth()
{
Calendar cal = Calendar.getInstance();
- return new XNumber(cal.get(Calendar.DAY_OF_MONTH));
+ return cal.get(Calendar.DAY_OF_MONTH);
}
/**
@@ -448,25 +448,25 @@
* xs:date (CCYY-MM-DD)
* If the date/time string is not in one of these formats, then NaN is returned.
*/
- public static XNumber dayOfWeekInMonth(String datetimeIn)
+ public static double dayOfWeekInMonth(String datetimeIn)
throws ParseException
{
String[] edz = getEraDatetimeZone(datetimeIn);
String datetime = edz[1];
if (datetime == null)
- return new XNumber(Double.NaN);
+ return Double.NaN;
String[] formats = {dt, d};
- return new XNumber(getNumber(datetime, formats, Calendar.DAY_OF_WEEK_IN_MONTH));
+ return getNumber(datetime, formats, Calendar.DAY_OF_WEEK_IN_MONTH);
}
/**
* See above.
*/
- public static XNumber dayOfWeekInMonth()
+ public static double dayOfWeekInMonth()
{
Calendar cal = Calendar.getInstance();
- return new XNumber(cal.get(Calendar.DAY_OF_WEEK_IN_MONTH));
+ return cal.get(Calendar.DAY_OF_WEEK_IN_MONTH);
}
@@ -484,25 +484,25 @@
* If the date/time string is not in one of these formats, then NaN is returned.
The numbering of days of the week starts at 1 for Sunday, 2 for Monday and so on up to 7 for Saturday.
*/
- public static XNumber dayInWeek(String datetimeIn)
+ public static double dayInWeek(String datetimeIn)
throws ParseException
{
String[] edz = getEraDatetimeZone(datetimeIn);
String datetime = edz[1];
if (datetime == null)
- return new XNumber(Double.NaN);
+ return Double.NaN;
String[] formats = {dt, d};
- return new XNumber(getNumber(datetime, formats, Calendar.DAY_OF_WEEK));
+ return getNumber(datetime, formats, Calendar.DAY_OF_WEEK);
}
/**
* See above.
*/
- public static XNumber dayInWeek()
+ public static double dayInWeek()
{
Calendar cal = Calendar.getInstance();
- return new XNumber(cal.get(Calendar.DAY_OF_WEEK));
+ return cal.get(Calendar.DAY_OF_WEEK);
}
/**
@@ -518,25 +518,25 @@
* xs:time (hh:mm:ss)
* If the date/time string is not in one of these formats, then NaN is returned.
*/
- public static XNumber hourInDay(String datetimeIn)
+ public static double hourInDay(String datetimeIn)
throws ParseException
{
String[] edz = getEraDatetimeZone(datetimeIn);
String datetime = edz[1];
if (datetime == null)
- return new XNumber(Double.NaN);
+ return Double.NaN;
String[] formats = {dt, t};
- return new XNumber(getNumber(datetime, formats, Calendar.HOUR_OF_DAY));
+ return getNumber(datetime, formats, Calendar.HOUR_OF_DAY);
}
/**
* See above.
*/
- public static XNumber hourInDay()
+ public static double hourInDay()
{
Calendar cal = Calendar.getInstance();
- return new XNumber(cal.get(Calendar.HOUR_OF_DAY));
+ return cal.get(Calendar.HOUR_OF_DAY);
}
/**
@@ -552,25 +552,25 @@
* xs:time (hh:mm:ss)
* If the date/time string is not in one of these formats, then NaN is returned.
*/
- public static XNumber minuteInHour(String datetimeIn)
+ public static double minuteInHour(String datetimeIn)
throws ParseException
{
String[] edz = getEraDatetimeZone(datetimeIn);
String datetime = edz[1];
if (datetime == null)
- return new XNumber(Double.NaN);
+ return Double.NaN;
String[] formats = {dt,t};
- return new XNumber(getNumber(datetime, formats, Calendar.MINUTE));
+ return getNumber(datetime, formats, Calendar.MINUTE);
}
/**
* See above.
*/
- public static XNumber minuteInHour()
+ public static double minuteInHour()
{
Calendar cal = Calendar.getInstance();
- return new XNumber(cal.get(Calendar.MINUTE));
+ return cal.get(Calendar.MINUTE);
}
/**
@@ -586,25 +586,25 @@
* xs:time (hh:mm:ss)
* If the date/time string is not in one of these formats, then NaN is returned.
*/
- public static XNumber secondInMinute(String datetimeIn)
+ public static double secondInMinute(String datetimeIn)
throws ParseException
{
String[] edz = getEraDatetimeZone(datetimeIn);
String datetime = edz[1];
if (datetime == null)
- return new XNumber(Double.NaN);
+ return Double.NaN;
String[] formats = {dt, t};
- return new XNumber(getNumber(datetime, formats, Calendar.SECOND));
+ return getNumber(datetime, formats, Calendar.SECOND);
}
/**
* See above.
*/
- public static XNumber secondInMinute()
+ public static double secondInMinute()
{
Calendar cal = Calendar.getInstance();
- return new XNumber(cal.get(Calendar.SECOND));
+ return cal.get(Calendar.SECOND);
}
/**
@@ -641,11 +641,11 @@
/**
* See above.
*/
- public static XBoolean leapYear()
+ public static boolean leapYear()
{
Calendar cal = Calendar.getInstance();
int yr = (int)cal.get(Calendar.YEAR);
- return new XBoolean(yr % 400 == 0 || (yr % 100 != 0 && yr % 4 == 0));
+ return (yr % 400 == 0 || (yr % 100 != 0 && yr % 4 == 0));
}
/**
@@ -667,27 +667,27 @@
* 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November'
* or 'December'.
*/
- public static XString monthName(String datetimeIn)
+ public static String monthName(String datetimeIn)
throws ParseException
{
String[] edz = getEraDatetimeZone(datetimeIn);
String datetime = edz[1];
if (datetime == null)
- return new XString("");
+ return EMPTY_STR;
String[] formatsIn = {dt, d, gym, gm};
String formatOut = "MMMM";
- return new XString (getNameOrAbbrev(datetimeIn, formatsIn, formatOut));
+ return getNameOrAbbrev(datetimeIn, formatsIn, formatOut);
}
/**
* See above.
*/
- public static XString monthName()
+ public static String monthName()
{
Calendar cal = Calendar.getInstance();
String format = "MMMM";
- return new XString(getNameOrAbbrev(format));
+ return getNameOrAbbrev(format);
}
/**
@@ -710,26 +710,26 @@
* An implementation of this extension function in the EXSLT date namespace must conform
* to the behaviour described in this document.
*/
- public static XString monthAbbreviation(String datetimeIn)
+ public static String monthAbbreviation(String datetimeIn)
throws ParseException
{
String[] edz = getEraDatetimeZone(datetimeIn);
String datetime = edz[1];
if (datetime == null)
- return new XString("");
+ return EMPTY_STR;
String[] formatsIn = {dt, d, gym, gm};
String formatOut = "MMM";
- return new XString (getNameOrAbbrev(datetimeIn, formatsIn, formatOut));
+ return getNameOrAbbrev(datetimeIn, formatsIn, formatOut);
}
/**
* See above.
*/
- public static XString monthAbbreviation()
+ public static String monthAbbreviation()
{
String format = "MMM";
- return new XString(getNameOrAbbrev(format));
+ return getNameOrAbbrev(format);
}
/**
@@ -750,26 +750,26 @@
* An implementation of this extension function in the EXSLT date namespace must conform
* to the behaviour described in this document.
*/
- public static XString dayName(String datetimeIn)
+ public static String dayName(String datetimeIn)
throws ParseException
{
String[] edz = getEraDatetimeZone(datetimeIn);
String datetime = edz[1];
if (datetime == null)
- return new XString("");
+ return EMPTY_STR;
String[] formatsIn = {dt, d};
String formatOut = "EEEE";
- return new XString (getNameOrAbbrev(datetimeIn, formatsIn, formatOut));
+ return getNameOrAbbrev(datetimeIn, formatsIn, formatOut);
}
/**
* See above.
*/
- public static XString dayName()
+ public static String dayName()
{
String format = "EEEE";
- return new XString(getNameOrAbbrev(format));
+ return getNameOrAbbrev(format);
}
/**
@@ -790,26 +790,26 @@
* An implementation of this extension function in the EXSLT date namespace must conform
* to the behaviour described in this document.
*/
- public static XString dayAbbreviation(String datetimeIn)
+ public static String dayAbbreviation(String datetimeIn)
throws ParseException
{
String[] edz = getEraDatetimeZone(datetimeIn);
String datetime = edz[1];
if (datetime == null)
- return new XString("");
+ return EMPTY_STR;
String[] formatsIn = {dt, d};
String formatOut = "EEE";
- return new XString (getNameOrAbbrev(datetimeIn, formatsIn, formatOut));
+ return getNameOrAbbrev(datetimeIn, formatsIn, formatOut);
}
/**
* See above.
*/
- public static XString dayAbbreviation()
+ public static String dayAbbreviation()
{
String format = "EEE";
- return new XString(getNameOrAbbrev(format));
+ return getNameOrAbbrev(format);
}
/**
1.5 +6 -5 xml-xalan/java/src/org/apache/xalan/lib/PipeDocument.java
Index: PipeDocument.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/lib/PipeDocument.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- PipeDocument.java 30 Jan 2003 18:45:42 -0000 1.4
+++ PipeDocument.java 1 Apr 2003 19:45:48 -0000 1.5
@@ -73,8 +73,6 @@
import javax.xml.transform.stream.StreamSource;
import org.apache.xalan.extensions.XSLProcessorContext;
-import org.apache.xalan.serialize.Serializer;
-import org.apache.xalan.serialize.SerializerFactory;
import org.apache.xalan.templates.AVT;
import org.apache.xalan.templates.ElemExtensionCall;
import org.apache.xalan.templates.ElemLiteralResult;
@@ -90,6 +88,9 @@
import org.xml.sax.SAXNotRecognizedException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;
+// Imported Serializer classes
+import org.apache.xml.serializer.Serializer;
+import org.apache.xml.serializer.SerializerFactory;
/**
* PipeDocument is a Xalan extension element to set stylesheet params and pipes an XML
@@ -185,7 +186,7 @@
for (int i = 0; i < ssNodes.getLength(); i++)
{
ssNode = ssNodes.item(i);
- if (ssNode.getNodeType() == ssNode.ELEMENT_NODE
+ if (ssNode.getNodeType() == Node.ELEMENT_NODE
&& ((Element)ssNode).getTagName().equals("stylesheet")
&& ssNode instanceof ElemLiteralResult)
{
@@ -203,7 +204,7 @@
for (int j = 0; j < paramNodes.getLength(); j++)
{
paramNode = paramNodes.item(j);
- if (paramNode.getNodeType() == paramNode.ELEMENT_NODE
+ if (paramNode.getNodeType() == Node.ELEMENT_NODE
&& ((Element)paramNode).getTagName().equals("param")
&& paramNode instanceof ElemLiteralResult)
{
@@ -256,4 +257,4 @@
reader.parse(source);
}
-}
\ No newline at end of file
+}
1.20 +4 -3 xml-xalan/java/src/org/apache/xalan/lib/Redirect.java
Index: Redirect.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/lib/Redirect.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- Redirect.java 30 Jan 2003 18:45:42 -0000 1.19
+++ Redirect.java 1 Apr 2003 19:45:48 -0000 1.20
@@ -72,7 +72,7 @@
import org.apache.xalan.transformer.TransformerImpl;
import org.apache.xpath.XPath;
import org.apache.xpath.objects.XObject;
-
+import org.apache.xml.serializer.SerializationHandler;
import org.xml.sax.ContentHandler;
/**
@@ -445,8 +445,9 @@
try
{
- ContentHandler flistener
- = transformer.createResultContentHandler(new StreamResult(ostream), format);
+ SerializationHandler flistener =
+ transformer.createSerializationHandler(new StreamResult(ostream),
+ format);
try
{
flistener.startDocument();
1.13 +1 -1 xml-xalan/java/src/org/apache/xalan/lib/sql/DTMDocument.java
Index: DTMDocument.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/lib/sql/DTMDocument.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- DTMDocument.java 30 Jan 2003 18:45:43 -0000 1.12
+++ DTMDocument.java 1 Apr 2003 19:45:48 -0000 1.13
@@ -169,7 +169,7 @@
super(mgr, null, ident,
null, mgr.getXMLStringFactory(), true);
- m_attribute = new SuballocatedIntVector(m_initialblocksize);
+ m_attribute = new SuballocatedIntVector(DEFAULT_BLOCKSIZE);
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org