我有这个文件被认为是由在线检查器很好地形成但我在尝试使用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天了:(
答案 0 :(得分:1)
我使用xslttest.appspot.com检查了您的XSLT并且没有错误。
从错误的位置(第1行,第144列),我得出结论,您的XSLT处理器无法使用单词exclude-result-prefix
。
检查您的XSLT处理器是否支持此功能。 尝试例如在没有这个条款的情况下运行转换。
另一种可能性是XML文件中的错误。实际上我不确定,哪个文件与错误消息(XML或XSLT)有关。
E.g。检查您的XML文件是否包含正确的 xmlns 规范。
请特别注意XML中第1行第144列。