Встраивание сложного XSL в сложный XML (CDA)
Я пытаюсь встроить этот XSL в документ CDA. Этот конкретный документ начинается примерно так:
<?xml version="1.0" encoding="UTF-8"?>
<ClinicalDocument xmlns="urn:hl7-org:v3">
<realmCode code="US"/>
<typeId .../>
...
<recordTarget>
<patientRole>
...
Основываясь на этом вопросе, я попытался сделать несколько вещей, включая вставку XSL в <ClinicalDocument>
элемент и создание нового корневого элемента, который содержал как <ClinicalDocument>
и <xsl:stylesheet>
, Ни один из них не работал. После некоторых исследований мне кажется, что мне нужно изменить XSL, чтобы исключить себя? Мне не повезло ни сделать это, ни изменить XSL вообще, так как я не очень знаком с технологией и ее тестовыми шаблонами.
Обновление ответа Мартина работает в Chrome, но я получаю это в IE:
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>
Таблица стилей слишком длинна, чтобы я мог проверить весь код, но по крайней мере первые шаблоны не используют какой-либо общий путь, например *
что может привести к обработке самих элементов таблицы стилей, так что вышеприведенного может быть достаточно.