xsl-list
[Top] [All Lists]

RE: [xsl] exclude-result-prefixes

2006-04-24 01:36:45
The output you want is not namespace-well-formed, and therefore cannot be
produced using XSLT (unless you handle all the serialization yourself, by
using disable-output-escaping or otherwise).

exclude-result-prefixes allows you to eliminate namespaces that are not used
for element and attributes, but the namespaces actually used in your element
and attribute names will be declared whether you like it or not.

I would suggest that the best way to produce output which is neither HTML
nor XML is to write your own serializer with its own output method name -
perhaps by subclassing the serializer that comes with your XSLT processor.
The way you do that, of course, is product-dependent.

Michael Kay
http://www.saxonica.com/ 

-----Original Message-----
From: Arulraj [mailto:p_arulraj(_at_)yahoo(_dot_)com] 
Sent: 24 April 2006 08:08
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] exclude-result-prefixes

Hi,

I have following XSL,

<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="2.0" xmlns:f="http://java.sun.com/jsf/core";
xmlns:h="http://java.sun.com/jsf/html";
exclude-result-prefixes="h f">
    <xsl:variable name="JSFHeadertxt"
select="document('../../../config/jsfheader.xml')"/>
    <xsl:output method="html"
doctype-public="-//W3C//DTD HTML 4.01
Transitional//EN"/>
    <xsl:template match="/">
    <xsl:call-template name="JSFHeader"/>
        <f:view>
            <h:form id="H2WLogin">
                test
            </h:form>
        </f:view>
    </xsl:template>   
    <xsl:template name="JSFHeader">
        <xsl:value-of select="$JSFHeadertxt"
disable-output-escaping="yes"/>
    </xsl:template>
</xsl:stylesheet>

I got the following output:

<!DOCTYPE html
  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


      <%@ page
contentType="text/html;charset=windows-1252"%>
      <%@ taglib uri="http://java.sun.com/jsf/core";
prefix="f"%>
      <%@ taglib uri="http://java.sun.com/jsf/html";
prefix="h"%>

<f:view xmlns:f="http://java.sun.com/jsf/core";>
   <h:form xmlns:h="http://java.sun.com/jsf/html";
id="H2WLogin">
      test
      
   </h:form>
</f:view>

but i need the following output:
<!DOCTYPE html
  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


      <%@ page
contentType="text/html;charset=windows-1252"%>
      <%@ taglib uri="http://java.sun.com/jsf/core";
prefix="f"%>
      <%@ taglib uri="http://java.sun.com/jsf/html";
prefix="h"%>

<f:view>
   <h:form id="H2WLogin">
      test
  </h:form>
</f:view>

How to suppress the namespace of f and h in the result tree?

regards,
Raj


              
__________________________________________________________
Yahoo! India Matrimony: Find your partner now. Go to 
http://yahoo.shaadi.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>