xml - 复杂表达式中的大写 [XSLT 1.0]
问题描述
找到了如何为一个简单的问题制作“大写”。但是,当它应该是复杂表达式的一部分时,如何正确执行此操作?
这是底部的 2 个未解决的示例。
资源:
<document>
<element-1 attr-1="some value">
<element-2 attr-2="12345"/>
</element-1>
</document>
XSLT-1 (带有一个简单大写字母的原始表达式)
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="document">
<document A="{element-1/@attr-1}"
B="{normalize-space(concat(element-1/@attr-1, ' ',
element-1/element-2/@attr-2))}">
<xsl:attribute name="UPPERNAME-1"> <!--simple Xpath UP -->
<xsl:value-of select="translate(element-1/@attr-1,'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXYZ ')"/>
</xsl:attribute>
</document>
</xsl:template>
</xsl:stylesheet>
输出
<?xml version="1.0" encoding="utf-16"?>
<document A="some value" B="some value 12345" UPPERNAME-1="SOME VALUE" />
我希望将“大写”效果结合到[XSLT 1.0]的 DESIRED 属性表达式
UPPERNAME-2 ="{element-1/@attr-1}{element-1/element-2/@attr-2}"
UPPERNAME-3 ="{normalize-space(concat(element-1/@attr-1, ' ',
element-1/element-2/@attr-2))}">
解决方案
推荐阅读
- python - 根据条件用其他值替换特定轴
- java - 在一个问题连续正确回答 3 次后,我将如何将我的程序循环回到开头/并添加方差
- docker - 如何将 docker-compose 架构和单个项目分成不同的项目?
- symfony - 如何使用单独的密码实体来防止用户使用旧密码更新密码
- webpack - html-webpack-plugin 没有插入 options.title
- keras - 如何正确训练 VGG16 Keras
- javascript - 我的机器人加入并离开不和谐机器人 heroku
- python - DataFrame 采用列并集并保留找到第一个非 NaN 值
- excel - 从用户表单更新多个工作表
- webpack - SASS DevTools 未指向变量声明