Не могу сообразить как надо оформить xsl, чтобы не было ошибки:
Код | Warning: DOMDocument::load() [domdocument.load]: attributes construct error in file:///Z:/...*.xsl, line: 7 in Z:\home\...\www\...*.php on line 56 Warning: DOMDocument::load() [domdocument.load]: Couldn't find end of Start Tag a line 7 in file:///Z:/...*.xsl, line: 7 in Z:\home\...*.php on line 56
Warning: DOMDocument::load() [domdocument.load]: Opening and ending tag mismatch: value-of line 7 and a in file:///Z:/...*.xsl, line: 7 in Z:\home\...*.php on line 56
|
Вот шаблон xsl:
Код | <?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <table> <tr> <xsl:for-each select="/head_tbl/td_cell"> <td><a href="index.php?sort="<xsl:value-of select="@name_tbl">&typefld="<xsl:value-of select="@typefld">"><xsl:value-of select="@name"/></a></td> </xsl:for-each> </tr> <tr> <xsl:for-each select="/tbl/elem"> <tr> <xsl:for-each select="*"> <td><xsl:value-of select="*"/></td> </xsl:for-each> </tr> </xsl:for-each> </tr> </table> </xsl:template> </xsl:stylesheet>
|
А вот xml:
Код | <?xml version="1.0" encoding="utf-8"?> <head_tbl> <td_cell name_tbl="id" ord="1" name="Уник. идентиф." typefld="0" sortflag="1" link=""/> <td_cell name_tbl="login" ord="2" name="Логин" typefld="2" sortflag="1" link=""/> <td_cell name_tbl="surname" ord="3" name="Фамилия" typefld="2" sortflag="1" link=""/> <td_cell name_tbl="name1" ord="4" name="Имя" typefld="2" sortflag="1" link=""/> <td_cell name_tbl="name2" ord="5" name="Отчество" typefld="2" sortflag="1" link=""/> <td_cell name_tbl="passw" ord="6" name="Пароль" typefld="4" sortflag="0" link=""/> </head_tbl> <tbl> <elem> <id>1</id> <login>ivanova</login> <surname>Иванова</surname> <name1>Ольга</name1> <name2>Владимировна</name2> <passw>ldrkgjlrjkth </passw> </elem> <elem> <id>2</id> <login>petrova</login> <surname>Петрова</surname> <name1>Анастасия</name1> <name2>Михайловна</name2> <passw>kldhgkrh </passw> </elem> </tbl>
|
После преобразования должно получится что-то вроде этого:
Код | <table> <tr> <td><a href="index.php?ord=id&typefld=0">Уник. идентиф.</a></td> <td><a href="index.php?ord=login&typefld=2">Логин</a></td> <td><a href="index.php?ord=surname&typefld=2">Фамилия</a></td> <td><a href="index.php?ord=name1&typefld=2">Имя</a></td> <td><a href="index.php?ord=name2&typefld=2">Отчество</a></td> <td>Пароль</td> </tr> <tr> <td>1</td> <td>ivanova</td> <td>Иванова</td> <td>Ольга</td> <td>Владимировна</td> <td>Петрова</td> </tr> <tr> <td>2</td> <td>petrova</td> <td>Петрова</td> <td>Анастасия</td> <td>Михайловна</td> <td>kldhgkrh</td> </tr> </table>
|
Я понимаю, что в строчке шаблона:
Код | <td><a href="index.php?sort="<xsl:value-of select="@name_tbl">&typefld="<xsl:value-of select="@typefld">"><xsl:value-of select="@name"/></a></td>
|
надо как-то корректно обработать кавычки, амперсанды, знаки вопроса и возможно "крышки" < и >. Но я не могу сообразить, как это сделать. Подскажите, пожалуйста. |