Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >基于子值建表

基于子值建表
EN

Stack Overflow用户
提问于 2012-05-23 02:52:02
回答 1查看 134关注 0票数 0

您好,我正在尝试返回一个基于以下输入示例的表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Table TableLevel="1" TableNumber="1" TableTitle="">
  <TableRow TableRowLevel="1" RowTitle="" TableRowNumber="1" class="Even">
    <TableHeader width="33" class="tableheadercell">
      <Paragraph>Account Name</Paragraph>
    </TableHeader>
    <TableHeader width="10" class="tableheadercell">
      <Paragraph>Type</Paragraph>
    </TableHeader>
    <TableHeader width="57" class="tableheadercell">
      <Paragraph>Additional Information</Paragraph>
    </TableHeader>
  </TableRow>
  <TableRow TableRowLevel="1" RowTitle="" TableRowNumber="2" class="OddLegacy">
    <TableCell>
      <Paragraph>ANONYMOUS LOGON</Paragraph>
    </TableCell>
    <TableCell>
      <Paragraph>Group</Paragraph>
    </TableCell>
    <TableCell>
      <UnorderedList UnorderedListLevel="1" class="compactList" UnorderedListNumber="1">
        <ListItem>comment: ANONYMOUS LOGON</ListItem>
        <ListItem>group-id: 7</ListItem>
      </UnorderedList>
    </TableCell>
  </TableRow>
  <TableRow TableRowLevel="1" RowTitle="" TableRowNumber="3" class="Even">
    <TableCell>
      <Paragraph>Administrators</Paragraph>
    </TableCell>
    <TableCell>
      <Paragraph>Group</Paragraph>
    </TableCell>
    <TableCell>
      <UnorderedList UnorderedListLevel="1" class="compactList" UnorderedListNumber="1">
        <ListItem>group-id: 544</ListItem>
      </UnorderedList>
    </TableCell>
  </TableRow>
</Table>

然后是我的XSLT:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<xsl:variable name="whiteuserxml">
    <item>ANONYMOUS LOGON</item>
</xsl:variable>
<xsl:for-each select="Table">
    <table>
    <xsl:for-each select="TableRow[not(TableCell/Paragraph = $whiteuserxml/item)]">
        <xsl:choose>
        <xsl:when test="count(TableCell) = 0"/>
        <xsl:otherwise>
            <tr>
            <xsl:for-each select="TableHeader">
                <td><b><xsl:apply-templates select="*"/></b></td>
            </xsl:for-each>
            <xsl:for-each select="TableCell">
                        <td><xsl:apply-templates select="*"/></td>
            </xsl:for-each>
               </tr>
        </xsl:otherwise>
        </xsl:choose>
    </xsl:for-each>
    </table>
</xsl:for-each>

所需输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<table>
    <tr>
        <td>Administrators</td><td>Group</td><td>the other stufflist</td>
    </tr>
</table>

我遇到的问题是,如果表是空的,那么我不能阻止创建它,当我确定它是否包含合法的行时,再添加表名就太晚了

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-23 06:08:53

您可以在表级上移该选项,并检查它是否包含单元格

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<xsl:when test="count(TableRow/TableCell) = 0"/>

回顾:好的,使用“白名单”条件,仍然将条件向上移动

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<xsl:for-each select="Table[count(TableRow[not(TableCell/Paragraph = $whiteuserxml/item)]/TableCell)=0]">...
</xsl:when>

您将不得不在内部循环中再次过滤。

关键是,您可以使用xslt/xpath构建复杂的条件,这些条件在数据树中向前看(或其他方向)。您不仅限于当前节点和属性

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10712831

复制
相关文章
SQL--动态列名
前几天遇到一个问题,就是查询时,列名是不固定的,是动态的,是一个传递过来的变量,简写如下:
IT云清
2019/01/22
2.4K0
ArcMap将栅格0值设置为NoData值的方法
  本文介绍在ArcMap软件中,将栅格图层中的0值或其他指定数值作为NoData值的方法。
