>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Проблемы с сайтами http://forum.mozilla-russia.org/viewforum.php?id=24 >XSLT преобразование http://forum.mozilla-russia.org/viewtopic.php?id=7204 |
CJIECAPb > 28-12-2005 12:49:17 |
Имеется файл test.xml: Выделить код Код:<?xml version="1.0" encoding="WINDOWS-1251"?> <?xml-stylesheet type="text/xsl" href="test.xsl"?> <site> <form action="test.xml" method="post" name="Main"> <input type="text" value="" name="F1"/> <input type="text" value="" name="F2"/> <select> <option value="0">A</option> <option value="1">B</option> <option value="2">C</option> </select> <input type="submit" name="GO"/> </form> </site> и соответствующий файл стиля test.xsl: Выделить код Код:<?xml version="1.0" encoding="WINDOWS-1251"?> <!DOCTYPE local [ <!ENTITY nbsp " "> ]> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" > <xsl:output method="html" encoding="WINDOWS-1251"/> <xsl:template match="/"> <html> <head> <title>Test</title> </head> <body> <table border="1"> <xsl:apply-templates/> </table> </body> </html> </xsl:template> <xsl:template match="form|option|input/@*|form/@*|select/@*|option/@*"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="input|select"> <tr> <td> Поле </td> <td> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </td> </tr> </xsl:template> </xsl:stylesheet> Данный xml корректно отображается в IE. Xalan преобразует его в следующий html: Выделить код Код:<html> <head> <META http-equiv="Content-Type" content="text/html; charset=WINDOWS-1251"> <title>Test</title> </head> <body> <table border="1"> <form action="test.xml" method="post" name="Main"> <tr> <td> Поле </td><td><input type="text" value="" name="F1"></td> </tr> <tr> <td> Поле </td><td><input type="text" value="" name="F2"></td> </tr> <tr> <td> Поле </td><td><select> <option value="0">A</option> <option value="1">B</option> <option value="2">C</option> </select></td> </tr> <tr> <td> Поле </td><td><input type="submit" name="GO"></td> </tr> </form> </table> </body> </html> но Firefox ровным счётом ничего не отображает. |
Snik > 28-12-2005 13:16:35 |
CJIECAPb |
Lynn > 28-12-2005 13:49:13 |
Не уверен, но похоже, результат преобразования должен быть правильным xhtml. А у вас получается неправильный т.к. form не может быть вложет в table. Если вместо таблиц написать div'ы то всё показывается, да и Ctrl-A -> View selection Source тоже показывает результат преобразования. |
CJIECAPb > 28-12-2005 14:15:13 |
Огромное спасибо! |