这是非常的;在适用的情况下使用特定语言标签。变量是内存中的命名数据存储位置。使用变量,计算机程序可以存储数字,文本,二进制数据或任何这些数据类型的组合。他们可以在程序中传递。
在 osx 下的独立 java 应用程序中使用 log4j 2.0 时,log4j2.xml 中的日期变量无法解析
我在我的独立java应用程序中使用log4j 2。 但是,我在 log4j2.xml 配置中的日期变量上遇到了困难。事情还没有得到解决。 这是我的 log4j2.xml 配置文件: &l...
创建 MariaDB docker 镜像时如何使用 Azure 变量组中的变量?
我们在集成测试中使用 MariaDB 数据库转储的 docker 镜像。 我们使用 Azure 管道来创建 docker 映像。 docker文件如下: 来自 mariadb:10.4.26 ENV MARIADB_ROOT_PA...
我正在阅读《工程编译器》(Cooper、Torczon)第 3 版,第 5 章语法驱动翻译。它包含以下段落: PYTHON 不提供类型声明。第一次使用名字...
如何声明在 PostgreSQL 9.3 查询中使用的变量? 创建或替换 FUNCTION public.test() 返回 int4 作为 $身体$ 宣布 cod_process bigint :=30001; cod_instance bigint...
在C++中,我声明并初始化了没有“目标”的“外部变量”,但没有错误[重复]
这是我的代码: /// 通用.h 静态 int sgi = 0; 外部整数egi; /// 主.cpp #include“common.h” 整数egi = 0; 外部整数eg_i = 0; 无效测试(){ ++SGI; +++ 伊吉 ++egi; } int main(){ 特...
我有以下情况: 我有 17 个不同的 DataFrame,它们都有相同的列 (COD_MOEDA) 我有一个 Vector (NAME_DATAFRAME),其中包含 DataFrame 的 17 个变量名称 ...
我有一个名为 res 的对象,我有一个名为 lea 的变量 需要串联 例如 让 lea = "abc"; 让资源 = { abc:'史蒂夫' }; console.log(res.lea); 所以我的输出应该是...
TI-BASIC:当定义了所有变量后,为什么我会收到未定义的错误?
显示“表面积:”,“4πR^2” 输入“半径:”,R 4πR^2->A Disp“表面积:”,A,“单位平方” 暂停 我正在尝试在我的...
如何获取起重机桥的X坐标并将其放入Anylogic中的变量中
我在模型中使用桥式起重机,我需要在模拟过程中知道其桥(或吊钩 - 甚至更好)的位置 - 它用于变量。 我尝试了 func getBridgePosition(),但我不明白......
不明白这句话的意思:n, S = map(int, input().split()) (动态规划中)
我正在尝试学习动态编程,但有一些难以理解的困难代码行。我不知道我们应该如何处理这些代码行: n, S = map(int, input().split()) 瓦...
我不确定这是否可能,但我正在寻找一种在 if (...) { } 语句中检查变量时分配变量的方法。基本上是什么使得这...... $var = somefunc...
Make-Error“缺少分隔符”(大概是因为程序的变量定义不正确)
我目前正在尝试从源代码构建一个程序。我已经走了很长一段路,但我失败了,并显示消息“Makefile:3360:***缺少分隔符。停止。”该行位于
我想操纵矩阵“b”,但由于我已将其初始值指定为等于矩阵“a”的初始值,因此矩阵“a”也被操纵,这不是
如何在主模块中使用 Microsoft PowerPoint 对象模块中声明的变量值
主要目标是从 Excel 文件在 PowerPoint 幻灯片中刷新包含不同国家/地区数据的图表。我已从 Excel 复制图表并粘贴为链接图表。我能写几行...
如果你愿意的话,我需要一些建议。 我有这部分 PowerShell 代码,其中包含一些变量: $塔布拉=@{ “01-名称”= $cambiumEffectiveDeviceName.Data “02-正常运行时间 (DD:HH:MM:SS)”= $
将成员函数定义或绑定到“variable like”关键字。不带括号执行
有没有办法将成员函数绑定到成员变量之类的东西? 假设我有简单的向量结构: 结构体Vec3 { 整数x、y、z; Vec2 xy() const { 返回 Vec2(x, y); } 向量...
如何在 powerShell 中将变量设置为文本文档的特定行?
我有一个 .txt 文件,其中包含格式如下的数字列表: 1010 1020 1030 我需要 PowerShell 将变量设置为第一行,然后将同一变量设置为第二行,依此类推...
我在重构模板时遇到了困难。我在一个模板中多次引用了有限数量的枚举值。 (在代码片段中,为了清楚起见,我仅指示了一小部分) ...
我正在移植一些用PowerBASIC编写并由PowerBASIC控制台编译器编译的旧代码。 我自己实际上无法访问有效的 PBCC,只有一些编译的工件......
是 xslt 的新手,我正在使用 xslt 1.0 从 xml 代码创建 PDF。 我的源数据如下。 是 xslt 新手,我正在使用 xslt 1.0 从 xml 代码创建 PDF。 我的源数据如下。 <STATEMENT> <STATEMENT_AGING> <AGING> <AGING_LABEL>Current</AGING_LABEL> <AGING_AMOUNT>$28,927.43</AGING_AMOUNT> </AGING> <AGING> <AGING_LABEL>1 - 30</AGING_LABEL> <AGING_AMOUNT>$0.00</AGING_AMOUNT> </AGING> <AGING> <AGING_LABEL>31 - 60</AGING_LABEL> <AGING_AMOUNT>$0.00</AGING_AMOUNT> </AGING> <AGING> <AGING_LABEL>61 - 90</AGING_LABEL> <AGING_AMOUNT>$0.00</AGING_AMOUNT> </AGING> <AGING> <AGING_LABEL>91 - 120</AGING_LABEL> <AGING_AMOUNT>$0.00</AGING_AMOUNT> </AGING> <AGING> <AGING_LABEL>Over 120</AGING_LABEL> <AGING_AMOUNT>$0.00</AGING_AMOUNT> </AGING> </STATEMENT_AGING> <GROUP ID='1' label=''> <GROUP_LABEL /> <GROUP_NAME>SoleraStatementSection</GROUP_NAME> <GROUP_TYPE>LABEL</GROUP_TYPE> <GROUP_HIDE_FLAG>0</GROUP_HIDE_FLAG> <GROUP_HEADER_ROW> <COL headerAlign='start' headerFormat='text' width='2cm'>Doc. #</COL> <COL headerAlign='start' headerFormat='text' width='1cm'>Doc. Type</COL> <COL headerAlign='start' headerFormat='text' width='1cm'>Doc. Date</COL> <COL headerAlign='start' headerFormat='text' width='1cm'>Due Date</COL> <COL headerAlign='center' headerFormat='text' width='1cm'>Currency</COL> <COL headerAlign='end' headerFormat='currency' width='1cm'>Original Amount</COL> <COL headerAlign='end' headerFormat='currency' width='1cm'>Balance</COL> <COL headerAlign='start' headerFormat='number' width='1cm'>ChildAccount</COL> </GROUP_HEADER_ROW> <GROUP_DATA_ROW> <COL>2120-000023134</COL> <COL>Invoice</COL> <COL>2024-05-13T00:23:14.205918-05:00</COL> <COL>2024-06-12T05:00:00.000000+00:00</COL> <COL>USD</COL> <COL>$13,247.46</COL> <COL>$13,247.46</COL> <COL>Price Acura</COL> </GROUP_DATA_ROW> <GROUP_DATA_ROW> <COL>2120-000023135</COL> <COL>Invoice</COL> <COL>2024-05-13T00:36:37.008144-05:00</COL> <COL>2024-06-12T05:00:00.000000+00:00</COL> <COL>USD</COL> <COL>$13,247.37</COL> <COL>$13,247.37</COL> <COL>Price Acura</COL> </GROUP_DATA_ROW> <GROUP_DATA_ROW> <COL>2120-000023136</COL> <COL>Invoice</COL> <COL>2024-05-13T00:51:32.838201-05:00</COL> <COL>2024-06-12T05:00:00.000000+00:00</COL> <COL>USD</COL> <COL>$2,432.60</COL> <COL>$2,432.60</COL> <COL>Price Honda</COL> </GROUP_DATA_ROW> </GROUP> <GROUP ID='2' label=''> <GROUP_LABEL /> <GROUP_NAME>CreditData</GROUP_NAME> <GROUP_TYPE>LABEL</GROUP_TYPE> <GROUP_HIDE_FLAG>0</GROUP_HIDE_FLAG> <GROUP_HEADER_ROW> <COL headerAlign='start' headerFormat='text' width='0cm'>Credit #</COL> <COL headerAlign='start' headerFormat='text' width='0cm'>Credit Type</COL> <COL headerAlign='start' headerFormat='text' width='0cm'>Credit Date</COL> <COL headerAlign='center' headerFormat='text' width='0cm'>Currency</COL> <COL headerAlign='end' headerFormat='currency' width='0cm'>Credit Amount</COL> <COL headerAlign='end' headerFormat='currency' width='0cm'>Unallocated Amnt</COL> <COL headerAlign='start' headerFormat='text' width='0cm'>ChildAccount</COL> </GROUP_HEADER_ROW> </GROUP> <GROUP ID='3' label=''> <GROUP_LABEL /> <GROUP_NAME>PaymentSection</GROUP_NAME> <GROUP_TYPE>LABEL</GROUP_TYPE> <GROUP_HIDE_FLAG>0</GROUP_HIDE_FLAG> <GROUP_HEADER_ROW> <COL headerAlign='start' headerFormat='text' width='0cm'>Payment #</COL> <COL headerAlign='start' headerFormat='text' width='0cm'>Payment Type</COL> <COL headerAlign='start' headerFormat='text' width='0cm'>Payment Date</COL> <COL headerAlign='center' headerFormat='text' width='0cm'>Currency</COL> <COL headerAlign='end' headerFormat='currency' width='0cm'>Payment Amount</COL> <COL headerAlign='end' headerFormat='currency' width='0cm'>Unallocated Amnt</COL> <COL headerAlign='start' headerFormat='text' width='0cm'>ChildAccount</COL> </GROUP_HEADER_ROW> </GROUP> </STATEMENT> 问题是,在 GROUPID 1 中,我尝试按 custName 或 col[8] 对数据进行分组,但我想在每次 custName 更改时打印标题。我尝试将值存储到变量中,但一旦循环再次出现,该值就会丢失,因此我尝试使用 IF 进行评估时不起作用。 有谁知道我该如何管理这个问题,因为我看到了很多使用 diff 方法的答案,但我不太理解所有这些答案,因为我的源 xml 有“通用”标签而不是真实的标签名称。 PS。我尝试了选择和 if 条件,但它们都不起作用。 <xsl:template name= "DetailSectionG1"> <fo:block space-before="8mm" font-weight="bold" color="{$blue-color}" keep-together.within-page="always" keep-with-next="always"> <fo:table width="100%" border-collapse="collapse" table-layout="fixed"> <fo:table-column column-width="{$left-margin}"/> <fo:table-column column-width="proportional-column-width(1)"/> <fo:table-column column-width="{$right-margin}"/> <fo:table-body> <fo:table-row> <fo:table-cell> <fo:block/> </fo:table-cell> <fo:table-cell> <fo:block font-size="{$large-font-size}" padding-top="3 * {$padding}" padding-bottom="{$padding}"> Statement Details </fo:block> </fo:table-cell> </fo:table-row> </fo:table-body> </fo:table> </fo:block> <xsl:choose> <xsl:when test="GROUP[@ID=1]/GROUP_DATA_ROW/COL[1] !=''"> <fo:block> <fo:table width="100%" border-collapse="collapse" table-layout="fixed"> <fo:table-column column-width="{$data-left-margin}"/> <fo:table-column column-width="30mm"/> <fo:table-column column-width="25mm"/> <fo:table-column column-width="25mm"/> <fo:table-column column-width="25mm"/> <fo:table-column column-width="22mm"/> <fo:table-column column-width="27mm"/> <fo:table-column column-width="25mm"/> <fo:table-column column-width="{$data-right-margin}"/> <xsl:for-each select="/STATEMENT/GROUP[@ID=1]/GROUP_DATA_ROW[generate-id(.)=generate-id(key('groupDataRow', concat(COL[position() = 8],'+',COL[position() = 1])))]"> <xsl:variable name="vGroup" select="key('kAllFields', concat(COL[position() = 8],'+',COL[position() = 1]))"/> <fo:table-body> <xsl:choose> <xsl:when test="custName != COL[position() = 8] or position() = 1"> <fo:table-row> <fo:table-cell> <fo:block/> </fo:table-cell> <fo:table-cell> <fo:block font-weight="bold" color="{$blue-color}" keep-together.within-page="always" keep-with-next="always" padding-bottom="{$padding}"/> <!--xsl:value-of select="COL[position() = 8]"/--> <!--/fo:block--> </fo:table-cell> </fo:table-row> <fo:table-row> <fo:table-cell> <fo:block/> </fo:table-cell> <xsl:call-template name="HeaderCell"> <xsl:with-param name="position">1</xsl:with-param> <xsl:with-param name="color" select="$blue-color"/> </xsl:call-template> <xsl:call-template name="HeaderCell"> <xsl:with-param name="position">2</xsl:with-param> <xsl:with-param name="color" select="$blue-color"/> </xsl:call-template> <xsl:call-template name="HeaderCell"> <xsl:with-param name="position">3</xsl:with-param> <xsl:with-param name="color" select="$blue-color"/> </xsl:call-template> <xsl:call-template name="HeaderCell"> <xsl:with-param name="position">4</xsl:with-param> <xsl:with-param name="color" select="$blue-color"/> </xsl:call-template> <xsl:call-template name="HeaderCell"> <xsl:with-param name="position">5</xsl:with-param> <xsl:with-param name="color" select="$blue-color"/> </xsl:call-template> <xsl:call-template name="HeaderCell"> <xsl:with-param name="position">6</xsl:with-param> <xsl:with-param name="color" select="$blue-color"/> </xsl:call-template> <xsl:call-template name="HeaderCell"> <xsl:with-param name="position">7</xsl:with-param> <xsl:with-param name="color" select="$blue-color"/> </xsl:call-template> </fo:table-row> </xsl:when> <xsl:otherwise/> </xsl:choose> <!--xsl:if test="{$acctName} != COL[position() = 8] or position() = 1"> </xsl:if--> <fo:table-row> <fo:table-cell> <fo:block/> </fo:table-cell> <xsl:call-template name="Cell"> <xsl:with-param name="position">1</xsl:with-param> </xsl:call-template> <xsl:call-template name="Cell"> <xsl:with-param name="position">2</xsl:with-param> </xsl:call-template> <fo:table-cell> <fo:block color="{$base-color}" padding-bottom="{$small-padding}"> <xsl:attribute name="end-indent">1mm</xsl:attribute> <xsl:attribute name="text-align"> <xsl:value-of select="../GROUP_HEADER_ROW[1]/COL[position() = 3]/@headerAlign"/> </xsl:attribute> <xsl:call-template name="getDate"> <xsl:with-param name="value" select="COL[position()=3]"/> </xsl:call-template> </fo:block> </fo:table-cell> <fo:table-cell> <fo:block color="{$base-color}" padding-bottom="{$small-padding}"> <xsl:attribute name="end-indent">1mm</xsl:attribute> <xsl:attribute name="text-align"> <xsl:value-of select="../GROUP_HEADER_ROW[1]/COL[position() = 4]/@headerAlign"/> </xsl:attribute> <xsl:call-template name="getDate"> <xsl:with-param name="value" select="COL[position()=4]"/> </xsl:call-template> </fo:block> </fo:table-cell> <xsl:call-template name="Cell"> <xsl:with-param name="position">5</xsl:with-param> </xsl:call-template> <xsl:call-template name="Cell"> <xsl:with-param name="position">6</xsl:with-param> </xsl:call-template> <xsl:call-template name="Cell"> <xsl:with-param name="position">7</xsl:with-param> </xsl:call-template> </fo:table-row> <xsl:variable name="custName"> <xsl:value-of select="COL[position() = 8]"/> </xsl:variable> </fo:table-body> </xsl:for-each> </fo:table> </fo:block> </xsl:when> <xsl:otherwise> <fo:block keep-together.within-page="always" keep-with-next="always"> <fo:table width="100%" border-collapse="collapse" table-layout="fixed"> <fo:table-column column-width="{$left-margin}"/> <fo:table-column column-width="proportional-column-width(1)"/> <fo:table-column column-width="{$right-margin}"/> <fo:table-body> <fo:table-row> <fo:table-cell> <fo:block/> </fo:table-cell> <fo:table-cell> <fo:block color="{$base-color}" padding-bottom="{$small-padding}" end-indent="1mm"> No invoices to display </fo:block> </fo:table-cell> </fo:table-row> </fo:table-body> </fo:table> </fo:block> </xsl:otherwise> </xsl:choose> </xsl:template> 我期望的 PDF 就是这个。 [期望输出] (https://i.sstatic.net/GPAPwxHQ.png) 目前我尝试的验证不起作用,并且 acctName 和标头表仅显示一次。 电流输出 您似乎在分组方面遇到了困难,请注意,在 XSLT 2 或更高版本中,分组要容易得多,您可以这样做 <xsl:template match="GROUP[@ID = 1]"> <xsl:for-each-group select="GROUP_DATA_ROW" group-by="COL[8]"> <group key="{current-grouping-key()}"> <xsl:sequence select="current-group()"/> </group> </xsl:for-each-group> </xsl:template> 并获得例如 <group key="Price Acura"> <GROUP_DATA_ROW> <COL>2120-000023134</COL> <COL>Invoice</COL> <COL>2024-05-13T00:23:14.205918-05:00</COL> <COL>2024-06-12T05:00:00.000000+00:00</COL> <COL>USD</COL> <COL>$13,247.46</COL> <COL>$13,247.46</COL> <COL>Price Acura</COL> </GROUP_DATA_ROW> <GROUP_DATA_ROW> <COL>2120-000023135</COL> <COL>Invoice</COL> <COL>2024-05-13T00:36:37.008144-05:00</COL> <COL>2024-06-12T05:00:00.000000+00:00</COL> <COL>USD</COL> <COL>$13,247.37</COL> <COL>$13,247.37</COL> <COL>Price Acura</COL> </GROUP_DATA_ROW> </group> <group key="Price Honda"> <GROUP_DATA_ROW> <COL>2120-000023136</COL> <COL>Invoice</COL> <COL>2024-05-13T00:51:32.838201-05:00</COL> <COL>2024-06-12T05:00:00.000000+00:00</COL> <COL>USD</COL> <COL>$2,432.60</COL> <COL>$2,432.60</COL> <COL>Price Honda</COL> </GROUP_DATA_ROW> </group> 因此您可以轻松地拥有两个组和每个组的正确数据,我没有尝试输出想要的 XSL-FO,但是一旦您解决了分组问题就应该很容易。 请注意,XSLT 3(XSLT 的当前版本)在多种平台、浏览器 (https://www.saxonica.com/download/javascript.xml) 和 Node.js () 中受支持https://www.npmjs.com/package/saxon-js)您可以使用 SaxonJS 2(2.6 是当前版本),对于 Java,您可以在 Maven 上找到 Saxon HE https://mvnrepository.com/artifact/ net.sf.saxon/Saxon-HE 或在 Github 上,对于 Python,有 SaxonCHE (https://pypi.org/project/saxonche/),对于 .NET,有 Saxon .NET HE (https:/ /www.nuget.org/packages/Saxon-HE,https://www.nuget.org/packages/SaxonHE12s9apiExtensions)。 尽管如此,如果您在受限环境中工作而被迫使用 XSLT 1,请使用密钥 <xsl:key name="group" match="GROUP[@ID = 1]/GROUP_DATA_ROW" use="COL[8]"/> <xsl:template match="GROUP[@ID = 1]"> <xsl:for-each select="GROUP_DATA_ROW[generate-id() = generate-id(key('group', COL[8])[1])]"> <group key="{COL[8]}"> <xsl:copy-of select="key('group', COL[8])"/> </group> </xsl:for-each> </xsl:template>