我有一个运行良好的 xsl 文件。当根节点如下时,模板全部就位,所有内容都显示在页面上:
<Document>
<...>
</Document>
但是,如果将命名空间信息添加到 xml 文档中,如下所示:
<Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi_schemaLocation="urn:hl7-org:v3 CDA_SDTC.xsd" xmlns="urn:hl7-org:v3" xmlns:cda="urn:hl7-org:v3" xmlns:sdtc="urn:hl7-org:sdtc">
<...>
</Document>
我的样式表没有改变,它适用于第一个示例:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ms="urn:schemas-microsoft-com:xslt"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:template match="/">
</xsl:template>
</xsl:stylesheet>
Web 输出上根本没有从 xml 文档中读取任何内容。那会是什么原因呢?
我对 XSLT 文件进行了以下更改:
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ms="urn:schemas-microsoft-com:xslt"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:hl7-org:v3 CDA_SDTC.xsd"
xmlns="urn:hl7-org:v3"
xmlns:cda="urn:hl7-org:v3"
xmlns:sdtc="urn:hl7-org:sdtc"
>
但是由于 v3 和 CDA 之间的空间,这会在 xsi:schemaLocation 上引发错误。如果我像这样取出那一行:
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ms="urn:schemas-microsoft-com:xslt"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:hl7-org:v3"
xmlns:cda="urn:hl7-org:v3"
xmlns:sdtc="urn:hl7-org:sdtc"
>
然后我仍然没有从 xml 文档中渲染到页面上。我知道我遗漏了一些东西,但我对 xsl 不够熟悉,不知道它是什么。
谢谢你的帮助。