Subjects
Home
Xalan extension functions
Fomatting question serializing DOM with pretty print
xalan with pull parser
Cannot find the declaration
Apache Xalan drop support to run on JRE 1 1 x
Why does Doctype change processing of a document
Node set to XML string via Java extensions in Xalan J: possible?
Templates/Transformers + thread safety???
Problem evaluating xpath with muliple prefix with different namespace
remove an arbitrary attribute from xsl output
Xalan3 XSLT 2 0 XPath 2 0 support?
Problem using compiled translets with Xalan !!
Xalan and jstl 1 1 problem with transform tag
NullPointer in DOM2DTM getLocalName
URIResolvers base parameter with xsltc and cascaded imports
Performance problem for Xalan J on intel dual core
Standard libraries in JAXP?
Serializing a DOM tree to XML file, customize entities replacement
Library Conflict Involving BCEL Library
A question on how users are using <xsl:message >
Kevin Cormier as a new Apache Xalan J committer
Struggling to iterate over tokenized string
Xalan count() trouble
Problem with recursive xpath
Error when switching to java 1 5
document( ' ')
Problem with Xalan2 7 0 transformation
cr/lf options
entity encoded XML
can xalan transform 2 xml using one xslt?
Xalan J JIRA defect review Monday October 16, 2006 from 2:00 to 3:30 pm ED
xsl transform with cdata section elements
xslt parameters not expanded
Weird behavior of XPath evaluate()
How to avoid <xsl:message > instruction prints stylesheet file informations ?
Cannot find SimpleTransform subdirectory after installing Xalan J
recover from document not found exceptions
jdk1 5 and Xalan jar differences?
Performance Issue
Error/Bug adding floating point numbers
XPathAPI: eval exp using nodes with default namespace
modifying xalan to output invalid XML
NullPointerException
mege two separate xml nodes into one
Is this a XALAN document identification bug?
is StylesheetRoot really java io Serializable ?
transform() fails for DOMSource but succeeds for StreamSource
Thoughts on Transformer parameter passing
HELP, Xalan and jstl 1 1 problem with transformer
Problem with XPath namespace axis?
string utils:replace deleting search string if replacement string is an HTML
help with enumeration values pls
xalan 2 5 1 vs 2 7 performance question
How to insert/update in XML document
HTML Serialization and Handling of Ampersands in HREF Attributes
XHTML link tag stripping
SystemId Unknown; Line #24; Column #49; java lang NullPointerException
xpath text() help
Apostrophe problem with xalan 2 7 0
How to set variables in XML document?
Links
Home
Oracle database error code ...
 
Search:  
Power your search with and, or, +, -, or "some phrase" operators.
Is this a XALAN document identification bug?

Is this a XALAN document identification bug?

2007-04-17       - By Larry Trammell
Reply:     1     2     3  

Both David Bertoni and Werner Koch pointed me in the right direction, but in
different ways. For the benefit of other newbies like me who have only
worked with XSLT for two days, and have not quite mastered the full
technical vocabulary of W3C: this is a solution to the problem. (No, it is
not a XALAN bug!)

1. Add an additional namespace attribute to the XSLT stylesheet node
declaring the namespace used in the XHTML data. Give it an arbitrary
convenient name. The assigned name doesn't have to match the one used in the
xml input text, but the strings must match. For my example:
 
   <xsl:stylesheet  
       xmlns:xhtml="http://www.w3.org/1999/xhtml"
       xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >

2. Now in the XSLT stylesheet, prefix the elements referenced in the input
data to identify their namespace. For example, in the original stylesheet
template:

  <xsl:template  match="html">
     <html> <xsl:apply-templates /> </html>
   </xsl:template>

this becomes:

  <xsl:template  match="xhtml:html">
     <html> <xsl:apply-templates /> </html>
   </xsl:template>
 
Thanks to both responders.


-----Original Message-----
From: Larry Trammell [mailto:larryt@(protected)]
Sent: Tuesday, April 17, 2007 1:13 PM
To: 'Xalan J Users List'
Subject: Is this a XALAN document identification bug?


Hi from a list and XALAN newbie seeking the advice of world class GURU -
experienced and knowledgeable XALAN expert - competent XALAN user - anybody
with a clue - about whether the behavior described below is a user error /
known feature / bug that should be reported to the XALAN staff.

This problem was observed on a new installation of version 2.7.0, running on
Windows 2000 with JRE 1.5.0_06.

This is a simple xml test document (XHTML, but WITHOUT proper document
identification tags):

 <?xml version="1.0"?>
 <html>
 <head> <title>Main title</title> </head>
 <body> <p> Example text <em>highlighted.</em> </p> </body>
 </html>

Reference XSLT test case: drop 'head' section and deep-copy 'body' section.
Nothing magical here.

 <xsl:stylesheet  version="1.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
   <xsl:template  match="/">
     <xsl:apply-templates />
   </xsl:template>
   <xsl:template  match="html">
     <html> <xsl:apply-templates /> </html>
   </xsl:template>
   <xsl:template  match="head">
     <xsl:comment> Ignore head section. </xsl:comment>
   </xsl:template>
   <xsl:template  match="body">
     <xsl:copy-of  select="." />
   </xsl:template>
 </xsl:stylesheet>

The reference case produces correct and expected results.

 <html>
 <!-- Ignore head section. -->
 <body>
 <p> Example text <em>highlighted.</em>
 </p>
 </body> </html>

Now repeat using the same XML document except WITH valid document
identification tags.

 <?xml version="1.0"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html>
 ...

or

 <?xml version="1.0"?>
 <html xmlns="http://www.w3.org/1999/xhtml">
 ...

For these: incorrect processing. Default rule is applied, producing the
following incorrect results.

 <?xml version="1.0" encoding="UTF-8"?>
  Main title
   Example text highlighted.

Any advice? I could always run an AWK pre-processing step and strip out the
document identification lines manually, but this seems inelegant.