You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sb...@locus.apache.org on 2000/06/24 20:31:59 UTC
cvs commit: xml-xalan/java/src/org/apache/xalan/processor ProcessorImport.java ProcessorInclude.java StylesheetHandler.java XSLTAttributeDef.java
sboag 00/06/24 11:31:59
Modified: java/src/org/apache/xalan/processor ProcessorImport.java
ProcessorInclude.java StylesheetHandler.java
XSLTAttributeDef.java
Log:
Fixed some stuff pertaining to xsl:import.
Revision Changes Path
1.2 +14 -7 xml-xalan/java/src/org/apache/xalan/processor/ProcessorImport.java
Index: ProcessorImport.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/processor/ProcessorImport.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ProcessorImport.java 2000/06/19 16:52:06 1.1
+++ ProcessorImport.java 2000/06/24 18:31:58 1.2
@@ -63,6 +63,7 @@
import org.xml.sax.SAXException;
import org.xml.sax.Attributes;
import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.XMLReaderFactory;
import java.net.URL;
import java.io.IOException;
@@ -103,7 +104,7 @@
{
setPropertiesFromAttributes(handler, rawName, attributes, this);
- URL hrefUrl = getHref();
+ String hrefUrl = getHref();
if(handler.importStackContains(hrefUrl))
{
throw new SAXException(XSLMessages.createMessage(XSLTErrorResources.ER_IMPORTING_ITSELF, new Object[] {hrefUrl})); //"(StylesheetHandler) "+hrefUrl+" is directly or indirectly importing itself!");
@@ -116,12 +117,18 @@
try
{
XMLReader reader = handler.getStylesheetProcessor().getXMLReader();
-
- Class readerClass = ((Object)reader).getClass();
- XMLReader clonedReader = (XMLReader)readerClass.newInstance();
-
- clonedReader.setContentHandler(handler);
- clonedReader.parse(getHref().toExternalForm());
+ if(null == reader)
+ {
+ reader = XMLReaderFactory.createXMLReader();
+ }
+ else
+ {
+ Class readerClass = ((Object)reader).getClass();
+ reader = (XMLReader)readerClass.newInstance();
+ }
+
+ reader.setContentHandler(handler);
+ reader.parse(getHref());
}
catch(InstantiationException ie)
1.2 +16 -8 xml-xalan/java/src/org/apache/xalan/processor/ProcessorInclude.java
Index: ProcessorInclude.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/processor/ProcessorInclude.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ProcessorInclude.java 2000/06/19 16:52:06 1.1
+++ ProcessorInclude.java 2000/06/24 18:31:58 1.2
@@ -64,6 +64,7 @@
import org.xml.sax.XMLReader;
import java.net.URL;
import java.io.IOException;
+import org.xml.sax.helpers.XMLReaderFactory;
/**
* Processor class for xsl:include markup.
@@ -76,12 +77,12 @@
* The base URL of the XSL document.
* @serial
*/
- private URL m_href = null;
+ private String m_href = null;
/**
* Get the base identifier with which this stylesheet is associated.
*/
- URL getHref()
+ public String getHref()
{
return m_href;
}
@@ -89,7 +90,7 @@
/**
* Get the base identifier with which this stylesheet is associated.
*/
- void setHref(URL baseIdent)
+ public void setHref(String baseIdent)
{
m_href = baseIdent;
}
@@ -130,12 +131,19 @@
try
{
XMLReader reader = handler.getStylesheetProcessor().getXMLReader();
-
- Class readerClass = ((Object)reader).getClass();
- XMLReader clonedReader = (XMLReader)readerClass.newInstance();
+
+ if(null == reader)
+ {
+ reader = XMLReaderFactory.createXMLReader();
+ }
+ else
+ {
+ Class readerClass = ((Object)reader).getClass();
+ reader = (XMLReader)readerClass.newInstance();
+ }
- clonedReader.setContentHandler(handler);
- clonedReader.parse(getHref().toExternalForm());
+ reader.setContentHandler(handler);
+ reader.parse(getHref());
}
catch(InstantiationException ie)
{
1.2 +8 -8 xml-xalan/java/src/org/apache/xalan/processor/StylesheetHandler.java
Index: StylesheetHandler.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/processor/StylesheetHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- StylesheetHandler.java 2000/06/19 16:52:14 1.1
+++ StylesheetHandler.java 2000/06/24 18:31:58 1.2
@@ -146,7 +146,7 @@
// Set the initial content handler.
m_processors.push(m_schema.getElementProcessor());
- // m_includeStack.push(SystemIDResolver.getURLFromString(this.getBaseIdentifier(), null));
+ // m_includeStack.push(SystemIDResolver.getAbsoluteURI(this.getBaseIdentifier(), null));
// initXPath(processor, null);
}
@@ -211,14 +211,14 @@
/**
* Test to see if the stack contains the given URL.
*/
- private boolean stackContains(Stack stack, URL url)
+ private boolean stackContains(Stack stack, String url)
{
int n = stack.size();
boolean contains = false;
for(int i = 0; i < n; i++)
{
- URL url2 = (URL)stack.elementAt(i);
- if(url2.toString().equals(url.toString()))
+ String url2 = (String)stack.elementAt(i);
+ if(url2.equals(url))
{
contains = true;
break;
@@ -955,7 +955,7 @@
/**
* Push an import href onto the stylesheet stack.
*/
- void pushImportURL(URL hrefUrl)
+ void pushImportURL(String hrefUrl)
{
m_importStack.push(hrefUrl);
}
@@ -964,7 +964,7 @@
* See if the imported stylesheet stack already contains
* the given URL.
*/
- boolean importStackContains(URL hrefUrl)
+ boolean importStackContains(String hrefUrl)
{
return stackContains(m_importStack, hrefUrl);
}
@@ -972,9 +972,9 @@
/**
* Pop an import href from the stylesheet stack.
*/
- URL popImportURL()
+ String popImportURL()
{
- return (URL)m_importStack.pop();
+ return (String)m_importStack.pop();
}
1.2 +2 -3 xml-xalan/java/src/org/apache/xalan/processor/XSLTAttributeDef.java
Index: XSLTAttributeDef.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/processor/XSLTAttributeDef.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XSLTAttributeDef.java 2000/06/19 16:52:14 1.1
+++ XSLTAttributeDef.java 2000/06/24 18:31:58 1.2
@@ -64,7 +64,6 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.StringBuffer;
-import java.net.URL;
import java.util.StringTokenizer;
import java.util.Vector;
import org.apache.xalan.templates.AVT;
@@ -504,12 +503,12 @@
* Process an attribute string of type T_URL into
* a URL value.
*/
- URL processURL(StylesheetHandler handler,
+ String processURL(StylesheetHandler handler,
String uri, String name,
String rawName, String value)
throws SAXException
{
- return SystemIDResolver.getURLFromString(value,
+ return SystemIDResolver.getAbsoluteURI(value,
handler.getBaseIdentifier());
}