8,906
社区成员
发帖
与我相关
我的任务
分享
<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<?xml-stylesheet href="items.xsl" type="text/xsl"?>
<!-- code of items.xml -->
<ALL>
<ITEM1 name="姓名" key="Name">张三</ITEM1>
<ITEM1 name="性别">男</ITEM1>
<ITEM1 name="年龄">12</ITEM1>
<ITEM2 name="住院号">123</ITEM2>
<ITEM2 name="申请者"></ITEM2>
<ITEM2 name="检查时间">2016-08-31</ITEM2>
<OTHER>NOT DISPLAY</OTHER>
</ALL>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- code of items.xsl -->
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:myFunction="http://www.ricky.com/myFunction"
exclude-result-prefixes="xs myFunction">
<xsl:template match="/">
<xsl:apply-templates select="//*"/>
</xsl:template>
<xsl:template match="*">
<xsl:variable name="name" select="name()"/>
<xsl:if test="myFunction:valid($name) = 'true'">
<xsl:value-of select="name()"/>:<xsl:value-of select="."/><br/>
</xsl:if>
</xsl:template>
<xsl:function name="myFunction:valid" as="xs:string">
<xsl:param name="name" as="xs:string"/>
<xsl:analyze-string select="$name" regex="ITEM\d+">
<xsl:matching-substring>
<xsl:value-of select="'true'"/>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:value-of select="'false'"/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:function>
</xsl:stylesheet>
<!-- Processor: SAXON -->
<!-- command java net.sf.saxon.Transform -s:items.xml -xsl:items.xsl -o:items.html -->