You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by mm...@locus.apache.org on 2000/02/12 00:07:51 UTC
cvs commit: xml-xalan/src/org/apache/xalan/xslt ElemTemplateElement.java FuncDocument.java
mmidy 00/02/11 15:07:51
Modified: src/org/apache/xalan/xpath/xml PrefixResolver.java
PrefixResolverDefault.java
src/org/apache/xalan/xslt ElemTemplateElement.java
FuncDocument.java
Log:
Save and use included stylesheets base URI
Revision Changes Path
1.2 +4 -0 xml-xalan/src/org/apache/xalan/xpath/xml/PrefixResolver.java
Index: PrefixResolver.java
===================================================================
RCS file: /home/cvs/xml-xalan/src/org/apache/xalan/xpath/xml/PrefixResolver.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PrefixResolver.java 1999/11/08 20:55:56 1.1
+++ PrefixResolver.java 2000/02/11 23:07:50 1.2
@@ -69,4 +69,8 @@
* Given a namespace, get the corrisponding prefix.
*/
String getNamespaceForPrefix(String prefix, org.w3c.dom.Node context);
+
+ /** Return the base identifier.
+ */
+ public String getBaseIdentifier();
}
1.2 +7 -0 xml-xalan/src/org/apache/xalan/xpath/xml/PrefixResolverDefault.java
Index: PrefixResolverDefault.java
===================================================================
RCS file: /home/cvs/xml-xalan/src/org/apache/xalan/xpath/xml/PrefixResolverDefault.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PrefixResolverDefault.java 2000/01/31 08:34:26 1.1
+++ PrefixResolverDefault.java 2000/02/11 23:07:50 1.2
@@ -101,4 +101,11 @@
}
return namespace;
}
+
+ /** Return the base identifier.
+ */
+ public String getBaseIdentifier()
+ {
+ return null;
+ }
}
1.15 +12 -0 xml-xalan/src/org/apache/xalan/xslt/ElemTemplateElement.java
Index: ElemTemplateElement.java
===================================================================
RCS file: /home/cvs/xml-xalan/src/org/apache/xalan/xslt/ElemTemplateElement.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- ElemTemplateElement.java 2000/01/31 20:52:30 1.14
+++ ElemTemplateElement.java 2000/02/11 23:07:50 1.15
@@ -63,6 +63,7 @@
import org.apache.xalan.xpath.xml.*;
import java.util.*;
import java.io.*;
+import java.net.*;
import org.apache.xalan.xslt.trace.*;
import org.apache.xalan.xslt.res.XSLTErrorResources;
import org.apache.xml.serialize.OutputFormat;
@@ -153,6 +154,8 @@
*/
protected ElemTemplateElement m_firstChild;
+ public String m_baseident;
+
/** Construct a template element instance.
*
* @param processor The XSLT Processor.
@@ -177,6 +180,8 @@
{
m_namespaces = (org.apache.xalan.xpath.xml.NameSpace)m_stylesheet.m_namespaces.peek();
}
+ m_baseident = ((URL)m_stylesheet.m_includeStack.peek()).toExternalForm();
+ //System.out.println("base " + m_baseident);
m_elemName = name;
}
@@ -1263,6 +1268,13 @@
public String getNodeName()
{
return m_elemName;
+ }
+
+ /** Return the base identifier.
+ */
+ public String getBaseIdentifier()
+ {
+ return m_baseident;
}
}
1.9 +7 -3 xml-xalan/src/org/apache/xalan/xslt/FuncDocument.java
Index: FuncDocument.java
===================================================================
RCS file: /home/cvs/xml-xalan/src/org/apache/xalan/xslt/FuncDocument.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- FuncDocument.java 2000/01/05 23:05:32 1.8
+++ FuncDocument.java 2000/02/11 23:07:50 1.9
@@ -93,7 +93,7 @@
XObject arg2 = (XObject)args.elementAt(1);
if(XObject.CLASS_NODESET == arg2.getType())
{
- Node baseNode = arg2.nodeset().item(0);
+ /* Node baseNode = arg2.nodeset().item(0);
Document baseDoc = (Node.DOCUMENT_NODE == baseNode.getNodeType()) ?
(Document)baseNode : baseNode.getOwnerDocument();
@@ -101,21 +101,25 @@
base = ((Stylesheet)baseDoc).getBaseIdentifier();
else
base = execContext.findURIFromDoc(baseDoc);
+ */
+ base = execContext.getNamespaceContext().getBaseIdentifier();
}
else
{
base = arg2.str();
}
+
}
else
{
- Node stylesheetNode = (Node)execContext.getNamespaceContext(); // is this safe in this context??
+ /* Node stylesheetNode = (Node)execContext.getNamespaceContext(); // is this safe in this context??
Document baseDoc = (Node.DOCUMENT_NODE == stylesheetNode.getNodeType()) ?
(Document)stylesheetNode : stylesheetNode.getOwnerDocument();
if(baseDoc instanceof Stylesheet)
base = ((Stylesheet)baseDoc).getBaseIdentifier();
else
- base = execContext.findURIFromDoc(baseDoc);
+ base = execContext.findURIFromDoc(baseDoc);*/
+ base = execContext.getNamespaceContext().getBaseIdentifier();
}
XNodeSet nodes = new XNodeSet();
MutableNodeList mnl = nodes.mutableNodeset();