2010-07-06 2 views
1

Я создаю html-файл на основе xml и xsl с XslCompiledTransform в C# .net. Это прекрасно работает.Как включить файл css в XMLtransformation?

Но у xsl также есть css-файл, и мне интересно, есть ли способ получить эти стили css, включенные в выходной файл html, поэтому его можно показать как отдельный файл (так что я не знаю, t нужно скопировать файл css туда, где я хочу видеть файл).

Чтобы определить стиль каждого тега явно не является вариантом, к сожалению, и файл, конечно, действительно уродлив без css.

Любая помощь будет очень признательна! :)

ответ

1

В своем выходном html добавьте ссылку в таблицу стилей в теге <head>.

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

Затем добавьте страницу в ваш проект под названием mystyle.aspx. В Page_Load этого файла вы выполняете преобразование xslt для вывода только части css. (И удалите css часть преобразования для html-страниц).

protected void Page_Load(object sender, EventArgs e) { 
    Response.Clear(); 
    Response.ContentType = "text/css"; 

    string css = // Do your xslt transformation here 

    Response.Write(css); 
    Response.End(); 
} 

Если CSS является одинаковым для всех страниц, вы можете добавить кэширование кода выше, чтобы сохранить делать трансформации каждый раз.

Возможно, вам придется использовать некоторые параметры, чтобы указать на ваш xml/xslt, но вы не предоставили никакой информации в своем вопросе в этом отношении.