| 做了一小段xml.与大家交流。三个文件。(blue.xml blue.xsl blue.css )拷到本地同一目录下。
 blue.xml:运行代码框
 
 [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
 blue.xsl:运行代码框
 
 [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
 blue.css:运行代码框
 
 [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
 (以前见别人做过一个类似的电子文档。)XML在更多的时候只是一种数据文件,利用XML我们可以使内容与样式分离
 如果我们将XML文件比作结构化的原料的话。那么XSL就好像"筛子"与"模子",
 筛子选取自己需要的原料,这些原料再通过模子形成最终的产品。
 这个模子大致是这样:我们先设计好表现的页面,再将其中需要从XML中获取数据来填充内容的部分去掉,
 然后用XSL语句从XML中筛出相关的数据来填充。
 XML在展开时是一个树形结构,将树形结构中自定义标记称为节点,节点之间存在父子、兄弟关系,要访问其中的结点从根结点就要以"/"来层层进入。 怎样从XML里提取相关的数据,就要用到XSL提供的模式化查询语言。就是通过相关的模式匹配规则表达式从XML里提取数据的特定语句,即上面所说的"筛子"。
 选择模式:<xsl:for-each>、<xsl:value-of>和 <xsl:apply-templates>
 匹配模式:<xsl:template>
 
 <xsl:template match="Replys" ><xsl:for-each select="Reply"  >
 <div>
 <div id="replyPerson">回复人:<xsl:value-of select="UserName"/> | <xsl:value-of select="RankName"/>|</div>
 <div><xsl:apply-templates select="Content" /></div>
 <div>发表时间:<xsl:value-of select="DateTime"/></div>
 </div>
 </xsl:for-each>
 </xsl:template>
 简单说下这段: XSL模板将XSL的设计细化成一个个模板(块),最后再将这些模板(块)组合成一个完整的XSL;好比船与集装箱,我们不是将所有的货物一件件地堆起来,而是装在各自的集装箱中,然后再在船上将这些集装箱堆放起来。这种方法可以使你先从整体上考虑整个XSL的设计,然后将一些表现形式细化成不同的模块,再具体设计这些模块,最后将它们整合在一起,这样,将宏观与微观结合起来,符合人们条理化、规范化要求。 装集装箱--书写模板(块):<xsl:template><xsl:template match="Replys">
 match ── 确定什么样的情况下执行此模板。就是标记的名字;
 其中最上层模板必须将match设为"/"。
 <xsl:template>用match属性从XML选取满足条件的节点,在真对这些特定的节点形成
 一个特定输出形式的模板。
 <xsl:for-each select="Reply">循环选择。select :确定在此上下文环境中应执行什么模板,即选取用< xsl:template >标记建立的模板(块)。
 <xsl:value-of> 直接输出选择的。
 调用模板(块):<xsl:apply-templates select="Content" />
 调用xsl最后一段。
 <xsl:template match="Content">
 <xsl:apply-templates />
 </xsl:template>
 
 说多了。不太礼貌。 大家新年快乐。
 一些基本概念和更多参考微软的"XSL开发者指南":
 www.microsoft.com/china/msdn/Archives/workshop/xmlfaq.asp
 经典论坛讨论帖:http://www.blueidea.com/bbs/NewsDetail.asp?id=2399268
 出处:蓝色理想
责任编辑:moby
 ◎进入论坛网络编程版块参加讨论
	      |