[Home] [By Thread] [By Date] [Recent Entries]
Israel Viente wrote:
Can you please explain the idea of the line:<xsl:template match="p[preceding-sibling::p[1][span[@class ne 'chapter'] and not(matches(span[@class ne 'chapter'][last()], '[.?"!]$'))]]"/> Yes, that template matches p elements where the immediately preceding p element is one with a span child where class is not 'chapter' and where the last such span element does not end with one of those characters you listed. As the template is empty it ensure that any such p elements are not copied. How can I remove the following: 1. extra xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" and version="-//W3C//DTD XHTML 1.1//EN" inside html element. 2. extra profile="" in head element 3. extra xml:space="preserve" in p, span and br elements. Unfortunately any attempts to transform a document referencing a DTD on www.w3.org currently fail here with 503 HTTP errors so I can't test myself. I would assume that the referenced DTD you have defines default values for those attributes that the XML parser expands and that the identity transformation copies. According to http://www.saxonica.com/documentation/using-xsl/commandline.html Saxon 9 has a command line option -expand:off to prevent that from happening so try that if you use Saxon. -- Martin Honnen http://msmvps.com/blogs/martin_honnen/
|

Cart



