输入xml编码:
<Table ss:ExpandedColumnCount="21" ss:ExpandedRowCount="55" x:FullColumns="1"
x:FullRows="1" ss:DefaultColumnWidth="53.0" ss:DefaultRowHeight="14.0">
<Row>
<Cell><Data ss:Type="String">Report Date: 02-11-2015 </Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s62"><Data ss:Type="String">File ID</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s59"><Data ss:Type="String">Automation</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
</Row>
<Row>
<Cell ss:StyleID="s63"><Data ss:Type="String"> </Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s73"><NamedCell ss:Name="_FilterDatabase"/></Cell>
</Row>
</Table>
xsl编码中的头部声明:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp " ">
]>
我们在输入xsl中使用上面的标头声明来替换具有空格的非中断空格(nbsp)。但它没有工作,它一次又一次显示下面的错误。 XML错误:引用了实体“nbsp”,但未声明。
答案 0 :(得分:1)
如果您的XML输入引用了实体(与
一样),那么您需要确保XML输入声明实体。
答案 1 :(得分:0)
您不需要XSLT,您可以轻松地在输入中查找/替换文本,将
替换为 
。
如上所述,您的输入XML无效,它与XSL无关 -
是HTML实体,而不是XML实体,因此任何使用它的XML文档都必须包含实体声明 - 这意味着源文档和使用它的任何xsl样式表。