将复杂的XSL嵌入复杂的XML(CDA)

时间:2015-07-02 13:42:23

标签: xml xslt hit cda

我试图将this XSL嵌入CDA Document。这个特殊的文件开头是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<ClinicalDocument xmlns="urn:hl7-org:v3">
    <realmCode code="US"/>
    <typeId .../>
    ...
    <recordTarget>
        <patientRole>
        ...

基于this SO question我尝试了几件事,包括在<ClinicalDocument>元素中粘贴XSL并创建包含<ClinicalDocument>和{{1}的新根元素}。这些都没有奏效。从做一些研究看起来我需要修改XSL来排除自己吗?我没有运气这么做,或者根本不修改XSL,因为我不熟悉该技术及其测试模式。

更新 Martin's answer正在使用Chrome浏览器,但我在IE中获取此信息:

enter image description here

1 个答案:

答案 0 :(得分:1)

如果您要嵌入xsl:stylesheet并使用<?xml-stylesheet type="text/xsl" href="#sheetId"?>引用它,那么您需要

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="#mySheet"?>
<!DOCTYPE ClinicalDocument [
<!ATTLIST xsl:stylesheet
  id    ID  #REQUIRED>
]>
<ClinicalDocument xmlns="urn:hl7-org:v3">
    <xsl:stylesheet id="mySheet" ...>...</xsl:stylesheet>
    <realmCode code="US"/>
    <typeId .../>
    ...
    <recordTarget>
        <patientRole>
    ...
</ClinicalDocument>

样式表太长了,我无法检查所有代码,但至少第一个模板没有使用任何通用路径,如*,这可能导致处理样式表元素本身,所以上面可能就足够了。