gpt4 book ai didi

xml - 如何使用 XSLT 散列 XML 中的字段

转载 作者:数据小太阳 更新时间:2023-10-29 01:52:15 25 4
gpt4 key购买 nike

有一个 XML,我正在使用 XSLT 构建另一个 XML。我希望某些字段具有散列值而不是实际值。这意味着我应该知道数据何时更改,但出于某些安全原因我不想知道数据。

<xsl:template name="sensitiveDataTemplate">
<xsl:param name="sensitiveData"></xsl:param>
<xsl:if test="$sensitiveData!=''">
<xsl:value-of select="'XXXXXX'"></xsl:value-of>
</xsl:if>
</xsl:template>

现在我只是用 XXXXX 替换数据,但我需要一些散列值。

最佳答案

为了生成哈希值,您可以注册自定义函数。

引用official documentation关于如何在 xlst 处理器中注册自定义 php 函数。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:php="http://php.net/xsl">
<xsl:template name="sensitiveDataTemplate">
<xsl:param name="sensitiveData"></xsl:param>
<xsl:if test="$sensitiveData!=''">
<xsl:value-of select="'php:some_hash_fun()'"></xsl:value-of>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

function some_hash_fun( )
{
return "XXXX"; // hash value
}
$xmldoc = DOMDocument::loadXML($xml);
$xsldoc = DOMDocument::loadXML($xsl);

$proc = new XSLTProcessor();
$proc->registerPHPFunctions(); // can be either a string (a function name) or an array of functions.
$proc->importStyleSheet($xsldoc);
echo $proc->transformToXML($xmldoc);

希望对您有所帮助。

关于xml - 如何使用 XSLT 散列 XML 中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49104813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com