Here's a quick snippet of what I'm doing currently to setup the transformer
and dump out the properties:

//......

StreamSource theXsl = new StreamSource(file);
StringReader sReader = new StringReader(outBuffer.toString());
StreamSource theXml = new StreamSource(sReader);
StreamResult theResult = new StreamResult(out);

TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer(theXsl);

java.util.Properties props = transformer.getOutputProperties();
props.list(System.out); //just dumping the properties right now for
debugging purposes

transformer.transform(theXml, theResult);

props = transformer.getOutputProperties();
props.list(System.out);

//.....


What I'd like to do is have some conditional processing to see what the
output method and/or media-type is going to be, so I can determine what to
set the Content-type of HTTP header to.

Also, you'll notice I retrieve the properties before and after the transform
and they don't change. If I place an output element with a different method
it will be reflected in the properties, so the property switch seems to be
happening BEFORE the actual transform. So, as long as the XSL file contains
the output element, I'm fine, but if it doesn't I can't tell what to do.
What makes this worse is that the "default" properties look the same as if
some set <xsl:output method="xml"/>.

-Nathan Beyer

-----Original Message-----
From: Gary L Peskin [mailto:[EMAIL PROTECTED]
Sent: Monday, July 22, 2002 1:21 PM
To: 'Xalan-J-User (E-mail)'
Subject: RE: Default Output Method in Xalan 2.2


Nathan --

You haven't shown where you're getting the OutputProperties from or
exactly what sort of conditional processing you're trying to do.  Since
there is no xsl:output element, the properties switch has to occur at
run time once the output can be examined after the transform is
completed.

We'll need a fuller description of what you're trying to do before we
can intelligently address you're question.  XalanJ 2.2 should be working
fine in this regard, I believe.

Gary

> -----Original Message-----
> From: Beyer,Nathan [mailto:[EMAIL PROTECTED] 
> Sent: Monday, July 22, 2002 9:47 AM
> To: Xalan-J-User (E-mail)
> Subject: Default Output Method in Xalan 2.2
> 
> 
> 
> I'm using Xalan 2.2 do some transforming and I'd like to use 
> the Output Properties to do some conditional processing, but 
> have noticed that the default properties don't map up to the 
> XSLT specification.
> 
> According to the specification, if the following is true, 
> then the default "method" should be "html".
> *     the root node of the result tree has an element child,
> *     the expanded-name of the first element child of the 
> root node (i.e.
> the document element) of the result tree has local part html 
> (in any combination of upper and lower case) and a null 
> namespace URI, and
> *     any text nodes preceding the first element child of the 
> root node of
> the result tree contain only whitespace characters,
> I'm not finding this to be the case in Xalan 2.2. It seems to 
> always default to "xml".
> 
> Here's the XSL I'm using to construct my transformer with:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0" 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
>       <xsl:template match="/">
>               <html>
>                       <body>
>                               Writing some information.
>                       </body>
>               </html>
>       </xsl:template>
> </xsl:stylesheet>
> 
> Here's a list of all the properties and there values (these 
> are the defaults, since I'm not setting anything):
> -- listing properties --
> method=xml
> encoding=UTF-8
> omit-xml-declaration=no {http://xml.apache.org/xslt}indent-amount=0
> indent=no
> standalone=no 
> {http://xml.apache.org/xslt}content-handler=org.apache.xalan.s
erialize.Seria
lizer...
{http://xml.apache.org/xslt}entities=org/apache/xalan/serialize/XMLEntit
ie..
.
version=1.0
media-type=text/xml


The odd part is that according to these properties, it should be
outputting an XML document with an XML declaration, but the output is
coming out as though the default "method" is "html".


Does anyone know if this is a known issue or if it's fixed in a later
version?

Thanks.
---
Nathan Beyer

CONFIDENTIALITY NOTICE

This message and any included attachments are
from Cerner Corporation and are intended only
for the addressee. The information contained
in this message is confidential and may
constitute inside or non-public information
under international, federal, or state securities
laws. Unauthorized forwarding, printing, copying,
distribution, or use of such information is
strictly prohibited and may be unlawful. If
you are not the addressee, please promptly
delete this message and notify the sender of
the delivery error by e-mail or you may call
Cerner's corporate offices in Kansas City,
Missouri, U.S.A at (+1) (816)221-1024.
----------------------------------------- -

Reply via email to