XSLT命名空间输出&&内部调用

XSLT命名空间输出问题:

此属性exclude-result-prefixes可以控制命名空间的输出,比如:exclude-result-prefixes="ne xn en"【注意:命名空间前缀用空格分隔】表示在输出中不出现该命名空间的前缀列表{ne, xm, en}。

XSLT中回车换行表示:

<xsl:text> </xsl:text>

<xsl:text> </xsl:text>

XSLT内部调用举例:

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="2.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:ne="http://www.3gpp.org/ftp/specs/archive/32_series/32.615#configData"
	xmlns:xn="http://www.3gpp.org/ftp/specs/archive/32_series/32.625#genericNrm"
	xmlns:en="http://www.3gpp.org/ftp/specs/archive/32_series/32.765#eutranNrm"
	exclude-result-prefixes="ne xn en">

	<xsl:output method="xml" indent="yes" encoding="UTF-8" />

	<xsl:template match="/">
		<NrmFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
			xsi:noNamespaceSchemaLocation="NrmFileFormat.xsd">
			<xsl:element name="CM">

				<xsl:for-each select="//xn:ManagedElement [*]">
					<xsl:variable name="ManagedBy" select="xn:attributes/xn:ManagedBy" />
					<xsl:variable name="ManagedElementID" select="@id" />

					<xsl:variable name="PrefixDN">
						<xsl:call-template name="substring-first">
							<xsl:with-param name="text" select="$ManagedBy" />
							<xsl:with-param name="splitor1" select="','" />
							<xsl:with-param name="splitor2" select="'\,'" />
						</xsl:call-template>
					</xsl:variable>

					<xsl:attribute name="Dn">
						<xsl:value-of select="concat($PrefixDN, ',ManagedElement=',$ManagedElementID)" />
					</xsl:attribute>

					<ManagedElementId>
						<xsl:value-of select="$ManagedElementID" />
					</ManagedElementId>

					<UserLabel>
						<xsl:value-of select="en:attributes/en:UserLabel" />
					</UserLabel>						

				</xsl:for-each>

			</xsl:element>
		</NrmFile>
	</xsl:template>

	<xsl:template name="substring-first">
		<xsl:param name="text" />
		<xsl:param name="splitor1" />
		<xsl:param name="splitor2" />
		<xsl:choose>
			<xsl:when test="contains($text, $splitor2)">
				<xsl:value-of select="substring-before($text,$splitor2)" />
			</xsl:when>
			<xsl:otherwise>
				<xsl:choose>
					<xsl:when test="contains($text, $splitor1)">
						<xsl:value-of select="substring-before($text,$splitor1)" />
					</xsl:when>
					<xsl:otherwise>
						<xsl:value-of select="$text" />
					</xsl:otherwise>
				</xsl:choose>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>	

	<xsl:template name="string-replace-all">
		<xsl:param name="text" />
		<xsl:param name="old" />
		<xsl:param name="new" />
		<xsl:choose>
			<xsl:when test="contains($text, $old)">
				<xsl:value-of select="substring-before($text,$old)" />
				<xsl:value-of select="$new" />
				<xsl:call-template name="string-replace-all">
					<xsl:with-param name="text" select="substring-after($text,$old)" />
					<xsl:with-param name="old" select="$old" />
					<xsl:with-param name="new" select="$new" />
				</xsl:call-template>
			</xsl:when>
			<xsl:otherwise>
				<xsl:value-of select="$text" />
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
</xsl:stylesheet>
时间: 2025-01-26 12:51:45

XSLT命名空间输出&amp;&amp;内部调用的相关文章

char-帮我看看,真个程序在内部调用自己声明的函数,为何没用?

问题描述 帮我看看,真个程序在内部调用自己声明的函数,为何没用? /*get_int*/ /*目标1.实现可循环输入,输入特定按键即可退出*/ /*目标2.可以识别错误,并给予用户机会重新输入*/ #include #include"get_chooise.c" #define size 81 void get_number(int quantity, int number[]);//一个读取数字函数的声明 void get_char(int quantity,char ch[]);/

