基本信息是我有一个ID为的元素
我想使用文档()-函数中的ID-属性来提取-元素的内容
我这里有两个问题:
1) 我的saxon处理器无法解决任何问题!de Document函数中我提供的文件路径
--
问题:为什么???
这是我目前的代码:
<xsl:template match="pmentry"><xsl:apply-templates/></xsl:template>
<xsl:template match="refdm"><xsl:apply-templates/></xsl:template>
<xsl:element name="datamodule">
<xsl:element name="DMC">DMC-<xsl:value-of select="modelic"/>-<xsl:value-of select="sdc"/>-<xsl:value-of select="chapnum"/>-<xsl:value-of select="section"/><xsl:value-of select="subsect"/>-<xsl:value-of select="subject"/>-<xsl:value-of select="discode"/><xsl:value-of select="discodev"/>-<xsl:value-of select="incode"/><xsl:value-of select="incodev"/>-<xsl:value-of select="itemloc"/>
</xsl:element>
<xsl:element name="CSH">
<xsl:attribute name="ID">DMC-<xsl:value-of select="modelic"/>-<xsl:value-of select="sdc"/>-<xsl:value-of select="chapnum"/>-<xsl:value-of select="section"/><xsl:value-of select="subsect"/>-<xsl:value-of select="subject"/>-<xsl:value-of select="discode"/><xsl:value-of select="discodev"/>-<xsl:value-of select="incode"/><xsl:value-of select="incodev"/>-<xsl:value-of select="itemloc"/></xsl:attribute>
<xsl:value-of select="document(concat('../XML/',@ID,'.xml'))/dmodule/idstatus/status/remarks"/>
</xsl:element>
</xsl:element>
</xsl:template>
2)我的第二个问题是,我不知道如何使用我的ID作为文件名
如果有人有小费什么的,我真的不知道该怎么做。
提前感谢
编辑:3 document()-函数用于测试Saxon开始搜索文档的位置
编辑:
所以我在以下文件夹设置中工作:
文件夹游乐场:子文件夹XSLT和XML
批处理文件与文件夹位于同一级别
java -jar XSLT/saxon9he.jar -s:FLARE_Publicationmodul.xml -o:XSLT/remark_list.xml -xsl:XSLT/read_remarks_part1.xsl
现在我的计划是生成这个XML-File:
<?xml version="1.0" encoding="utf-8"?>
<list>
<datamodule>
<DMC>DMC-S1000DBIKExsd-AAA-01-00-0000-00A-001A-A</DMC>
<CSH ID="DMC-S1000DBIKExsd-AAA-01-00-0000-00A-001A-A"> Content of the Remarks Element</CSH>
</datamodule>
<datamodule>
<DMC>DMC-S1000DBIKExsd-AAA-D00-00-00-00AA-941A-D</DMC>
<CSH ID="DMC-S1000DBIKExsd-AAA-D00-00-00-00AA-941A-D"> Content of the Remarks Element</CSH>
</datamodule>
...
</list>
因此,concat路径应该简单地如下所示:
../XML/DMC-S1000DBIKExsd-AAA-D00-00-00-00AA-941A-D.XML
路径应该是正确的。Saxon在控制台中打印它们,但@ID信息丢失,或者如果我提供固定路径,如(... /XML/1.xml),他会检查文件夹,但不会找到文件。
是否有可能必须在Saxon9he中启用文档功能?
或者是否有其他解决方案可以从其他文件中提取元素内容?
谢谢你的帮助
我认为,这是撒克逊人的错误。
但有解决方法:-):
<xsl:function name="fix:doc" as="document-node()?" visibility="final">
<xsl:param name="fix:uri" as="xs:string?" required="yes"/>
<xsl:if test="exists( $fix:uri )">
<xsl:source-document href="{ $fix:uri }">
<xsl:sequence select="/"/>
</xsl:source-document>
</xsl:if>
</xsl:function>
文档(更准确地说,URI)在两种情况下被“标记为不可用”:
(1) 调用doc-available()提供该URI,结果为false
(2)您调用提供该URI的doc()或Document(),然后发生错误。
在情况(2)中,您通常会在第一次尝试访问URI时看到原始失败,因此除非您使用try/catch来抑制错误,否则这是不太可能的。您的样式表是否使用doc可用()?
您的实验似乎表明,您还没有完全弄清楚相对URI是如何解决的。document()的规则是:
>
如果提供一个节点,例如document(@ID),那么@ID中的相对URI将根据找到该节点的元素的基URI进行解析(通常是转换的源文档的URI)
如果您提供一个字符串,例如concat(@ID,'. xml'),则相对URI将根据样式表的基URI解析。
您可以通过输出基URI(.),检查源文档的基URI,例如您可以使用static-base-URI()检查样式表的基URI。有时会出现问题,因为基URI未知;例如,如果转换的输入作为DOM提供,就会发生这种情况。
我希望这能帮助你前进。如果你还有问题,我们需要知道
(a) document()的参数是什么
(b) 源文档和样式表的基本URI是什么
(c)您期望读取的文件的完整路径是什么
ActivationFunction.java:6:错误:不兼容类型:double无法转换为字符串r=double.ParseDouble(r);^ActivationFunction.java:8:错误:不兼容类型:如果(double.isNaN(x))返回r,则字符串无法转换为double;^
如果要筛选列值中包含字符串的行,可以使用类似于(前面回答:检查pandas dataframe列中的字符串是否在列表中,或者检查字符串是否在pandas dataframe中)。 但是,我的查找列包含emtpy单元格。因此,
问题内容: 当前模式与功能之一不同时,属性表示法函数调用会出错。 我创建了一个函数 我正在尝试使用docs中描述的带有属性符号的函数: 但是收到一条错误消息: 使用功能符号的查询可以正常工作: 数据库已通过备份/还原从PostgreSQL 10迁移。 给出: UPD 。发现如果我将架构设置为默认值,则可以正常工作。 问题答案: 您自己找到了问题的根源。确切地说:函数的模式必须在current中的
问题内容: 我在下面的代码块上收到此错误。 我还发现了表明存在功能的链接。 http://definitelytyped.org/docs/typescript-services-- typescriptServices/classes/typescript.stringutilities.html 我会错过一些文件吗? 问题答案: 是ES6函数,因此您需要以TypeScript编译器设置为目标,
请你帮忙。为什么昵称对象中的字符串(150)会出现奇怪的错误? 类型错误:续集。字符串不是对象上的函数。(E:\Projects\JavaScript\couponsystem\src\models\schema.js:21:22)位于模块_在对象处编译(internal/modules/cjs/loader.js:688:30)。模块_扩展。。模块处的js(internal/modules/cj