我有一个被在线检查器认为格式良好的文件,但是在尝试使用jaxb封送它时,我不断收到错误。
这是错误:
系统 ID 未知;#1行;列 #144;
文档中根元素后面的标记必须格式正确。
这是使用的 XSL :
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:stats="http://aps.edf.fr/xsd/stats" exclude-result-prefixes="stats">
<xsl:output method="xml" version="1.0" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/stats:Data">
<COMM>
<COM_DAT><xsl:value-of select="stats:DateEnvoi"/></COM_DAT>
<COM_VAR>{COM_VAR}</COM_VAR>
<COM_LNG>FR</COM_LNG>
<COM_MARQUE><xsl:value-of select="stats:Flag"/></COM_MARQUE>
<COD_FIL>{COD_FIL}</COD_FIL>
<COM_REF><xsl:value-of select="stats:Reference"/></COM_REF>
<DATA_COM>
<ENT_EDI>
<PER type="DEST">
<CIV>{Civilite}</CIV>
<NOM>{Nom}</NOM>
</PER>
<URL_ESP_CLI><xsl:value-of select="stats:UrlEspClient"/></URL_ESP_CLI>
<NOM_FICH_STAT><xsl:value-of select="stats:NomFichier"/></NOM_FICH_STAT>
</ENT_EDI>
</DATA_COM>
</COMM>
</xsl:template>
</xsl:stylesheet>
你们很容易看到错误吗?
我已经坚持了 2 天了:(
我使用 xslttest.appspot.com 检查了您的 XSLT,没有收到任何错误。
从错误的位置(第 1 行,第 144 列)我得出结论,您的 XSLT 处理器无法使用单词 exclude-result-prefix
.
检查您的 XSLT 处理器是否支持此功能。例如,尝试在没有此子句的情况下运行转换。
另一种可能性是 XML 文件中的错误。实际上我不确定哪个文件与错误消息(XML或XSLT)相关。
例如,检查您的XML文件是否包含正确的xmlns规范。
请特别注意 XML 中的第 1 行第 144 列。