- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何从 XSLT 文档进行 SQL 查询。建议我如何在 SQL 查询中检索此内容。我不明白该 View 如何显示。如何从 SQL 查询中进行选择。这是代码,它给出了错误。
数据集 Xsl 格式:
<xsl:stylesheet version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:i18n="http://toolkit.sf.net/i18n/messages" xmlns:ddi="http://www.icpsr.umich.edu/DDI" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:outline="http://worldbank.org/toolkit/cdrom/outline" exclude-result-prefixes="ddi outline">
<xsl:include href="gettext.xslt"/>
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
<!--file id -->
<xsl:param name="file" select="'F5'"/>
<xsl:template match="/">
<div id="variable-list">
<xsl:apply-templates select="//ddi:codeBook/ddi:fileDscr[@ID=$file]"/>
<h2><xsl:call-template name="gettext"><xsl:with-param name="msg">Variables</xsl:with-param></xsl:call-template></h2>
<table border="1" style="border-collapse:collapse;width:100%;border:1px solid silver;" cellpadding="2" class="table-variable-list">
<tr class="var-th">
<td><xsl:call-template name="gettext"><xsl:with-param name="msg">ID</xsl:with-param></xsl:call-template></td>
<td><xsl:call-template name="gettext"><xsl:with-param name="msg">Name</xsl:with-param></xsl:call-template></td>
<td><xsl:call-template name="gettext"><xsl:with-param name="msg">Label</xsl:with-param></xsl:call-template></td>
<td><xsl:call-template name="gettext"><xsl:with-param name="msg">Type</xsl:with-param></xsl:call-template></td>
<td><xsl:call-template name="gettext"><xsl:with-param name="msg">Format</xsl:with-param></xsl:call-template></td>
<td><xsl:call-template name="gettext"><xsl:with-param name="msg">Question</xsl:with-param></xsl:call-template></td>
</tr>
<xsl:apply-templates select="//ddi:codeBook/ddi:dataDscr/ddi:var[@files=$file]"/>
</table>
</div>
</xsl:template>
<xsl:template match="ddi:var">
<xsl:variable name="class">
<xsl:choose>
<xsl:when test="position() mod 2 = 0">
<xsl:value-of select="'row-color1'"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'row-color2'"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="id" select="@ID"/>
<xsl:variable name="link">#<xsl:value-of select="@files"/><xsl:value-of select="$id"/></xsl:variable>
<tr valign="top" class="{$class}" style="cursor:pointer" id="{$id}" >
<td><xsl:value-of select="@ID"/></td>
<td><xsl:value-of select="@name"/></td>
<td><xsl:value-of select="ddi:labl"/></td>
<td><xsl:value-of select="@intrvl"/></td>
<td><xsl:value-of select="ddi:varFormat/@type"/></td>
<td><xsl:value-of select="ddi:qstn/ddi:qstnLit"/></td>
</tr>
</xsl:template>
<!-- 4.3 FILE -->
<xsl:template match="ddi:fileDscr">
<xsl:variable name="file" select="@ID"/>
<h2><xsl:value-of select="substring-before(ddi:fileTxt/ddi:fileName,'.NSDstat')"/></h2>
<table class="datafile-info" cellpadding="4" >
<tr valign="top">
<td style="width:100px"><xsl:call-template name="gettext"><xsl:with-param name="msg">Content</xsl:with-param></xsl:call-template></td>
<td>
<div style="width:100%;height:80px; overflow:auto;border:1px solid silver;background-color:none;">
<div style="padding:5px;">
<xsl:value-of select="normalize-space(ddi:fileTxt/ddi:fileCont)"/>
</div>
</div>
</td>
</tr>
<tr valign="top">
<td><xsl:call-template name="gettext"><xsl:with-param name="msg">Cases</xsl:with-param></xsl:call-template></td>
<td><xsl:value-of select="ddi:fileTxt/ddi:dimensns/ddi:caseQnty"/></td>
</tr>
<tr valign="top">
<td><xsl:call-template name="gettext"><xsl:with-param name="msg">Variable(s)</xsl:with-param></xsl:call-template></td>
<td><xsl:value-of select="ddi:fileTxt/ddi:dimensns/ddi:varQnty"/></td>
</tr>
<tr valign="top">
<td><xsl:call-template name="gettext"><xsl:with-param name="msg">Structure</xsl:with-param></xsl:call-template></td>
<td><xsl:call-template name="gettext"><xsl:with-param name="msg">Type</xsl:with-param></xsl:call-template>: <xsl:value-of select="ddi:fileTxt/ddi:fileStrc/@type"/><br/>
<xsl:call-template name="gettext"><xsl:with-param name="msg">Keys</xsl:with-param></xsl:call-template>:
<xsl:call-template name="getVariableById"><xsl:with-param name="str"><xsl:value-of select="ddi:fileTxt/ddi:fileStrc/ddi:recGrp/@keyvar"/></xsl:with-param></xsl:call-template>
</td>
</tr>
<tr valign="top">
<td><xsl:call-template name="gettext"><xsl:with-param name="msg">Version</xsl:with-param></xsl:call-template></td>
<td><xsl:value-of select="ddi:fileTxt/ddi:verStmt/ddi:version"/></td>
</tr>
<tr valign="top">
<td><xsl:call-template name="gettext"><xsl:with-param name="msg">Producer</xsl:with-param></xsl:call-template></td>
<td><xsl:value-of select="ddi:fileTxt/ddi:filePlac"/></td>
</tr>
<tr valign="top">
<td><xsl:call-template name="gettext"><xsl:with-param name="msg">Missing Data</xsl:with-param></xsl:call-template></td>
<td> <div style="width:100%;height:80px; overflow:auto;border:1px solid silver;background-color:white;">
<div style="padding:5px;">
<xsl:value-of select="ddi:fileTxt/ddi:dataMsng"/>
</div>
</div>
</td>
</tr>
</table>
</xsl:template>
<!-- FileRef -->
<xsl:template name="fileRef">
<xsl:param name="fileId"/>
<xsl:apply-templates select="/ddi:codeBook/ddi:fileDscr[@ID=$fileId]/ddi:fileTxt/ddi:fileName"/>
</xsl:template>
<!-- Filename -->
<xsl:template match="ddi:fileName">
<!-- this template removes the .NSDstat extension -->
<xsl:variable name="filename" select="normalize-space(.)"/>
<xsl:choose>
<xsl:when test=" contains( $filename , '.NSDstat' )">
<xsl:value-of select="substring($filename,1,string-length($filename)-8)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$filename"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="getVariableById">
<xsl:param name="str"/>
<xsl:variable name="delimeter" select="' '"/>
<xsl:choose>
<xsl:when test="contains($str,$delimeter)">
<xsl:variable name="varid"><xsl:value-of select="substring-before($str,$delimeter)"/></xsl:variable>
<xsl:variable name="var" select="//ddi:codeBook/ddi:dataDscr/ddi:var[@ID=$varid]"/>
<xsl:value-of select="$var/@name"/>(<xsl:value-of select="normalize-space($var/ddi:labl)"/>),
<xsl:call-template name="getVariableById">
<xsl:with-param name="str" select="substring-after($str,$delimeter)"/>
<xsl:with-param name="delimeter" select="$delimeter"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="var" select="//ddi:codeBook/ddi:dataDscr/ddi:var[@ID=$str]"/>
<xsl:value-of select="$var/@name"/>(<xsl:value-of select="normalize-space($var/ddi:labl)"/>)
</xsl:otherwise>
</xsl:choose>
</xsl:template>
最佳答案
正如我在评论中告诉你的,你的问题绝对不清楚...这个答案是盲目的,使用我的魔法玻璃灯泡...还有一些研究...
您的样式表在这里检索一些内容:
<xsl:apply-templates select="//ddi:codeBook/ddi:fileDscr[@ID=$file]"/>
命名空间ddi:
在顶部声明为
xmlns:ddi="http://www.icpsr.umich.edu/DDI"
只需点击此链接,您就会进入一个名为文档、发现和互操作的平台,该平台提供对调查、文档等数据的公共(public)访问。我没有深入研究,但这似乎是一个加载数据的公共(public)源,很可能是以 XML 格式提供的。
如前所述:我没有深入研究...可能这是无稽之谈,DDI 只是一种通用格式/接口(interface),以可互换的格式描述此类数据。在这种情况下,答案可能是此处包含的文件 <xsl:include href="gettext.xslt"/>
...
您的样式表 - 至少我是这么认为 - 不会从任何经典 RDBMS 调用任何数据,而是从某处获取 XML 并将其转换为 HTML
- table 。这在网页内向用户显示。您的应用程序可能正在将所需的数据作为参数 $file
传递.
Read the getting started section for DDI here
我的魔法玻璃灯泡现在需要新电池......
关于mysql - 如何从 XSL 文档进行 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41480553/
我知道这可能看起来像一个愚蠢/新手问题,但我对 XSLT 还很陌生(尽管我开始接受它并了解它的功能)。 什么时候适合使用xsl:if,什么时候适合使用xsl:choose/xsl:when? 当我想要
在根据节点是否存在设置变量后,我尝试输出变量的文字字符串值。我认为条件检查逻辑是正确的。但它没有输出值... su
我目前正试图使用 XSL 将 XML 文档转换为 HTML。 XML 文档使用 namespace ,我对 XSL 并没有太多经验,更不用说 namespace 了。基本上我想做的就是抓取 s:t
你能否在嵌套的 xsl:when 中嵌套 xsl:if,例如:
我正在 W3Schools 上使用 XSLT 代码示例:https://www.w3schools.com/xml/xsl_client.asp 我有这部分代码在 IE 中使用基本的 xslt 处理.
我正在尝试从 XSLT 样式表动态生成 XSLT 文档。原则上这当然有效,但我没有让命名空间工作。我想让生成的 XSLT 元素以“xsl”前缀为前缀: 而不是 我玩过 xsl:element 的
我们客户的要求是提供带圆角的 PDF 表格。我只有 Apache FOP 处理器可供我使用,它不支持圆角属性。它也不支持 float ,因此无法向左和向右 float 圆形图像。 你对如何做到这一点有
我有一个关于 xsl 的问题。我有 1 个巨大的 xsl 文件(+4000 行 :p),我想将文件分成不同的部分。我使用 xsl 文件来映射 BizTalk 中的一些架构,如果我将它分成几部分,它的性
我的 FO 流程有问题,因为在一页上,标题显示在一页的末尾并在之后的页面上继续。如何向 title-element 添加属性,以便标题始终显示在同一页面上,这意味着:没有分页符。 谢谢! /丹尼 最佳
我想知道是否有人可以帮助我或指出正确的方向。我目前有从 XML 文件返回正确的元素有些麻烦。我只是尝试获取我拥有的大型 XML 文件的精简版本,以便输出另一个 XML 文件(不是很多教程都在使用的 H
我想动态创建具有动态名称的变量以供以后在我的转换中使用,但为此我需要动态生成 XSL,然后在同一脚本中运行它。 这只是我正在寻找的粗略伪代码示例。
我正在学习 XML 以及如何使用 XSL 文件。在 XSL 文件中,我发现了以下术语: xsl:template match="/" 这代表什么?我可以用什么代替 /?我可以编写 table 或任何其
是否可以将 xsl: 放到 XSL 样式表中的 XSL 标签? 例如,可以: 输入为: 编辑:样式表中包含 HTML 和 XML 节点。 谢谢,罗斯 最佳答案 实际上,您可以通过将 XSLT(“h
有什么办法不离开后第一 匹配但继续检查其他条件? 最佳答案 我相信这是一个不。正如规范所说: The content of the first, and only the first, xsl:whe
在构建 XSL 文档时,我遇到了以下问题。我想保留原文中的换行符,所以我设置了linefeed-treatment="preserve" .然而,这显然也意味着它保留了文本内容之外和实际 xml 元素
我有一个 XSL 样式表,我需要使用 xsl:function 添加一些自定义字符串操作。但是我在尝试找出在我的文档中放置该函数的位置时遇到了麻烦。 我的 XSL 简化看起来像这样,
我有以下 XML: Picture 1 Picture 2 Picture 3 虽然此 XSL 执行了预期的操作(输出第一张图片的属性):
我希望 column-count="2"只出现在页面的某些部分。 ]>
我正在为我的 XML 内容生成 xsl-fo 文档,然后将此内容传递给将生成 PDF 的第三方 DLL 之一。我需要以 45 度角显示测试。如何实现这一目标? 谢谢 最佳答案 我很确定您不能在纯 XS
在我的情况下,我必须在两个表格行之间提供高达 0.5cm 的空间。我怎样才能做到这一点。 代码:: 我用过了:
我是一名优秀的程序员,十分优秀!