Хелпикс

Главная

Контакты

Случайная статья





ГЕНЕРАЦИЯ ОТЧЕТОВ В ФОРМАТЕ XML



2.10. ГЕНЕРАЦИЯ ОТЧЕТОВ В ФОРМАТЕ XML

 

Еще одним способом генерации печатных форм является генерация отчетов в HTML-формате на основе формирования XML-файлов и последующего применения к ним XSLT-преобразований. Этот подход генерации отчетов является более универсальным, так как формат XML и его технологии являются межплатформенной и поддерживаются большим количеством языков программирования и средами проектирования в различных операционных системах.

Например, XSLT-преобразование делается на основе следующего файла. В нем создается список зачетов и экзаменов, которые сдают студенты различных групп. С помощью выражений XPath в тегах for-each и value-of задаются источники данных из xml-документа для конкретных элементов html-файла, полученного в результате преобразования:

<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">

<xsl:template match="/">

<html>

<head/>

<body>

   <div style="font-family: Book Antiqua;              font-weight:bold;

             text-align: none;color: #0000FF;">

     Список зачетов и экзаменов. 

   </div>

   <ul style="list-style-type: disk">

 

     <xsl:for-each select="/NewDataSet/Session_Subject">

             <li>

               <xsl:value-of select="NumGroup"/>

               <br/>

               <xsl:value-of select="NumSemestr"/>

               <br/>

               <xsl:value-of select="TitleSubject"/>

               <br/>

               <xsl:value-of select="Zach_Ezam"/>

               <br/>

             </li>

            

     </xsl:for-each>

   </ul>

</body>

</html>

</xsl:template>

</xsl:stylesheet>

 

Результат применения такого преобразования может быть сохранен в виде html-файла и в дальнейшем загружен в элемент управления WebBrowser, специально предназначенный для работы с файлами такого формата.

 

Рис. 48. Вид сгенерированного на основе xslt-преобразования htmlдокумента в элементу управления WebBrowser.

 

Программный код, который генерирует xml-документ из таблицы набора данных ds, создает на основе xslt-преобразования, которое сохранено в файле forreport.xslt, генерирует html-файл и показывает его в элементе управления WebBrouser.  

// сохранение набора данных в xml-файле

ds.WriteXml("forreport.xml", XmlWriteMode.WriteSchema);

// создание специального объекта- xslt-преобразователя

XslCompiledTransform xslt = new XslCompiledTransform();

// загрузка файла с xslt-преобразованием xslt.Load("../../forreport.xslt");

 

// выполнение преобразования и генерация на основе xml-файла 

//html-файла представления данных

xslt.Transform("forreport.xml", "D:\\forreport.html");

 

// загрузка полученного html_файла в элемент управления WebBrowser webBrowser1.Navigate("D:\\forreport.html");

          

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.