当前位置: 首页 > 知识库问答 >
问题:

无法使用unparsed-text()读取xslt中的. Property文件

宰父浩漫
2023-03-14

当我尝试将err.properties文件读入vText时

<xsl:variable name="errorMessages">
    <xsl:variable name="vText"
        select="unparsed-text('./err.properties','UTF-8')" />
    <ixbrlErrors>

        <xsl:analyze-string select="$vText"
            regex="(ix\d\d)\s?=\s?(.+)\n?">
            <xsl:matching-substring>
                <xsl:element name="{regex-group(1)}">
                    <xsl:value-of select="normalize-space(regex-group(2))"></xsl:value-of>
                </xsl:element>
            </xsl:matching-substring>
        </xsl:analyze-string>
    </ixbrlErrors>

</xsl:variable>

saxon给了我以下错误。。

Error on line 42 of validationXslt.xsl:
  XTDE1200: Failed to read input file
  file:/D:/ws/proj/target/classes/IX/err.properties
  (java.nio.charset.MalformedInputException): Input length = 1
  in variable errorMessages 
  at xsl:call-template name="AllStartsFromHere" (file:/D:/ws/proj/target/classes/IX/validationXslt.xsl#57)
Transformation failed: Run-time errors were reported

第42行是正则表达式="(ix\d\d)\s?=\s?(.)\n?"

我试着保存错误。属性使用utf-8编码,但没有效果。

共有1个答案

严宏旷
2023-03-14

我假设您在. Property文件中的输入如下:

this is 254125
this is 9856524
ix25 = 20111
iax25 = 20222
ix25 = 20333
ibx25 = 20444

在这里,对于XSLT 1.0,我试图实现我所理解的输出:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:dp="http://www.datapower.com/extensions" xmlns="http://www.datapower.com/extensions"
    xmlns:dpconfig="http://www.datapower.com/param/config" extension-element-prefixes="dp"
    exclude-result-prefixes="dp dpconfig">

    <xsl:output omit-xml-declaration="yes"/>
    <xsl:strip-space elements="*"/>

    <xsl:template match="/">
        <xsl:variable name="errorMessages" select="unparsed-text('err.properties','UTF-8')"/>
            <xsl:analyze-string select="$errorMessages" regex="(ix\d\d)\s*=\s*(.*)">
                <xsl:matching-substring>
                    <xsl:value-of select="concat('&lt;',regex-group(1),'&gt;', regex-group(2), '&lt;/',regex-group(1),'&gt;', '&#x000A;')" disable-output-escaping="yes"/>
                </xsl:matching-substring>
            </xsl:analyze-string>
    </xsl:template>

</xsl:stylesheet>

下面是我得到的输出:

<ix25>20111</ix25>
<ix25>20333</ix25>
 类似资料:
  • 假设我有这个 ,效果会很好。 所以问题是,为什么我会出现这个错误?它是否与输入文件扩展名为. md(. txt有效)的事实有关。有办法吗?我真的希望能够在我的xsl样式表中使用与提供的输入文件相同的编码。 感谢您的回答。

  • 加载YAML文件(使用SnakeYAML)时,im得到一个异常“线程中的异常”main“不能为javabean=com.java.envs@3d82c5f3创建property=envs在'reader'第1行第1列:envs:1)im做错了什么?-env应该从envs:的同一位置开始?

  • 我正在尝试使用JAVA填写PDF表单,但当我尝试使用下面的代码获取字段时,列表为空。 然后我尝试使用PDFStripper读取文件 输出如下 “请稍候。。。 如果此消息最终未被文档的正确内容替换,则PDF查看器可能无法显示此类文档。 您可以通过访问升级至最新版本的Adobe Reader for Windows®、Mac或Linux®http://www.adobe.com/go/reader_d

  • 我有下面的代码,它尝试读取一个txt,将它转换为一个数组,然后转换为json,将它保存在一个db中,但是当调用控制器时,我尝试运行SaveReferences函数,它向我发送了这个错误:UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性'service' 另外,请发送以下信息:Promise{TypeError:无法读取ReferenceCo

  • 我想在java8中读取文本文件,我得到错误“类型不匹配:无法从FileReader转换到Reader”。如果我将Reader类更改为FileReader,则会出现错误“构造函数BufferedReader(FileReader)未定义”,我的语句是 请建议

  • 嗨,我在node.js中得到了以下代码 我试图以以下json格式显示键和所有的值: