小编mik*_*u95的帖子

xsltproc无法识别XSLT 2.0

我有这个XSLT syltesheet:

<?xml version="1.0"?>

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="yes" />
  <xsl:strip-space elements="*" />

  <!-- Default behavior: copy everything -->
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()" />
    </xsl:copy>
  </xsl:template>

  <!-- Do not copy: -->
  <xsl:template match="NodeLevel1[matches(NodeLevel2/@Param1, 'myRegex')]">
  </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

所以,我想基于正则表达式复制除了某些节点之外的所有节点.我想使用XSLT 2的匹配功能来实现这一点.但是当我运行以下命令时:

xsltproc.exe style.xsl input.xml > output.xml
Run Code Online (Sandbox Code Playgroud)

我在标准输出上循环了这条消息:

xmlXPathCompOpEval: function matches not found
XPath error : Unregistered function
xmlXPathCompiledEval: 1 object left on the stack
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

非常感谢.

regex xml xslt xpath

13
推荐指数
1
解决办法
7728
查看次数

更改 kerberos 票证缓存位置

我在 Windows 7 上使用 Kerberos 时遇到问题。

我拥有的:

  • 我使用的是 Windows 7
  • 在system32下,我有klist(来自MS Corp)但我没有kinit
  • 我有来自 jdk8 的 klist 和 kinit 但未包含在 PATH 环境变量中
  • 我在 Hortonworks 32 位 ODBC 驱动程序 2.01 之上有一个 ODBC 数据源,并且该数据源依赖于 kerberos 身份验证

当我当前的目录是 jdk8/bin 时,我观察到:

  • kinit 可以创建票证,我得到: 新票证存储在缓存文件 C:\Users[login]\krb5cc_[login] 中
  • klist 正确检测到该缓存中的所有票证

当我当前的目录不是 jdk8/bin 时,我观察到:

  • klist (system32's) 不从上面的缓存文件中读取

我想做的事:

  • 有点:告诉 ODBC 驱动程序读取 Java 的 Krb 缓存而不是系统的 Krb 缓存(此外,它位于哪里???)

我已经尝试过的:

  • 添加指向缓存文件的环境变量 KRB5CCNAME 但事实并非如此。

有什么解决办法吗?

谢谢

windows odbc hive kerberos

5
推荐指数
1
解决办法
6423
查看次数

标签 统计

hive ×1

kerberos ×1

odbc ×1

regex ×1

windows ×1

xml ×1

xpath ×1

xslt ×1