Я хотел бы проанализировать HTML-документ и заменить атрибут действия всех форм и добавить некоторые скрытые поля с помощью XSL. Может ли кто-нибудь показать некоторые примеры XSL, которые могут это сделать?Преобразование HTML с использованием атрибутов XSL и модификации
ответ
Вы можете начать с this tutorial
Но следует помнить, что в целом XSLT
требует хорошо сформированным XML
в качестве входных данных и HTML
не всегда хорошо сформированные
Что вам нужно первое хорошо формируется HTML (по крайней мере, переходный), хотя лучше всего рекомендуется XHTML. Некоторые процессоры XSLT могут принимать неверный HTML, но это не правило.
Чтобы попробовать пример ниже, вы можете скачать this small Microsoft command line app.
Быстрый и грязный пример XSLT для того, что вам нужно (например, xslt.xsl):
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="form[@action='foo']">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:attribute name="action">non-foo</xsl:attribute>
<input type="hidden" name="my-hidden-prop" value="hide-foo-here"/>
<xsl:apply-templates select="*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
И соответствующий пример XML (example.xml).
<?xml version ="1.0"?>
<?xml-stylesheet type="text/xsl" href="example-xslt.xsl"?>
<html>
<head></head>
<body>
<form action="foo">
</form>
<form action="other">
</form>
</body>
</html>
Думая ответ Гурин в: один возможный XSLT на основе путь для HTML заключается в использовании аккуратным, чтобы преобразовать его в XHTML, применить XSLT к XHTML, но использовать xsl:output[@method="html"]
, чтобы получить HTML обратно. Атрибуты @doctype-system
и @doctype-public
позволяют также предоставлять объявление doctype в выходном файле.
У меня нет образцов файлов для shahbhat, но общий подход прост с точки зрения XSLT: начните с преобразования идентичности и добавьте в шаблоны атрибуты действия, чтобы переопределить их так, как вы хотите. Чтобы добавить скрытые поля, я подозреваю, что самым простым способом было бы создать шаблон явно для элемента form
в качестве преобразования идентичности, но с дополнительными элементами внутри него, которые также выводятся. Я думаю, что Фернандо Мигелез только что опубликовал пример.
- 1. XSL-преобразование для комплексных атрибутов
- 2. XSL с использованием нескольких атрибутов узлов
- 3. Преобразование XSL с XSL
- 4. Преобразование XML с использованием xsl
- 5. Xsl преобразование HTML в Java
- 6. Преобразование малозадачного XML-списка в таблицу HTML с использованием XSL
- 7. Преобразование XML-списка в HTML-таблицу с использованием XSL
- 8. Выход HTML через преобразование XSL с использованием специальных символов
- 9. Преобразование XSL-FO в HTML
- 10. атрибутов модификации в классе
- 11. Преобразование XSL и XPath
- 12. XML и XSL преобразование
- 13. Преобразование XML в HTML с помощью XSL?
- 14. Преобразование атрибутов стиля CSS в HTML-атрибуты с использованием Perl
- 15. Преобразование XML/XSL с использованием Javascript/JQuery
- 16. Преобразование XML в XML с использованием XSL
- 17. Преобразование последовательности тегов с использованием XSL
- 18. Преобразование XML с помощью XSL, преобразовать все элементы атрибутов
- 19. Преобразование XML с использованием XSL-шаблона
- 20. XSL-преобразование входного XML с использованием java
- 21. Преобразование XSL и XPath
- 22. XSL Невозможно выполнить преобразование XSL
- 23. Использование XSL для сортировки атрибутов
- 24. Поиск атрибутов XML с подстановочными значениями с использованием XSL
- 25. Преобразование HTML, созданного XML, XSL в MHTML
- 26. Apple XML to HTML с использованием XSL
- 27. вывода XML в HTML с использованием XSL
- 28. xsl: Сортировать несколько атрибутов
- 29. Преобразование '*' и '_' HTML с использованием Haskell
- 30. XSL преобразование для вложенных HTML-тегов