疯狂学习GIS
2023/06/26
6020
ArcMap将栅格0值设置为NoData值的方法
JVM的Xms和Xmx参数设置为相同值有什么好处?
最近正在重新学习JVM的内存结构及相关优化内容,无意中看到IDEA的VM配置(安装时默认配置)中有如下的配置:
程序新视界
2020/09/10
20.6K1
@RequestParam 接收参数的值为null处理
@RequestMapping(value = “/test”) public String test( @RequestParam(value = “profit”,required = false,defaultValue = “0”) int profit){ System.out.println(“profit:”+profit); return “success”; } 第一种处理方式(如上图):defaultValue请求参数的默认值,一般和 required = false 一起使用
kirin
2021/03/25
3.3K0
swagger中参数为数组dataType的设置
swagger中参数为数组dataType的设置
Java架构师必看
2021/09/22
3.5K0
swagger中参数为数组dataType的设置
怎样将Anaconda设置为国内的镜像
“ Anaconda是世界上最流行的数据分析平台(它们官网自己吹的nb),如果把镜像改为国内的可以节省很多时间。”
讲编程的高老师
2020/08/14
7.4K1
java中给方法的参数设置默认值,java设置可选参数
今天在调整一个定时任务时需要将固定写死的查询日期通过外部传参来控制,如果没有传值给个默认值,于是了解了下java函数的参数默认值
高久峰
2023/06/29
7.8K0
SQL Server重置自增的值为0
提出问题: 随时测试的越多,自增的ID就越大,那么就要想办法进行恢复成初始的状态了。
手撕代码八百里
2020/07/28
1.8K0
SQL Server重置自增的值为0
为什么禁止把函数参数默认值设置为可变对象?
有时候我们在编写函数时,会需要给一些参数设置默认值,这个时候我们需要牢记一点:禁止使用可变对象作为参数默认值。
活用数据
2022/10/04
1.3K0
为字段设置初始值
在开发中为字段设置初始值这是最基本的要求,但是很多开发人员会在构造函数变多的时候忘记给成员变量设置初始值。为了避免这个问题,我们最好在声明的时候直接初始化,而不是在实现构造函数的时候去初始化。编译器会帮助开发人员在每个构造函数开头放入一段代码,这段代码会把开发人员在定义成员字段时所指定的初始值设置给这些成员字段。如果没有显示定义构造函数,那么编译器就会先创建默认构造函数,之后再向其中加入初始化代码。
喵叔
2020/09/08
1.6K0
ES6函数参数的默认值设置
在ES6(ECMAScript 2015)中,我们可以为函数参数设置默认值,这使得函数在调用时可以接受一部分或全部参数的默认值。默认参数值的设置提供了更灵活和方便的函数使用方式。
堕落飞鸟
2023/05/22
1.5K0
idea 设置导入包不带*
点开file->Settings,搜索java,在Code style里面找到imports选项,设置导入类数值阈值,默认同包类是超过5个变成*,静态导入超过3个变成*,这里我们改成10个,最好是公司统一,不然很烦。。。实在不想见到*就改成很大的数值,比如999,设置完成之后最上面选的scheme是default,对所有项目都生效。
全栈程序员站长
2021/05/19
2.2K0
将 Vim 设置为 Rust IDE
Rust 语言旨在以 C++ 开发人员熟悉的方式实现具有安全并发性和高内存性能的系统编程。它也是 Stack Overflow 的 2019 年开发人员调查中最受欢迎的编程语言之一。
用户8639654
2021/09/15
1.8K0
Javascript设置函数参数默认值[ ES6/ES2015总结]
对于js设置函数参数默认值对于绝大多数小伙伴来说,那可以说是相当的简单的,在ES6/ES2015中语法很简单,但是有一些浏览器是不兼容的ES6/ES2015的,或许大家会说我们可以使用babel来编译支持低版本浏览器。
IT工作者
2022/01/26
1.7K0
为什么不带参数的 Math.max() 返回-Infinity
Math.max() 是 JS 内置的方法,可以从传入的参数中,返回最大的一个。例如:
前端小智@大迁世界
2022/06/15
1K0
MyBatis 多参数综合查询的动态 SQL 实现示例
List<QualityDataOfAppDto> findQualityDataOfAppDtoByDeptNoAndAoneProductId( @Param("deptNo") Long deptNo, @Param("aoneProductId") Long aoneProductId); <select id="findQualityDataOfAppDtoByDeptNoAndAoneProductId" r
一个会写诗的程序员
2018/08/17
8300
kubernetes中为容器设置内核参数
注意:此方式如果使用了非安全内核参数,必须要先修改节点的kubelet配置,增加--allowed-unsafe-sysctls字段,并允许相关非安全参数,否则创建后,pod会报错SysctlForbidden,并大量不断创建pod,可能将集群搞挂
铜锣烧
2022/12/09
1.7K0
【原创】SQLServer将数据导出为SQL脚本的方法
        最近很多同学问到一个问题,如何将MSSQLServer的数据库以及里面的数据导出为SQL脚本,主要问的是MSSQLServer2000和2005,因为2008的管理器已经有了这个功能,2000和2005则没有。
流柯
2018/08/30
2.1K0
【原创】SQLServer将数据导出为SQL脚本的方法
java.sql.SQLException: 列名无效
在进行jdbc操作时,出现了如下图的bug: 错误原因:在执行sql语句后,进行遍历,但是取值与数据库中的列名不一致。 主要是因为字段名错误,如下,本来应该从数据库中取emp表中的realName字段
时间静止不是简史
2020/07/24
2.7K0
java.sql.SQLException: 列名无效
点击加载更多

相似问题

在nodejs中将数据写入json文件

12

在nodeJS中将结果写入csv文件

30

NodeJS:将js对象写入文件并进行导出

125

在nodejs中将数组写入CSV

173

在nodejs中包括对象

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文