在循环内部调用递归怎么理解,求解答

问题描述 在循环内部调用递归怎么理解,求解答 private void tree(Set articles,Connection conn,int id,int grade){ String sql="select * from article where pid="+id; Statement stmt=DB.createStmt(conn); ResultSet rs=DB.executQuery(stmt, sql); try{ while(rs.next()){ Article

服务器-遇到网站内部调用网址时,无法解析网址

问题描述 遇到网站内部调用网址时,无法解析网址 一个服务器,前后台挂2个站点,然后有个附件上传的功能是前台通过webservice提供的给后台使用,前台域名解析到比如www.abc.com,然后再后台使用附件上传的时候就出现无法解析www.abc.com这个报错了,之前据说是好的因为换了服务器之后导致的问题,但正常访问www.abc.com是没问题的. 解决方案 找到问题了,是该服务器网关的dns出了问题,更换了dns就可以了

Jsp结合XML+XSLT将输出转换为Html格式

js|xml|转换 我们知道 XML+XSLT就可以直接输出到支持XML的浏览器上,如IE 5.0以上,但是,我们还要考虑到有不少浏览器不直接支持XML,在这种情况下,我们需要在服务器上进行转换成html输出到浏览器,这种临时过渡办法恐怕要在一段时间内一直要使用. 使用Jsp 加上tablib标识库,我们可以完成这种转换. 著名open source项目组jakarta.apache.org推出的系列标识库中,就有这个功能的tanglib:http://jakarta.apache.org/ta

JSP结合XML+XSLT将输出转换HTML

js|xml|转换 我们知道 XML+XSLT就可以直接输出到支持XML的浏览器上,如IE 5.0以上,但是,我们还要考虑到有不少浏览器不直接支持XML,在这种情况下,我们需要在服务器上进行转换成html输出到浏览器,这种临时过渡办法恐怕要在一段时间内一直要使用. 使用Jsp 加上tablib标识库,我们可以完成这种转换. 著名open source项目组jakarta.apache.org推出的系列标识库中,就有这个功能的tanglib:http://jakarta.apache.org/ta

Jsp结合XML+XSLT将输出转换为Html格式_JSP编程

我们知道 XML+XSLT就可以直接输出到支持XML的浏览器上,如IE 5.0以上,但是,我们还要考虑到有不少浏览器不直接支持XML,在这种情况下,我们需要在服务器上进行转换成html输出到浏览器,这种临时过渡办法恐怕要在一段时间内一直要使用. 使用Jsp 加上tablib标识库,我们可以完成这种转换. 著名open source项目组jakarta.apache.org推出的系列标识库中,就有这个功能的tanglib:http://jakarta.apache.org/taglibs/doc/

MySQL存储过程例子(包含事务,输出参数,嵌套调用)_Mysql

drop procedure if exists pro_rep_shadow_rs; delimiter | ---------------------------------- -- rep_shadow_rs -- 用来处理信息的增加,更新和删除 -- 每次只更新上次以来没有做过的数据 -- 根据不同的标志位 -- 需要一个输出的参数, -- 如果返回为0,则调用失败,事务回滚 -- 如果返回为1,调用成功,事务提交 -- -- 测试方法 -- call pro_rep_shadow_rs

Xslt遍历输出26个字母

<?xml version="1.0" encoding="utf-8"?> <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pe="labelproc" exclude-result-prefixes="pe">     <xsl:out

pycallgraph 追踪Python函数内部调用

安装 安装pycallgraph 安装依赖 使用 待测脚本 追踪脚本 追踪结果 高级篇 隐藏私密函数 控制最大追踪深度 总结 GitHub上好代码真的是太多了,名副其实的一个宝藏.但是最近自己也反思了一下,为什么别人的代码看起来那么的费劲.很多时候还不得要领,博主的笨方法就是先看下代码的结构,目录.然后就从程序的入口出发了,一步步的往底层去追溯,但是因为忒懒,也没有超大的临时记忆空间,于是代码跟着跟着就跑偏了,这也是看别人代码的时候效率不高的主要原因. 幸运的是,发现了一款神器,pycallgr