html Tidy почему-то выдает это как вывод:
<?xml version="1.0" encoding="utf-16"?> <?xml version="1.0" encoding="utf-16"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="generator" content= "HTML Tidy for Linux/x86 (vers 11 February 2007), see www.w3.org" /> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" /> ...rest of document
Таким образом, есть 2 xml-заголовка и неправильного типа (не UTF-8). Есть ли способ удалить второй заголовок, изменить его на UTF-8, а также удалить DOCTYPE с помощью XSL?
Я думаю, что было бы лучше исправить исходную проблему. Вы используете библиотеку HTML Tidy?
Попробуйте установить output-encoding в utf8 и add-xml-decl в false. Узел DOCTYPE можно подавить, задав для свойства doctype значение omit.
Да. Создайте шаблон, который соответствует первому дочернему элементу, который вы хотите принять, а затем просто выведите содержимое этого элемента.