отображение XML документа
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



отображение XML документа Expand / Collapse
Автор
Сообщение
17.06.2002 12:28
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 23.11.2006 11:47
Сообщ.: 549, Visits: 6 023
подскажите, если написать просто xml документ , то все тэги таки и отображаются, а что нужно и к чему добавить, чтобы отображение было как отоюражение Html старницы ?
Сообщ. #753010
17.06.2002 13:51
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 09.01.2003 11:03
Сообщ.: 50, Visits: 551
Для отображения XML нужен XSl. XSL применяется как HTMl, но все данные берутся из XML файла. Т. Е. это как маленькая база данных, для извлечения данных из которой применяется XSL. Есть также и другие способы отображения XML но это по-моему - самый легкий. Мжешь поискать по словам DomDoc+node+XML
Сообщ. #753020
17.06.2002 21:18
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 23.11.2006 11:47
Сообщ.: 549, Visits: 6 023
спасибо за ответ, но можешь ли пояснить как xsl документ связывается с xml документом ? вообще, какой обработчик xsl документов должен стоять на web сервере ?
Сообщ. #753095
18.06.2002 13:46
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 20.09.2003 13:10
Сообщ.: 121, Visits: 1 332
Если на стороне браузера, то в начале xml файла напиши:
<?xml:stylesheet type="text/xsl" href="template.xsl"?>

Если на стороне сервера, то тут зависит от испльзуемого языка.
Сообщ. #753150
09.08.2002 20:44
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme 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 &lt;= $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>
------------------------------------------------------
Сообщ. #757835
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 2:52