|
|
|
Supreme Being
      
участник
Last Login: 23.11.2006 11:47
Сообщ.: 549,
Visits: 6 023
|
|
| подскажите, если написать просто xml документ , то все тэги таки и отображаются, а что нужно и к чему добавить, чтобы отображение было как отоюражение Html старницы ?
|
|
|
|
|
Forum Guru
      
участник
Last Login: 09.01.2003 11:03
Сообщ.: 50,
Visits: 551
|
|
| Для отображения XML нужен XSl. XSL применяется как HTMl, но все данные берутся из XML файла. Т. Е. это как маленькая база данных, для извлечения данных из которой применяется XSL. Есть также и другие способы отображения XML но это по-моему - самый легкий. Мжешь поискать по словам DomDoc+node+XML
|
|
|
|
|
Supreme Being
      
участник
Last Login: 23.11.2006 11:47
Сообщ.: 549,
Visits: 6 023
|
|
| спасибо за ответ, но можешь ли пояснить как xsl документ связывается с xml документом ? вообще, какой обработчик xsl документов должен стоять на web сервере ?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 20.09.2003 13:10
Сообщ.: 121,
Visits: 1 332
|
|
Если на стороне браузера, то в начале xml файла напиши: <?xml:stylesheet type="text/xsl" href="template.xsl"?>
Если на стороне сервера, то тут зависит от испльзуемого языка.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 06.06.2004 15:46
Сообщ.: 209,
Visits: 2 300
|
|
Пример из MSDN (слегка переделанный мной) Среда IE 5.5 (IE 6) MSXML3 parser . Складывай о одной дир-и Запускаешь Sales Дальше увидешь Будут вопросы пищи. ------------File: Sales.xml--------- <?xml version="1.0" ?> <?xml-stylesheet type="text/xsl" href="transform.xsl"?> <sales> <summary> <heading>Scootney Publishing</heading> <subhead>Regional Sales Report</subhead> <description>Sales report for the West Coast, Central and East Coast regions.</description> </summary> <data> <region> <name>West Coast</name> <quarter number="1" books_sold="24000" /> <quarter number="2" books_sold="38600" /> <quarter number="3" books_sold="44030" /> <quarter number="4" books_sold="21000" /> </region> <region> <name>Central</name> <quarter number="1" books_sold="11000" /> <quarter number="2" books_sold="16080" /> <quarter number="3" books_sold="25000" /> <quarter number="4" books_sold="29000" /> </region> <region> <name>East Coast</name> <quarter number="1" books_sold="27000" /> <quarter number="2" books_sold="31400" /> <quarter number="3" books_sold="40100" /> <quarter number="4" books_sold="30000" /> </region> </data> </sales>
---------File : Transform.xsl----------------------- <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="html"/>
<xsl:param name="low_sales" select="21000"/>
<xsl:template match="/"> <HTML> <HEAD> <TITLE><xsl:value-of select="//summary/heading"/></TITLE> </HEAD> <BODY> <xsl:variable name="ancillary" select="document('ancillary.xml')"/>
<div style="position:absolute;font-size:96;font-family:Times New Roman;color:#F0F0F0;z-index:-1"> <xsl:value-of select="$ancillary//watermark"/> </div>
<h1><xsl:value-of select="//summary/heading"/></h1> <h2><xsl:value-of select="//summary/subhead"/></h2> <p><xsl:value-of select="//summary/description"/></p>
<table border='1'> <tr> <th>Region\Quarter</th> <xsl:for-each select="//data/region[1]/quarter"> <th>Q<xsl:value-of select="@number"/></th> </xsl:for-each> <th>Total</th> </tr>
<xsl:for-each select="//data/region"> <tr > <th style="text-align:left"><xsl:value-of select="name"/></th> <xsl:for-each select="quarter">
<td><xsl:attribute name="style"> <xsl:choose> <xsl:when test="number(@books_sold <= $low_sales)">color:red;</xsl:when> <xsl:otherwise>color:green;</xsl:otherwise> </xsl:choose> text-align:right; </xsl:attribute> <xsl:value-of select="format-number(@books_sold,'###,###')"/> </td>
</xsl:for-each> <td style="text-align:right;font-weight:bold;">
<xsl:value-of select="format-number(sum(quarter/@books_sold),'###,###')"/> </td> </tr> </xsl:for-each>
<xsl:for-each select="//data"> <tr> <th> </th> <th> <xsl:value-of select="format-number(sum(region/quarter[1]/@books_sold),'###,###')"/> </th> <th> <xsl:value-of select="format-number(sum(region/quarter[2]/@books_sold),'###,###')"/> </th> <th> <xsl:value-of select="format-number(sum(region/quarter[3]/@books_sold),'###,###')"/> </th> <th> <xsl:value-of select="format-number(sum(region/quarter[4]/@books_sold),'###,###')"/> </th>
<th>
<xsl:value-of select="format-number(sum(region/quarter/@books_sold),'###,###')"/>
</th>
</tr> </xsl:for-each>
</table>
<div style="font-size:9"> <xsl:value-of select="$ancillary//copyright"/> </div> </BODY> </HTML> </xsl:template>
</xsl:stylesheet>
----------- File Ancillary.xml--------------------- <document> <watermark>Scootney Publishing</watermark> <copyright>Copyright 2000, Scootney Publishing. All Rights Reserved.</copyright> </document> ------------------------------------------------------
|
|
|
|