标签: xslt

在XSLT中使用HTML实体(例如 )

在XSLT中包含html实体的最佳方法是什么?

<xsl:template match="/a/node">
    <xsl:value-of select="."/>
    <xsl:text>&nbsp;</xsl:text>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

这个返回一个XsltParseError

xslt

62
推荐指数
6
解决办法
6万
查看次数

如何在Python中使用XSLT转换XML文件?

美好的一天!需要在Python中使用xslt转换xml.我在php中有一个示例代码.

如何在Python中实现这一点或在哪里找到类似的东西?谢谢!

$xmlFileName = dirname(__FILE__)."example.fb2";
$xml = new DOMDocument();
$xml->load($xmlFileName);

$xslFileName = dirname(__FILE__)."example.xsl";
$xsl = new DOMDocument;
$xsl->load($xslFileName);

// Configure the transformer
$proc = new XSLTProcessor();
$proc->importStyleSheet($xsl); // attach the xsl rules
echo $proc->transformToXML($xml);
Run Code Online (Sandbox Code Playgroud)

python xml xslt converter

61
推荐指数
2
解决办法
6万
查看次数

在比较XSLT <xsl:if>中的字符串时,如何指定"not equals to"?

目前我有一个xsl与以下代码,我正在尝试打印出"计数"只有它不等于N/A.但似乎"!="不起作用.

<xsl:for-each select="Directory/Match">
    <xsl:if test = "Count != N/A">
        <tr>
            <td><xsl:value-of select="@bookName" /></td>
            <td><xsl:value-of select="@AuthorName" /></td>
            <td><xsl:value-of select="Count" /></td>
        </tr>
    </xsl:if>
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试将其与数值进行比较,它会起作用.

例:

<xsl:if test = "Occurrances != 0">
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我:如果我想比较字符串我可以使用什么?

xslt

60
推荐指数
2
解决办法
14万
查看次数

什么是JSON的良好CLI工具?

一般问题

虽然我可以诊断事件的根本原因,确定有多少用户受到影响,或蒸馏时间日志,以评估性能和近期代码更改吞吐量的影响,我的工具保持不变:grep,awk,sed,tr,uniq,sort,zcat,tail,head,join,和split.为了将它们粘合在一起,Unix为我们提供了管道,并且我们有更好的过滤xargs.如果这些让我失望,那就永远都是perl -e.

这些工具非常适合处理CSV文件,制表符分隔文件,具有可预测行格式的日志文件或具有逗号分隔键值对的文件.换句话说,每行都没有上下文的文件.

XML类似物

我最近需要浏览千兆字节的XML来构建用户的直方图.使用我的工具这很容易,但对于更复杂的查询,正常的方法会崩溃.假设我的文件包含以下内容:

<foo user="me">
    <baz key="zoidberg" value="squid" />
    <baz key="leela"    value="cyclops" />
    <baz key="fry"      value="rube" />
</foo>
Run Code Online (Sandbox Code Playgroud)

让我们说我想生成一个从用户到平均<baz>每个s 的映射<foo>.逐行处理不再是一个选项:我需要知道<foo>我正在检查哪个用户,所以我知道要更新的平均值.完成这项任务的任何类型的Unix一行都可能是不可理解的.

幸运的是,在XML-land中,我们有很多精彩的技术,如XPath,XQuery和XSLT来帮助我们.

以前,我已经习惯使用精彩的XML::XPathPerl模块来完成上面的查询,但在找到可以针对当前窗口运行XPath表达式TextMate插件后,我停止编写一次性Perl脚本来查询XML.我刚刚发现了正在安装的XMLStarlet,因为我输入了这个,并且我期待将来使用它.

JSON解决方案?

所以这引出了我的问题:JSON有没有这样的工具?一些调查任务要求我对JSON文件进行类似的查询只是时间问题,并且没有像XPath和XSLT这样的工具,这样的任务将会困难得多.如果我有一堆看起来像这样的JSON:

