`

xml转换 xsl <xsl:if 判断值为空

    博客分类:
  • XML
阅读更多

使用 XSLT 将 XML 转换为 XHTML ,<xsl:if 判断值是否为空 。

 

网上搜了下,最后选中其中一种方法。

 

<xsl:if test="price = '' or year = '' ">
//做的事情  
//多值判断 与或非  采用 and 和 or  而不是 java语法的 && 和 ||
</xsl:if>

 

1.xml代码

<?xml version="1.0" encoding="UTF-8"?>
<!-- Edited with XML Spy v2007 (http://www.altova.com) -->
<?xml-stylesheet type="text/xsl" href="1.xsl"?>
<catalog>
	<cd>
		<title>Empire Burlesque</title>
		<artist>Bob Dylan</artist>
		<country>USA</country>
		<company>Columbia</company>
		<price></price>
		<year></year>
	</cd>
	<cd>
		<title>Hide your heart</title>
		<artist>Bonnie Tyler</artist>
		<country>UK</country>
		<company>CBS Records</company>
		<price></price>
		<year>1988</year>
	</cd>
	<cd>
		<title>Greatest Hits</title>
		<artist>Dolly Parton</artist>
		<country>USA</country>
		<company>RCA</company>
		<price>9.90</price>
		<year>1982</year>
	</cd>
	<cd>
		<title>Still got the blues</title>
		<artist>Gary Moore</artist>
		<country>UK</country>
		<company>Virgin records</company>
		<price>10.20</price>
		<year>1990</year>
	</cd>
	<cd>
		<title>Eros</title>
		<artist>Eros Ramazzotti</artist>
		<country>EU</country>
		<company>BMG</company>
		<price>9.90</price>
		<year>1997</year>
	</cd>
	<cd>
		<title>One night only</title>
		<artist>Bee Gees</artist>
		<country>UK</country>
		<company>Polydor</company>
		<price>10.90</price>
		<year>1998</year>
	</cd>
	<cd>
		<title>Sylvias Mother</title>
		<artist>Dr.Hook</artist>
		<country>UK</country>
		<company>CBS</company>
		<price>8.10</price>
		<year>1973</year>
	</cd>
	<cd>
		<title>Maggie May</title>
		<artist>Rod Stewart</artist>
		<country>UK</country>
		<company>Pickwick</company>
		<price>8.50</price>
		<year>1990</year>
	</cd>
	<cd>
		<title>Romanza</title>
		<artist>Andrea Bocelli</artist>
		<country>EU</country>
		<company>Polydor</company>
		<price>10.80</price>
		<year>1996</year>
	</cd>
	<cd>
		<title>When a man loves a woman</title>
		<artist>Percy Sledge</artist>
		<country>USA</country>
		<company>Atlantic</company>
		<price>8.70</price>
		<year>1987</year>
	</cd>
	<cd>
		<title>Black angel</title>
		<artist>Savage Rose</artist>
		<country>EU</country>
		<company>Mega</company>
		<price>10.90</price>
		<year>1995</year>
	</cd>
	<cd>
		<title>1999 Grammy Nominees</title>
		<artist>Many</artist>
		<country>USA</country>
		<company>Grammy</company>
		<price>10.20</price>
		<year>1999</year>
	</cd>
	<cd>
		<title>For the good times</title>
		<artist>Kenny Rogers</artist>
		<country>UK</country>
		<company>Mucik Master</company>
		<price>8.70</price>
		<year>1995</year>
	</cd>
	<cd>
		<title>Big Willie style</title>
		<artist>Will Smith</artist>
		<country>USA</country>
		<company>Columbia</company>
		<price>9.90</price>
		<year>1997</year>
	</cd>
	<cd>
		<title>Tupelo Honey</title>
		<artist>Van Morrison</artist>
		<country>UK</country>
		<company>Polydor</company>
		<price>8.20</price>
		<year>1971</year>
	</cd>
	<cd>
		<title>Soulsville</title>
		<artist>Jorn Hoel</artist>
		<country>Norway</country>
		<company>WEA</company>
		<price>7.90</price>
		<year>1996</year>
	</cd>
	<cd>
		<title>The very best of</title>
		<artist>Cat Stevens</artist>
		<country>UK</country>
		<company>Island</company>
		<price>8.90</price>
		<year>1990</year>
	</cd>
	<cd>
		<title>Stop</title>
		<artist>Sam Brown</artist>
		<country>UK</country>
		<company>A and M</company>
		<price>8.90</price>
		<year>1988</year>
	</cd>
	<cd>
		<title>Bridge of Spies</title>
		<artist>T`Pau</artist>
		<country>UK</country>
		<company>Siren</company>
		<price>7.90</price>
		<year>1987</year>
	</cd>
	<cd>
		<title>Private Dancer</title>
		<artist>Tina Turner</artist>
		<country>UK</country>
		<company>Capitol</company>
		<price>8.90</price>
		<year>1983</year>
	</cd>
	<cd>
		<title>Midt om natten</title>
		<artist>Kim Larsen</artist>
		<country>EU</country>
		<company>Medley</company>
		<price>7.80</price>
		<year>1983</year>
	</cd>
	<cd>
		<title>Pavarotti Gala Concert</title>
		<artist>Luciano Pavarotti</artist>
		<country>UK</country>
		<company>DECCA</company>
		<price>9.90</price>
		<year>1991</year>
	</cd>
	<cd>
		<title>The dock of the bay</title>
		<artist>Otis Redding</artist>
		<country>USA</country>
		<company>Atlantic</company>
		<price>7.90</price>
		<year>1987</year>
	</cd>
	<cd>
		<title>Picture book</title>
		<artist>Simply Red</artist>
		<country>EU</country>
		<company>Elektra</company>
		<price>7.20</price>
		<year>1985</year>
	</cd>
	<cd>
		<title>Red</title>
		<artist>The Communards</artist>
		<country>UK</country>
		<company>London</company>
		<price>7.80</price>
		<year>1987</year>
	</cd>
	<cd>
		<title>Unchain my heart</title>
		<artist>Joe Cocker</artist>
		<country>USA</country>
		<company>EMI</company>
		<price>8.20</price>
		<year>1987</year>
	</cd>
