.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
初学xml vs xslt

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

xml file:

<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<manual type="assembly" id="model-rocket">
  <parts-list>
    <part label="A" count="1">fuselage, left half</part>
    <part label="B" count="1">fuselage, right half</part>
    <part label="F" count="4">steering fin</part>
    <part label="N" count="3">rocket nozzle</part>
    <part label="C" count="1">crew capsule</part>
  </parts-list>
  <instructions>
    <step>
Glue <part ref="A"/> and <part ref="B"/> together to form the
fuselage.
    </step>
    <step>
For each <part ref="F"/>, apply glue and insert it into slots in the
fuselage.
    </step>
    <step>
Affix <part ref="N"/> to the fuselage bottom with a small amount of
glue.
    </step>
    <step>
Connect <part ref="C"/> to the top of the fuselage. Do not use
any glue, as it is spring-loaded to detach from the fuselage.
    </step>
  </instructions>
</manual>


xslt file:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0"
>

<xsl:output method="html" encoding="ISO-8859-1" />

<xsl:template match="manual">
<html>
  <head><title>Instrutions Guide</title></head>
  <body>
    <h1>Instructions Guide</h1>
    <xsl:apply-templates/>
  </body>
</html>
</xsl:template>

<xsl:template match="parts-list">
<h2>Parts</h2>
<dl>
  <xsl:apply-templates/>
</dl>
</xsl:template>

<xsl:template match="part[@label]">
<dt>
  <xsl:value-of select="@label"/>
</dt>
<dd>
  <xsl:apply-templates/>
</dd>
</xsl:template>
 
<xsl:template match="part[@ref]">
  <xsl:variable name="label" select="@ref" />
  <xsl:value-of select="//part[@label=$label]" />
  <xsl:text> (Part </xsl:text>
  <xsl:value-of select="@ref" />
  <xsl:text> ) </xsl:text>
</xsl:template>


</xsl:stylesheet>
  
属性的设置可以覆盖的,所以如果第一个template是对manaul的设置,并不
意味着将整个xml文件按照设置输出,还要看后面的对各个element的样式设置.




相关文章

相关软件