dbertoni 01/08/24 11:26:13
Modified: c/src/XSLT XSLTEngineImpl.cpp
Log:
Make sure to use the source document for resolving relative URLs in stylesheet PIs.
Revision Changes Path
1.113 +16 -3 xml-xalan/c/src/XSLT/XSLTEngineImpl.cpp
Index: XSLTEngineImpl.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XSLT/XSLTEngineImpl.cpp,v
retrieving revision 1.112
retrieving revision 1.113
diff -u -r1.112 -r1.113
--- XSLTEngineImpl.cpp 2001/08/14 16:22:01 1.112
+++ XSLTEngineImpl.cpp 2001/08/24 18:26:12 1.113
@@ -666,7 +666,7 @@
XalanDOMString stringHolder;
- const XalanDOMString localXSLURLString = trim(xslURLString);
+ XalanDOMString localXSLURLString = trim(xslURLString);
const unsigned int fragIndex = indexOf(localXSLURLString,
XalanUnicode::charNumberSign);
@@ -848,6 +848,21 @@
if(isRoot)
{
+ const XalanDocument* const theOwnerDocument =
+ fragBase.getNodeType() == XalanNode::DOCUMENT_NODE ?
+#if defined(XALAN_OLD_STYLE_CASTS)
+ (const XalanDocument*)&fragBase :
+#else
+ static_cast<const XalanDocument*>(&fragBase) :
+#endif
+ fragBase.getOwnerDocument();
+ assert(theOwnerDocument != 0);
+
+ localXSLURLString =
+ URISupport::getURLStringFromString(
+ localXSLURLString,
+
m_xpathEnvSupport.findURIFromDoc(theOwnerDocument));
+
StylesheetRoot* const theLocalRoot =
constructionContext.create(localXSLURLString);
@@ -967,8 +982,6 @@
case XObject::eTypeNodeSet:
{
-// XalanDOMString s;
-
const NodeRefListBase& nl = value.nodeset();
const unsigned int nChildren = nl.getLength();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]