Обработка XML с помощью XSLT и CSS в Internet Explorer - PullRequest
1 голос
/ 12 ноября 2010

У меня есть проблема, которую, я полагаю, легко исправить, но я просто не могу найти решение. У меня есть XML-файл, который я хочу отобразить. Для этого я сейчас использую XSLT-файл. Теперь я просто изменил свой CSS со встроенного в XSLT вместо CSS-файла, что лучше, так как я смогу использовать один и тот же CSS-файл для нескольких XSLT-файлов.

Вот мой XSLT:

<?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:tools="tools">
        <xsl:include href="AnotherXSLT.xsl" />
        <xsl:template match="/">
            <html>
            <head>
                <link href="styles.css" rel="stylesheet" type="text/css" MEDIA="screen" >
            </head>
            <body>
                ...
            </body>
        </html>
        </xsl:template>
    </xsl:stylesheet>

Я имею в виду, это не может быть проще, чем таблица стилей. Но когда он обрабатывается, Internet Explorer выдает мне эту ошибку:

End tag 'head' does not match the start tag 'link'. Error processing resource     
'file:///C:/Users/...
      </head>
--------^

Я попытался закрыть тег ссылки следующим образом:

<link href="styles.css" rel="stylesheet" type="text/css" MEDIA="screen" />

Тогда я просто получаю: Конечный тег «html» не соответствует начальному тегу «LINK».

Я также пытался поместить DOCTYPE перед тегом <html> внутри шаблона, я получаю еще одну ошибку, сообщающую, что я не могу поместить doctype после proclog или чего-то еще.

Есть идеи?

По запросу это мой CSS:
корпус
{
семейство шрифтов: "Courier New", Courier, monospace;
размер шрифта: 0.8em;
}
table.mono
{
семейство шрифтов: "Courier New", Courier, monospace;
Размер шрифта: 0.85em;
границы коллапса: крах;
}
таблица твердый черный, твердый черный, твердый черный
{
рамка: 1px сплошной черный;
}
пролет
{
Размер шрифта: наследование;
Дисплей: встроенный блок;
обивка налево: 16px;
}
td.padding, th.padding
{
обивка налево: 16px;
обивка-направо: 16px;
}
h3.exp
{
Дисплей: встроенный;
обивка налево: 6px;
}

1 Ответ

2 голосов
/ 12 ноября 2010

Нам нужно увидеть линии вокруг вашего CSS. Спасибо.

Редактировать: Кстати, с вашим XSLT или без него, я могу предположить, что вы забыли последнюю косую черту в вашем:

<link rel="stylesheet" href="../css/style.css" type="text/css" />

В конце посмотрите « / ».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...