xslt-2.0 - 错误消息“adc”是一个未声明的命名空间
问题描述
所有,我对 XSLT 比较陌生,但已经做了一些解决方案。目前我正在尝试编写一个 xslt,它根据 if 将文件移动到不同的文件夹
<adc:Status>uploaded</adc:Status>
是否“上传”。
尽管声明了 xmlns:adc 命名空间,但我得到了错误
在使用 XSLT 2.0 (SaxonHe) 的 TransForm 期间发生异常:System.Xml.XmlException:'adc' 是未声明的命名空间。第 2 行,第 4 位。
我花了几个小时寻找错误消息,试图让自己进入命名空间,但目前我似乎无法找出错误的原因。
这是我写的xslt
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:adc="http://www.ifra.com/adconnexion/#v2"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs xsi adc">
<xsl:output method="xml" encoding="ISO-8859-1" indent="yes"/>
<xsl:template match="/">
<xsl:for-each select="/">
<xsl:variable name="Filename">
<xsl:value-of select="replace(document-uri(.), '.*/', '')"/>
</xsl:variable>
<xsl:choose>
<xsl:when test="/adc:adConnexion/adc:Requests/adc:AdOrder/adc:ProductionDetail/adc:Material/adc:Status='uploaded'">
<!-- Business case -->
<xsl:variable name="OutputFileName" select="concat('file:///C:\UPLOADED\',$Filename)"/>
<xsl:result-document href="{$OutputFileName}">
<xsl:copy-of select="current()"/>
</xsl:result-document>
</xsl:when>
<xsl:otherwise>
<!-- Non Business case -->
<xsl:variable name="OutputFileName" select="concat('file:///C:\ELSE\',$Filename)"/>
<xsl:result-document href="{$OutputFileName}">
<xsl:copy-of select="current()"/>
</xsl:result-document>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
简化的输入文件是
<adc:adConnexion xmlns:adc="http://www.ifra.com/adconnexion/#v2">
<adc:Requests>
<adc:AdOrder messageClass="BusinessTransaction" messageID="FEA*" bookingID="1234" messageCode="AD-O">
<adc:ProductionDetail>
<adc:Material>
<adc:Status>uploaded</adc:Status>
</adc:Material>
</adc:AdOrder>
</adc:Requests>
</adc:adConnexion>
任何帮助是极大的赞赏!
解决方案
推荐阅读
- python - Prettytable vrules and hrules to none
- adfs - OAuth2 代理无法处理从 ADFS 返回的值
- javascript - 如何在 D3.js 中创建具有不相等刻度间隔的轴
- python - 共享库中应该包含的未定义符号?
- docker - 当一项服务失败时回滚整个 swarm
- java - 双点“..”语法在 AspectJ 中是如何工作的?
- python - 使用for循环按函数创建字典
- google-cloud-dataflow - 结合 groupByKey 和未绑定的流
- c# - .net 核心中的 Web Api 找不到 GraphQL 所需的服务
- r - 仅当每月少于 10 天是 NA 时,如何使用 dplyr 和 lubridate 每月汇总每日数据?