применение xml к справке xslt - PullRequest
       3

применение xml к справке xslt

0 голосов
/ 22 октября 2009

У меня есть XML-файл, который очень длинный, но вот выдержка из кадра.

<?xml version="1.0" encoding="UTF-8"?>
<dicom>
    <attr tag="00020000" vr="UL" len="4">190</attr>
    <attr tag="00020001" vr="OB" len="2">00\01</attr>
    <attr tag="00020002" vr="UI" len="30">1.2.840.10008.5.1.4.1.1.88.11</attr>
    <attr tag="00080090" vr="PN" len="14">Roberts^^^Dr.^</attr>
</dicom>

У меня также есть файл xslt, который тоже очень длинный, но вот выдержка.

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
    <xsl:output method="xml" indent="yes" media-type="text/xml-fo" encoding="UTF-8"/>
    <!-- the stylesheet processing entry point -->
    <xsl:template match="/">
        <xsl:apply-templates select="dicom"/>
    </xsl:template>

    <xsl:template match="dicom">
        TEST
        <xsl:variable name="name" select="attr[@tag='00080090']"/>
        <xsl:value-of select="$name"/>
    </xsl:template>
</xsl:stylesheet>

У меня два вопроса. 1. Когда я применяю xml к xslt, я ничего не получаю. После тестирования выясняется, что шаблон dicom даже никогда не вызывается. Почему это? 2. Если я изменю критерии соответствия для шаблона dicom с «dicom» на «/», то он будет вызван, но переменная установлена ​​неправильно.

Я знаю, что это не даст действительный XML, я просто пытаюсь понять, что происходит, и что не так с моим пониманием xslt.

Спасибо !!!

1 Ответ

3 голосов
/ 22 октября 2009

Ваш образец работает на меня.

Обратите внимание, что если шаблон, соответствующий /, просто выполняет xsl:apply-templates на dicom, он вам на самом деле не нужен, поскольку уже существует встроенный шаблон, который будет сопоставляться автоматически, выполняя точно то же самое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...