XHTML,可扩展超文本标记语言,是HTML的一个应用程序,它也是一个有效的XML文档,而不是基于SGML的标准HTML。它是一种常用于HTML页面的标记语言,它是使用基于XML的工具生成的。不要将此标记用于Facelets。请改用[facelets]。
我有一个包含锦标赛数据的 XML 文件,想要计算每支球队的总得分。这是 XML: 我有一个包含锦标赛数据的 XML 文件,想要计算每支球队的总得分。这是 XML: <tournoi date="2012-12-12"> <match date="2012-12-20" heure="18:00:00"> <equipe nom="AAAA" score="3" /> <equipe nom="BBBB" score="0" /> </match> <match date="2012-12-20" heure="20:00:00"> <equipe nom="CCCC" score="1" /> <equipe nom="DDDD" score="1" /> </match> <match date="2012-12-21" heure="18:00:00"> <equipe nom="AAAA" score="2" /> <equipe nom="CCCC" score="4" /> </match> <match date="2012-12-21" heure="20:00:00"> <equipe nom="BBBB" score="7" /> <equipe nom="DDDD" score="0" /> </match> <match date="2012-12-22" heure="18:00:00"> <equipe nom="AAAA" score="3" /> <equipe nom="DDDD" score="2" /> </match> <match date="2012-12-22" heure="20:00:00"> <equipe nom="CCCC" score="5" /> <equipe nom="BBBB" score="1" /> </match> </tournoi> 这是我用来计算分数的 XSLT 代码: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:key name="teams" match="equipe" use="@nom"/> <xsl:template match="/"> <html> <body> <h2>Total points of each team</h2> <table border="1" width="100%"> <tr bgcolor="green"> <th>Team</th> <th>Total Points</th> </tr> <!-- Group by unique team names --> <xsl:for-each select="tournoi/match/equipe[not(@nom = preceding::equipe/@nom)]"> <tr> <td><xsl:value-of select="@nom"/></td> <td> <xsl:variable name="teamName" select="@nom"/> <xsl:variable name="totalPoints" as="number"> <xsl:for-each select="key('teams', $teamName)"> <xsl:variable name="opponentScore" select="../equipe[@nom != $teamName]/@score"/> <xsl:choose> <xsl:when test="@score > $opponentScore"><xsl:value-of select="2" as="number"/></xsl:when> <xsl:when test="@score = $opponentScore"><xsl:value-of select="1" as="number"/></xsl:when> <xsl:otherwise><xsl:value-of select="0" as="number"/></xsl:otherwise> </xsl:choose> </xsl:for-each> </xsl:variable> <xsl:value-of select="$totalPoints"/> </td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> 预期输出示例: 装备点数 AAAA 4 但目前,我获得的 AAAA 为 202,而不是 4。 您这里有两个不同的问题: 按团队对结果进行分组; 计算每队的总分。 对于第一个问题,您应该使用 Muenchian 分组 方法(假设您使用的是 XSLT 1.0 处理器)。我看到您确实为此定义了一个合适的密钥,但您没有使用它。 对于第二个问题,可以使用与这里相同的方法。 结合这两种方法,生成的样式表可能如下所示: XSLT 1.0 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:key name="team" match="equipe" use="@nom"/> <xsl:key name="wins" match="equipe[@score > ancestor::match/equipe/@score]" use="@nom"/> <xsl:key name="draws" match="equipe[not(@score != ancestor::match/equipe/@score)]" use="@nom"/> <xsl:template match="/tournoi"> <html> <body> <table border="1"> <tr> <th>Team</th> <th>Total Points</th> </tr> <xsl:for-each select="match/equipe[count(. | key('team', @nom)[1]) = 1]"> <tr> <td> <xsl:value-of select="@nom"/> </td> <td> <xsl:value-of select="2*count(key('wins', @nom)) + count(key('draws', @nom))"/> </td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> 当应用于(更新的)XML 输入时,结果将呈现为:
使用 AtlassianRenderer 将 XHTML 转换为 JIRA 标记,反之亦然
我有一个与 Jira 集成的 Java 应用程序。集成意味着用户可以以应用程序格式创建问题,应用程序会将其传输到 Jira 服务器。反之亦然:你...
如何? xmlstarlet 通过 id 提取 HTML 数据
我有一个简单的任务,让我把头发拉出来,我确信我已经非常接近了。 这是我的 xhtml 文件: 我有一个简单的任务,需要我把头发拔出来,我确信我已经非常接近了。 这是我的 xhtml 文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Test Page</title> </head> <body> <p> test </p> <table id="test_table"> <tr><td>test</td><td>test</td></tr> <tr><th>mo test</th></tr> </table> </body> </html> ...并且 xmlstarlet 喜欢它: $ xmlstarlet.exe el -v test.xhtml html[@xmlns='http://www.w3.org/1999/xhtml'] html/head html/head/title html/body html/body/p html/body/table[@id='test_table'] html/body/table/tr html/body/table/tr/td html/body/table/tr/td html/body/table/tr html/body/table/tr/th 我需要做的是提取表格标签中的数据,最好没有 HTML。 其背景是我正在编写一个测试集,其中调用网页然后写入文件。 该测试要求我验证表数据,但如果页面上的其他内容发生变化,则允许测试成功。 另外,我不会提前知道表格将有多少列或行,它可能会根据数据而变化。 但是当我尝试时: $ xmlstarlet.exe sel -t -c "/html/body/table[@id='test_table']" test.xhtml Attempt to load network entity http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd None of the XPaths matched; to match a node in the default namespace use '_' as the prefix (see section 5.1 in the manual). For instance, use /_:node instead of /node 不同的测试需要不同的 id,但它们都有唯一的 id 值。 所以,给定 xhthml 中的任何“id”,我需要它的数据。 提前致谢。 html数据有一个默认命名空间,您必须在xmlstarlet命令中声明: xmlstarlet sel \ -N n="http://www.w3.org/1999/xhtml" \ -t \ -c "/n:html/n:body/n:table[@id='test_table']/descendant::*/text()" \ htmlfile 2>/dev/null 找到 <table> 元素后,我使用 descendant::*/text() 提取它的所有文本元素,并使用 2>/dev/null 跳过警告: Attempt to load network entity http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd 它产生: testtestmo test 更新:我不知道,但正如错误消息所示,当命名空间是默认命名空间时,无需声明命名空间,所以这也有效: xmlstarlet sel \ -t \ -c "/_:html/_:body/_:table[@id='test_table']/descendant::*/text()" \ htmlfile 2>/dev/null 正如中提到的 http://xmlstar.sourceforge.net/doc/UG/ch05.html 使用时常见问题 -N x="http://www.w3.org/1999/xhtml" \ 您还必须为节点选择添加前缀 x: 例如 xmlstarlet sel \ -N x="http://www.w3.org/1999/xhtml" \ -t \ -m "//x:pre" \ -v . somehtml.html 将选择所有前置节点 你可以试试 xmlstarlet ed --inplace -u "html/body/table[@id='your_tabl e_id']/tr[@id='row_id']/td[@id='data_id']" -v NEW_VALUE_TO_BE_CHANGED HTMLFILE_NAME 2>/dev/null
在 CSS 中设置 max-height 和 min-height 属性(或通过 jQuery)
我有一个简单但烦人的问题。我需要设置 div 元素的最小高度和最大高度。 例如:最小高度:100px 和最大高度:200px。我用 div 高度 200px 加载页面。如果我踩...
我正在为网站创建站点地图,我注意到浏览器中加载的 xml 文件显示一长行文本,而不是通常带有换行符的漂亮打印代码。 我的预期
我已经阅读了 W3C 的页面,但对我来说仍然很模糊。角色属性的目的是为了阐明代码吗?或者它会被某些浏览器或蜘蛛解释吗? 可以当DOM使用吗...
HTML中目标值blank,self,parent,top有什么区别?
标签目标属性中的目标值blank,self,parent,top,framename有什么区别? 我知道空白比新选项卡中的链接打开 self 是在当前选项卡中打开的链接 但我可以...
XML、HTML 和 XHTML 文档的正确内容类型是什么? 我需要编写一个简单的爬虫,仅获取这些类型的文件。 现在 http://example.net/index.html 可以用于
ActionScript中有类似getElementById的东西吗? 我正在尝试制作一个 Flash 页面的原型,该页面从 xhtml 文件获取数据。我想要两个可访问的 html 版本(对于
您好,我目前正在尝试了解 ESEF 的工作原理,并且我对链接有一些疑问:schemaRef Element。 当我在任何时候错了,请纠正我,因为我仍在学习:) 一般来说...
在什么情况下我们应该选择而不是? 对于屏幕阅读器用户 或 重要吗?屏幕阅读器软件是否通知用户内容位于 ... 在什么情况下我们应该选择<dl>而不是<ul>? 对于屏幕阅读器用户 <ul> 或 <dl> 重要吗?屏幕阅读器软件是否通知用户内容位于 <ul> 或 <dl>? A <dl> 是定义列表。它应该用在字典这样的情况下: 用例: <dl> <dt>Thesaurus</dt> <dd>A book for finding synonyms of other words, often alphabetical. Similar to a dictionary.</dd> </dl> 以上结果: 同义词库 一本用于查找其他单词同义词的书,通常按字母顺序排列。类似于字典。 这个想法是,要定义的术语保存在 <dt> 元素中,并且该术语的定义在 <dd>. 中给出 A <ul> 是一个无序列表。现在,<dl>并不意味着其内容有任何顺序,但它确实暗示了其子级之间的语义关系。然而,<ul> 可以包含任何未排序的内容。 当您使用一组定义而不仅仅是无序项目列表时。 对于像乔纳森答案评论中的示例这样的模棱两可的情况(人名然后描述,问题然后答案),为什么不安装一两个屏幕阅读器的试用版并找出最适合阅读的结构? 这里有两个(来自这里): 下巴 窗眼
如何仅使用 xhtml 和 css 在文档末尾使用 nav 获得正确的 Tab 键顺序
出于可访问性的原因,我的 nav 元素位于文档的末尾,并使用 CSS 位于屏幕的顶部。由于文档顺序,我怀疑导航链接会...
在这篇文章中我设置了图像的高度和宽度,它在 HTML 中清晰可见。 [网址已删除] 但浏览器或 WordPress 导致图像保持相同的大小。 我想要小一点吗?
JSF - 类“packageName.DonacionBean”没有属性“donar” - 未检测到操作方法?
我在使用 EJB 和 JSF 的 Java 项目中遇到了一个问题,这非常令人沮丧。我有一个简单的设置,其中 XHTML 文件调用托管 bean 中定义的方法。 这是我的 .xhtml:...
docx4j 将占位符替换为转换为 WordML 的 (x)html,但在结果文档中我看到了 WordML 标记
我有一个代码可以将 ${NAME} 等占位符替换为纯文本。 我使用 docx4j 和 docx4j-search-and-replace-util 来替换占位符。 它工作正常,但现在在字段之一“
为什么 JTidy 从 XML 中删除 <video> 元素?
我正在使用 JTidy 处理 XHTML 文档,现在我有一个包含 元素的文档,JTidy 将其删除。这是代码: 导入 org.w3c.dom.Node; 导入 org.w3c.tidy.Tidy; 导入
我有一个使用 JTidy 解析的 XHTML 文档,但现在想要包含视频内容。 JTidy 去掉了 元素,我被告知这是因为 不是
XHTML 文档包含 SVG 命名空间。生成 XML 架构错误
我有一个带有两个命名空间的 XHTML 文档。 这是因为这个 XHTML 文档包含 SVG 标签,如果 XHTML 文档中不包含 SVG 命名空间,则 SVG 将不会显示在网页上...