{
  "firstName": "Bender",
  "lastName": "Robot",
  "age": 200,
  "address": {
    "streetAddress": "123",
    "city": "New …
Run Code Online (Sandbox Code Playgroud)

xslt xpath command-line json

59
推荐指数
4
解决办法
2万
查看次数

带有XML源的XSLT,其默认名称空间设置为xmlns

我有一个XML文档,其根目录显示默认命名空间.像这样的东西:

<MyRoot xmlns="http://www.mysite.com">
   <MyChild1>
       <MyData>1234</MyData> 
   </MyChild1> 
</MyRoot>
Run Code Online (Sandbox Code Playgroud)

由于默认命名空间,解析XML的XSLT无法按预期工作,即当我删除命名空间时,一切都按预期工作.

这是我的XSLT:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
            xmlns:xs="http://www.w3.org/2001/XMLSchema">
 <xsl:template match="/" >
  <soap:Envelope xsl:version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
     <NewRoot xmlns="http://wherever.com">
       <NewChild>
         <ChildID>ABCD</ChildID>
         <ChildData>
            <xsl:value-of select="/MyRoot/MyChild1/MyData"/>
         </ChildData>
       </NewChild>
     </NewRoot>
   </soap:Body>
  </soap:Envelope>
 </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

XSLT文档需要做什么才能使翻译正常工作?在XSLT文档中究竟需要做什么?

xslt namespaces

58
推荐指数
2
解决办法
4万
查看次数

将XSLT 1.0升级到XSLT 2.0

从XSLT 1.0升级到2.0涉及什么?
1 - 升级的可能原因是什么?
2 - 不升级的可能原因是什么?
3 - 最后,升级的步骤是什么?

我希望有一个执行摘要 - 简短的版本:)

xslt xslt-2.0 xslt-1.0

58
推荐指数
2
解决办法
3万
查看次数

我如何运行XSLT文件?

好吧,这似乎是一个愚蠢的问题,但我无法弄清楚.我正在编写一个XSLT文件来将XML文档转换为XHTML文档.我已经使用Visual Studio和XML Notepad 2007来预览我的XSLT文件的结果,但现在我想实际写出一个真正的XHTML文件,这样我就可以看到它在其他浏览器中的外观.

Visual Studio或XML NotePad都没有明显的方法来保存预览.我错过了什么.显然,文件正在被创建,因为正在预览某些内容,但我需要知道该文件的创建位置或更好地选择其位置.

xml xslt

57
推荐指数
4
解决办法
8万
查看次数

XSLT:如何在<xsl:copy>期间更改属性值?

我有一个XML文档,我想更改其中一个属性的值.

首先,我使用以下方法复制从输入到输出的所

<xsl:template match="@*|node()">
  <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
  </xsl:copy>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

现在我想"type"在任何名为的元素中更改属性的值"property".

xslt xslt-2.0 xslt-1.0

56
推荐指数
4
解决办法
9万
查看次数

如何在XML属性中保存换行符?

我需要保存包含某些XML属性中的换行符的内容,而不是文本.应该选择该方法,以便我能够在XSLT 1.0/ESXLT/XSLT 2.0中对其进行解码

什么是最好的编码方法?

请建议/提出一些想法.

xml xslt newline

56
推荐指数
2
解决办法
8万
查看次数

是否有XSL"包含"指令?

我有以下XSL片段:

  <xsl:for-each select="item">
    <xsl:variable name="hhref" select="link" />
    <xsl:variable name="pdate" select="pubDate" />
    <xsl:if test="hhref not contains '1234'">
      <li>
        <a href="{$hhref}" title="{$pdate}">
          <xsl:value-of select="title"/>
        </a>
      </li>
    </xsl:if>
  </xsl:for-each>
Run Code Online (Sandbox Code Playgroud)

if语句不起作用,因为我无法计算contains的语法.我怎样才能正确表达xsl:if?

xslt

54
推荐指数
3
解决办法
13万
查看次数

标签 统计

xslt ×10

xml ×3

xslt-1.0 ×2

xslt-2.0 ×2

command-line ×1

converter ×1

json ×1

namespaces ×1

newline ×1

python ×1

xpath ×1