</catalog>

  

1.xsl 代码

<?xml version="1.0" encoding="UTF-8"?>
<!-- Edited with XML Spy v2007 (http://www.altova.com) -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
    <h2>My CD Collection</h2>
    <table border="1">
      <tr bgcolor="#9acd32">
      <th>Title</th>
      <th>Artist</th>
    </tr>
    <xsl:for-each select="catalog/cd">
    <xsl:if test="price = '' or year = '' ">
      <tr>
        <td><xsl:value-of select="title"/></td>
        <td><xsl:value-of select="artist"/></td>
	    </tr>
    </xsl:if>
    </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

 

 

浏览器打开 1.xml  结果如下:

 



 

  • 大小: 13.9 KB
分享到:
评论

相关推荐

    xml+xsl中分割字符

    在XML与XSL技术的结合应用中,对字符串进行分割处理是一项常见的需求,尤其是在需要将一个包含多个值的属性或元素拆分为多个单独元素时。本文将深入探讨如何利用XSLT中的`substring-before()`和`substring-after()`...

    xml和xsl生成html页面

    在上面的例子中,我们可以创建一个XSL样式表来将XML转换为HTML: ```xml &lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt; &lt;xsl:template match="/"&gt; &lt;html&gt; &lt;body&gt; &lt;h1&gt;个人...

    XML应用开发(软件品牌)-1期 5.4案例分析-使用XSL流程控制语言.doc

    在XSLT中,我们使用`&lt;xsl:if&gt;`元素来根据一个布尔表达式的值决定是否输出特定内容。例如,在案例1(element-if.xslt)中,我们筛选出Category属性为"计算机"的Book元素进行输出。具体语法结构如下: ```xml &lt;xsl...

    使用JavaScript+XML+XSL创建树形目录

    这个XSL模板会将XML中的`folder`元素转换为`&lt;ul&gt;&lt;li&gt;`结构,而`file`元素则转换为链接`&lt;a&gt;`。 **步骤3:使用JavaScript处理数据** 在HTML页面中,我们可以使用JavaScript来加载XML和XSL文件,然后应用XSL转换得到...

    xslt介绍

    1. `&lt;xsl:value-of&gt;` 元素:这个元素用于将XML文档中选定节点的值插入到结果文档中。`select`属性是必需的,用来指定要获取值的XPath表达式。 例如: ```xml &lt;xsl:value-of select="L00/C2" /&gt; ``` 在这个例子...

    XML应用开发(软件品牌)-1期 第5单元 单元测试卷-使用XSLT显示XML文档.doc

    2. XSLT的流程控制包括`&lt;xsl:if&gt;`进行条件判断,`&lt;xsl:for-each&gt;`进行循环,以及`&lt;xsl:choose&gt;`, `&lt;xsl:when&gt;`, `&lt;xsl:otherwise&gt;`进行多分支选择。例如: ```xml &lt;xsl:for-each select="cd"&gt; &lt;xsl:if test="price ...

    xml +js+xsl 实现无限极菜单

    XSL是一种样式表语言,用于转换XML文档的结构和格式。它包括XSLT(XSL Transformations),用于转换XML到其他XML或HTML,以及XPath,用于在XML文档中查找节点。 在构建无限极菜单的场景中,XML文件可以用来存储菜单...

    xsl解析xml生成表格,表格行动态隐藏与显示

    在IT领域,XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,而XSL(eXtensible Stylesheet Language)则是一种样式表语言,用于转换XML文档的结构和格式。本主题主要关注如何使用XSL解析XML...

    XSL转换XML的技术

    编写文件名为student2.xsl的XSL文件,其中,用&lt;xsl:sort&gt;对学生信息数据按照专业进行排序,并用&lt;xsl:if&gt;筛选出专业为“计算机”的学生信息。要求显示出的计算机专业的学生信息记录单元格背景色为黄色,字符为加粗的...

    用 xsl essage 调试样式表

    对于包含条件判断的模板,如`xsl:if`或`xsl:choose`,可以使用`xsl:message`来确定哪个分支被触发。清单2展示了如何在DocBook XSL样式表中添加调试消息,以确定转换无效的原因: 清单2: ```xml &lt;xsl:choose&gt; &lt;xsl:...

    xml基础电子稿 第五张的知识体系和结构

    除此之外,XSL还提供了一系列的指令和元素,如`&lt;xsl:for-each&gt;`用于迭代遍历XML元素,`&lt;xsl:value-of&gt;`用于输出元素的值,`&lt;xsl:copy&gt;`用于复制元素,`&lt;xsl:if&gt;`和`&lt;xsl:choose&gt;`用于条件判断等。这些工具使XSL具有...

    XSLT将XML装换为XHTML(带源码)

    在本教程中,我们将详细探讨如何使用XSLT将XML转换为XHTML,以适应网页展示的需求。 首先,我们需要了解XSLT的基本结构。XSLT文件本身也是一个XML文档,由模板、模式和指令组成。模板定义了输出结果的结构,模式则...

    xslt总结及使用xslt将xml显示的例子

    XSLT,全称为“可扩展样式表语言转换”(eXtensible Stylesheet Language Transformations),是一种专门用于转换XML文档格式的语言。它基于XPath,是W3C推荐的标准,用于将XML数据转换成HTML、PDF、其他XML格式或者...

    xsl使用示例代码

    5. **条件语句和循环(Conditional Statements & Loops)**:XSLT支持条件语句(如`&lt;xsl:if&gt;`和`&lt;xsl:choose&gt;`)以及循环(如`&lt;xsl:for-each&gt;`),使我们能够基于数据的条件来控制输出。 6. **输出指令(Output ...

    xsl学习笔记,入门知识

    在实际应用中,你可能还会遇到条件判断(`&lt;xsl:if&gt;`和`&lt;xsl:choose&gt;`)、循环(`&lt;xsl:for-each&gt;`)、变量(`&lt;xsl:variable&gt;`和`&lt;xsl:param&gt;`)以及导入和包含其他样式表(`&lt;xsl:import&gt;`和`&lt;xsl:include&gt;`)等功能。...

    自己写的对XML的增删改查,还有DTD,XSL的操作

    XSL用于转换XML文档,将其呈现为HTML、PDF或其他格式。XSLT(XSL Transformations)是实现XSL转换的语法。例如,下面的XSL模板将`book`元素转换为HTML: ```xml &lt;xsl:stylesheet version="1.0" xmlns:xsl=...

    [xslt]xml文件

    XSLT提供了丰富的功能,包括条件判断(`&lt;xsl:if&gt;`)、循环(`&lt;xsl:for-each&gt;`)、模板匹配(`&lt;xsl:template&gt;`)以及函数调用等,使得XML数据可以根据需要被灵活地呈现和转换。 在实际应用中,XSLT通常与XML解析器...

    C解析XML的方式有详细代码

    在IT领域,XML(eXtensible Markup Language)...`pugxml.xml`可能是包含测试数据的XML文件,`source-package.css`和`.xsd`、`.xsl`文件可能用于样式和数据转换。结合这些文件,你可以构建一个完整的C++ XML解析应用。

    XSL-FO 高级技术.rar_w3c_xml xsl_xsl

    7. **条件处理**:使用`&lt;xsl:if&gt;`和`&lt;xsl:choose&gt;`可以基于特定条件决定内容是否显示。 8. **引用和链接**:`&lt;fo:basic-link&gt;`元素用于创建链接,可以链接到内部或外部资源。 9. **分页和断行**:`&lt;fo:break-...

Global site tag (gtag.js) - Google Analytics