首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XSLT:转换URI参数名称和值

XSLT:转换URI参数名称和值
EN

Stack Overflow用户
提问于 2017-03-03 20:58:48
回答 1查看 443关注 0票数 0

我正在尝试使用子字符串函数来转换以下URI参数和相应的值。但是它是错误的,很明显,因为它不是字符串。

来自:http://host/URI/api/abc/xml?xxx=a-b-c&pqr=123

致:http://host/URI/api/abc/xml?yyy=d-e-f&pqr=123

输入来自变量。

XSLT:

代码语言:javascript
复制
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dp="http://www.datapower.com/extensions" xmlns:func="http://exslt.org/functions" xmlns:str="http://exslt.org/strings" xmlns:dpfunc="http://www.datapower.com/extensions/functions" xmlns:dpconfig="http://www.datapower.com/param/config" xmlns:regexp="http://exslt.org/regular-expressions" extension-element-prefixes="dp func dpfunc dpconfig regexp" exclude-result-prefixes="dp func dpfunc dpconfig regexp">
  <xsl:template match="/">
    <xsl:variable name="currentURI" select="dp:variable('var://service/URI')"/>
    <xsl:variable name="new-uri" select="regexp:replace($currentURI, 'xxx', 'yyy')"/>
    <xsl:variable name="SubStringBeforeyyy" select="substring-before($new-uri, 'yyy=')"/>
    <xsl:variable name="SubStringAfteryyy" select="substring-after($new-uri, '&' )"/>  <!-- ERROR: -->
    <xsl:variable name="NewParmValue" select="'d-e-f'"/>
    <xsl:variable name="NewURI" select="concat($SubStringBeforeyyy, $NewParmValue, $SubStringAfteryyy)"/>
  </xsl:template>
</xsl:stylesheet>

来自xmlSpy的错误是:

XML产生错误:文本中的字符‘不能实现生产'Name’。

EN

回答 1

Stack Overflow用户

发布于 2017-03-03 21:19:24

XSLT是XML,因此要编写一个需要使用的符号(&)字符

代码语言:javascript
复制
<xsl:variable name="SubStringAfteryyy" select="substring-after($new-uri, '&amp;' )" />
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42588329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档