Страница 1 из 1

XML & XSL

Добавлено: 23 фев 2010, 21:06
as90
Всем привет!
Пишется проект на C# в VS, надо сформировать отчет...

Как с помощью XML & XSL сформировать HTML страницу?
(может статьи или книги или еще что-то, буду благодарен за любую информацию)

Re: XML & XSL

Добавлено: 25 фев 2010, 11:03
Хыиуду
Файл test.xml

Код: Выделить всё

<?xml version="1.0" encoding="windows-1251"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<!DOCTYPE PRODUCTS
     [
     <!ELEMENT PRODUCTS (PRODUCT)*>
     <!ELEMENT PRODUCT (TITLE, SORT+)>
     <!ELEMENT TITLE (#PCDATA)>
     <!ELEMENT COLOR (#PCDATA)>
     <!ELEMENT PRICE (#PCDATA)>
     <!ELEMENT SORT (COLOR, PRICE)>
     <!ATTLIST PRODUCT import (да | нет) "нет">
     ]
>
<PRODUCTS>
    <PRODUCT import="yes">
        <TITLE> Пуфик </TITLE>
        <SORT>
            <COLOR> red </COLOR>
            <PRICE> $10.00 </PRICE>
        </SORT>
        <SORT>
            <COLOR> blue </COLOR>
            <PRICE> $11.00 </PRICE>
        </SORT>
        <SORT>
            <COLOR> gray </COLOR>
            <PRICE> $16.00 </PRICE>
        </SORT>
    </PRODUCT>
    <PRODUCT>
        <TITLE> Шняга </TITLE>
        <SORT>
            <COLOR> red </COLOR>
            <PRICE> $20.00 </PRICE>
        </SORT>
        <SORT>
            <COLOR> green </COLOR>
            <PRICE> $22.00 </PRICE>
        </SORT>
    </PRODUCT>
    <PRODUCT import="да">
        <TITLE> Импортная фиговина </TITLE>
        <SORT>
            <COLOR> red </COLOR>
            <PRICE> $30.00 </PRICE>
        </SORT>
        <SORT>
            <COLOR> blue </COLOR>
            <PRICE> $33.00 </PRICE>
        </SORT>
    </PRODUCT>
    <PRODUCT>
        <TITLE> Отечественная хреновина </TITLE>
        <SORT>
            <COLOR> red </COLOR>
            <PRICE> $40.00 </PRICE>
        </SORT>
        <SORT>
            <COLOR> blue </COLOR>
            <PRICE> $44.00 </PRICE>
        </SORT>
    </PRODUCT>
    <PRODUCT>
        <TITLE> Дорогая гравицапа </TITLE>
        <SORT>
            <COLOR> red </COLOR>
            <PRICE> $50.00 </PRICE>
        </SORT>
        <SORT>
            <COLOR> gray </COLOR>
            <PRICE> $55.00 </PRICE>
        </SORT>
    </PRODUCT>
</PRODUCTS>
Файл test.xsl

Код: Выделить всё


<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
	<H1>Каталог товаров</H1>
	<xsl:apply-templates select="PRODUCTS/PRODUCT" /> 
	<!-- <xsl:apply-templates select="PRODUCTS/PRODUCT[SORT/COLOR='gray']" />  -->
</xsl:template>
<xsl:template match="PRODUCT">

	<SPAN style="font-style:italic">Наименование:</SPAN>
	<xsl:value-of select="TITLE" /> 

	<SPAN style="font-style:italic">Импортный:</SPAN>
	<xsl:value-of select="@import" /> 

	<TABLE border="1" width="100%" cellspacing="0">
	<xsl:apply-templates select="SORT" />
	</TABLE>
	

</xsl:template>
<xsl:template match="SORT">
	<TR>
	<TD><xsl:value-of select="COLOR" /></TD>
	<TD><xsl:value-of select="PRICE" /></TD>
	</TR>
</xsl:template>
</xsl:stylesheet>