Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复SXXP0003:XML解析器报告的错误:前缀“;dt";对于属性“;dt:dt";与元素类型“关联”;CNDB“;不受约束_Xml_Xslt_Saxon - Fatal编程技术网

如何修复SXXP0003:XML解析器报告的错误:前缀“;dt";对于属性“;dt:dt";与元素类型“关联”;CNDB“;不受约束

如何修复SXXP0003:XML解析器报告的错误:前缀“;dt";对于属性“;dt:dt";与元素类型“关联”;CNDB“;不受约束,xml,xslt,saxon,Xml,Xslt,Saxon,我发现了一些生成错误消息的文件,现在我想修复这些错误。如何修复下面的错误 如果我这样做 mediainfo --Output=XML 7483.MOV >data.xml 然后我编辑文件并删除许多不需要产生错误的行,然后 java -jar /opt/local/share/java/saxon9he.jar data.xml test.xsl 我得到一个错误: Error on line 2 column 29 of data.xml: SXXP0003: Error reporte

我发现了一些生成错误消息的文件,现在我想修复这些错误。如何修复下面的错误

如果我这样做

mediainfo --Output=XML 7483.MOV >data.xml
然后我编辑文件并删除许多不需要产生错误的行,然后

java -jar /opt/local/share/java/saxon9he.jar data.xml test.xsl
我得到一个错误:

Error on line 2 column 29 of data.xml:
SXXP0003: Error reported by XML parser: The prefix "dt" for attribute "dt:dt" associated
with an element type "CNDB" is not bound.
Transformation failed: Run-time errors were reported
test.xsl包含:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:fmp="http://www.filemaker.com/fmpxmlresult" exclude-result-prefixes="fmp date redirect"
    xmlns:saxon="http://icl.com/saxon"
    xmlns:date="http://www.jclark.com/xt/java/java.util.Date"
    xmlns:redirect="http://xml.apache.org/xalan/redirect"
    xmlns:lxslt="http://xml.apache.org/xslt"
    xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="binary.base64"
    xmlns:xalan="org.apache.xalan.xslt.extension.redirect"
    extension-element-prefixes="saxon xalan redirect dt">
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<CNDB dt:dt="binary.base64">Q00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00W
IUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00W
IT1NFiE9TRYhPU0WIT1NFiE9TRYhPU0WIT1NFiE9TRYhPU0WIT1NFiE9TRYhPU0WIT1NFiE9TRYhPU0WIT1NFiE9TRYhPU0WIT1NFiE9TRYhPU0WIT1NFiE9</CNDB>

data.xml包含:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:fmp="http://www.filemaker.com/fmpxmlresult" exclude-result-prefixes="fmp date redirect"
    xmlns:saxon="http://icl.com/saxon"
    xmlns:date="http://www.jclark.com/xt/java/java.util.Date"
    xmlns:redirect="http://xml.apache.org/xalan/redirect"
    xmlns:lxslt="http://xml.apache.org/xslt"
    xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="binary.base64"
    xmlns:xalan="org.apache.xalan.xslt.extension.redirect"
    extension-element-prefixes="saxon xalan redirect dt">
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<CNDB dt:dt="binary.base64">Q00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00W
IUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00WIUNNFiFDTRYhQ00W
IT1NFiE9TRYhPU0WIT1NFiE9TRYhPU0WIT1NFiE9TRYhPU0WIT1NFiE9TRYhPU0WIT1NFiE9TRYhPU0WIT1NFiE9TRYhPU0WIT1NFiE9TRYhPU0WIT1NFiE9</CNDB>

Q00WIUNNFITRYHQ00WIUNNFITRYHQ00WIUNNFITRYHQ00WIUNNFITRYHQ00WIUNNFITRYHQ00WIUNNFITRYHQ00WIUNNFITRYHQ00W
IUNNFIDTRYH00WIUNFIDTRYHQ00WIUNFIDTRYHQ00WIUNFIDTRYHQ00WIUNFIDTRYHQ00WIUNFIDTRYHQ00WIUNFIDTRYHQ00WIUNFIDTRYHQ00WIUNFIDTRYHQ00WIUNFIDTRYHQ00W
IT1NFiE9TRYhPU0WIT1NFiE9TRYhPU0WIT1NFiE9TRYhPU0WIT1NFiE9TRYhPU0WIT1NFiE9TRYhPU0WIT1NFiE9TRYhPU0WIT1NFiE9TRYhPU0WIT1NFiE9

错误信息非常清楚

与元素类型“CNDB”关联的属性“dt:dt”的前缀“dt”未绑定


您的输入XML的名称空间格式不正确,因为
CNDB
元素有一个名为
dt:dt
的属性,但是
CNDB
或它的祖先之一上没有
xmlns:dt=“…”

正如@Ian在回答中所写的那样,这个问题是由
mediainfo
生成无效的
XML
引起的。这个问题已经被报道过了,但似乎这个问题不会很快得到解决,因为缺乏具有足够XML技能的开发人员来解决这个问题

我现在的“解决方案”是使用
sed
修复输出,如下所示:

mediainfo --Output=XML 7483.MOV | sed -e 's#<CNDB dt:dt=#<CNDB dt=#g' >data.xml

mediainfo--Output=xml7483.MOV | sed-e的#谢谢,通过sed编辑XML并删除dt:修复了这个问题。因此,既然XML是由mediainfo生成的,我想我应该向他们报告吗?@dontomaso是的,如果他们生成了不好的XML,那么他们需要修复它。@dontomaso-你说“然后我编辑文件并删除许多不需要产生错误的行”…你确定你自己没有删除名称空间声明吗?@DanielHaley是的,在我开始手动删除行之前,错误就出现了。我删除了行以查看错误的原因,并减少要在stackoverflow发布的数据。@dontomaso-感谢您的澄清。就像伊恩说的,我一定会让mediainfo知道。