XSLT | страница 30



Пусть W3C и утверждает, что XML следует преобразовывать в XHTML, а не в HTML, я не видел ни одного работающего примера на их web-узле. Представленные ими примеры на самом деле не генерируют допустимых документов XHTML. Тем не менее, поддержка преобразований XML-XHTML предположительно будет встроена в XSLT 2.0, и желаемое W3C явление, вероятно, нас вскоре ждет.

Более подробно мы рассмотрим этот тип преобразования в главе 6, а здесь я приведу рабочую версию таблицы >planets.xsl, которая создает допустимую XHTML-версию >planets.html (листинг 1.7). Заметьте, что на этот раз в элементе > нужно использовать атрибут >doctype-public, и хотя это корректный код XSLT, не все процессоры XSLT смогут его обработать.

Листинг 1.7. Преобразование XML-XHTML

>

>

> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

>  doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

>  doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" indent="yes"/>


>  

>   

>    </code></p><p><code>>     The Planets Table</code></p><p><code>>    

>   

>   

>    

>     The Planets Table

>    

>    

>     

>     

>      

>      

>      

>    

>    

>    

NameMassRadiusDay

>   

>  


>  

>  

>  

>  

>  

>  


>  

>  

>  


>  

>  

>  


>  

>

Я преобразую >planets.xml в допустимый документ XHTML, >planets.html, используя этот новый вариант >planets.xsl и процессор XSLT XT. Сначала нужно корректно установить переменную >classpath:

>С:\>set classpath=c:xerces\xerces-1_3_0\xerces.jar;с:\xt\xt.jar;

Затем я провожу преобразование:

>C:\planets>java -Dcom.jclark.xsl.sax.parser=org.apache.xerces.parsers.SAXParser.com.jclark xsl.sax.Driver planets.xml planets.xsl planets.html