You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by bu...@apache.org on 2002/05/07 16:31:25 UTC

DO NOT REPLY [Bug 8871] New: - XSLTC uses default namespace for unprefixed name in call-template

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8871>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8871

XSLTC uses default namespace for unprefixed name in call-template

           Summary: XSLTC uses default namespace for unprefixed name in
                    call-template
           Product: XalanJ2
           Version: CurrentCVS
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Major
          Priority: Other
         Component: org.apache.xalan.xsltc
        AssignedTo: xalan-dev@xml.apache.org
        ReportedBy: tom.amiro@sun.com


XSLTC was having a problem with a "real-world" stylesheet from 
Mark Yanker, saying named tempates were not defined in the 
stylesheet, when they were defined.

It turned out that the stylesheet redefined the default namespace
in the <html ...> tag that bracketed the LRE output in the main 
template. So when an <xsl:call-template name="title"/> occured 
in a table cell, XSLTC was looking for the 'call-template' element
in the default namespace and not finding it because it was in 
the "xsl" namespace.

The XSLT 1.0 spec, Section 6, shows the value of the name attribute 
in a call-template as a Qname. Section 2.4 says: the default namespace 
should is notused for unprefixed names -- looks like such XSLT internal
objects are a special case. Therefore XSLTC has a bug in using the 
default namespace for such unprefixed names.

Adding xmlns="" to the call-template element is a work-around.