It seems like import/include does not work with fake base identifiers
(but DTDs and documents selected with document() do). Here is the code
that makes it work for documents:

try
{
        const XalanDOMString urlString =
constructionContext.getURLStringFromString(m_baseIdent);

        if (length(urlString) != 0)
        {
                m_includeStack.push_back(urlString);

                m_baseIdent = urlString;
        }
}
catch(const XMLException&)
{
        // Assume that any exception here relates to get the urlString
from
        // m_baseIdent.  We'll assume that it's just a fake base
identifier
        // since the parser will throw the real error if the base
identifier
        // can't be resolved.
        m_includeStack.push_back(baseIdentifier);
}
}

Should StylesheetHandler::processInclude() use a similar pattern? 

Cheers,
Brian

Reply via email to