xsl-list
[Top] [All Lists]

Re: [xsl] Exclude Doctype for output HTML

2007-11-05 14:49:55
That is exactly the problem!  Yep, and I have that workaround in
place, so replacing the full select element in a div wrapper.
Thanks for the tips on the doctype declerations, those always seem to miff me.

Karl..

On 11/5/07, Scott Trenda <Scott(_dot_)Trenda(_at_)oati(_dot_)net> wrote:
From the warning signs I'm seeing, you're trying to set the innerHTML of
a SELECT element via AJAX? Doesn't work in IE, read more here:
http://support.microsoft.com/kb/276228

If your XSLT works correctly when the options are wrapped in a <select>
element, then you're OK. If you're still getting the doctype
declaration, try specifying blank doctype attributes in your AJAX
stylesheet, as I wrote before. If you simply omit them, then the XSLT
processor will look in the stylesheet's imported stylesheets to see if
it's specified there. That's what I was talking about in my previous
reply.

~ Scott


-----Original Message-----
From: Karl Stubsjoen [mailto:kstubs(_at_)gmail(_dot_)com]
Sent: Monday, November 05, 2007 3:14 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Exclude Doctype for output HTML

Hi Scott, I dont' mean to imply that I'm doing it in reverse order, I
think I am doing it as you have described.  For clarification I have:

Ajax Template
 imports..
Page Template
 imports..
Base Template

In the base template I have output method = html and doctype argument
filled in.
In page template, I'm assuming this inherits the base template output
method.  In the Ajax template, I'm assuming this inherits the page
template which inherits the base template output method and doctype.
To overcome the doctype output, I specificy in the Ajax template that
the output should be HTML but with no doctype specification.  This is
not working as expected.

As it turns out, IE does not do well in an Ajax request when you are
returning html elements without a parent element.  So a bunch of
<option></option> elements throws off IE.  Instead, and as a
workaround I am returning <select><option></option></select>. Problem
solved.

So I am wondering, this must be an IE issue, as it is not an issue in
Firefox.  Anyone else have any clues as to this behaviour?

Thanks,

Karl..

On 11/5/07, Scott Trenda <Scott(_dot_)Trenda(_at_)oati(_dot_)net> wrote:
So you're essentially doing the imports in reverse from the order that
I'd recommended. As far as I know, the .NET processor is doing it
correctly. If you're not specifying a doctype in the main template,
the
XSLT processor looks for one in any of the imported stylesheets, which
is where it's getting it from. Try specifying this in your AJAX
stylesheet first:
<xsl:output method="html" doctype-public="" doctype-system=""/>

If that doesn't work, take a shot at the other order of imports that
I'd
recommended before.

~ Scott


-----Original Message-----
From: Karl Stubsjoen [mailto:kstubs(_at_)gmail(_dot_)com]
Sent: Monday, November 05, 2007 2:53 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Exclude Doctype for output HTML

Ok, I am imorting my base template, and am overriding the root
template match for the Ajax request.  I have an xsl:output method to
HTML with no doctype specification here, but it does exist in the
imported template.  So effectively, I am doing what you are
suggesting.  Is it the .NET processor throwing that in there?
Could it be, that with no top level element, that the .NET processor
doens't process this properly?

Karl..

On 11/5/07, Scott Trenda <Scott(_dot_)Trenda(_at_)oati(_dot_)net> wrote:
I'm assuming that by "base template", you mean you have a main
stylesheet that does the bulk of your transforms, and that
stylesheet
accepts a parameter that specifies which part of the stylesheet you
want
to use for your output. And one of those parts produces the option
list
you described below.

If that's the case, then the answer is no. Only one output method
can
be
declared per stylesheet. You'll need to split off the <option>
section
into its own stylesheet, and that stylesheet can have <xsl:output
method="html"/> without any doctype declarations. You can use that
one
for your AJAX transformation. However, if that <option> section is
needed in the base stylesheet, you could import it via an
<xsl:import>;
in that case, the templates defined within the <option> stylesheet
will
be available to the base, and the base stylesheet will output with
the
correct doctypes as you'd specified; the <xsl:output method="html"/>
from the imported stylesheet will be overwritten by the
<xsl:output/>
in
the base stylesheet.

Hope that helps!

~ Scott


-----Original Message-----
From: Karl Stubsjoen [mailto:kstubs(_at_)gmail(_dot_)com]
Sent: Monday, November 05, 2007 1:16 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Exclude Doctype for output HTML

I need to exclude the doctype decleration from the output for HTML.
There is a base template which sets the output type to HTML and
includes a doctype decleration there, but in the child template I
need
to override and exclude the doctype output.  Is this possible.

Platform:  .NET 2.0 XSLT 1.0

The problem:  For an Ajax request, I need to return the <option>
elements for my selector element.  IE does not care to well for the
additional doctype decleration in the selector element.  So I'm
getting:
doctype + <options>...</option><option>...</option>

Thanks,

Karl..


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>