XML не отображается в браузере - PullRequest
0 голосов
/ 07 октября 2010

Ниже приведен ввод XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="value-of.xsl"?>
<MemeberDetails>
    <Employee>
        <Name>Madhu</Name>
        <Sex>Male</Sex>
        <DOB>2/10/1982</DOB>
        <Address>JP Nagar ,Bangalore</Address>
        <MemberId>094631</MemberId>
        <Designation>SSE</Designation>
        <Department>SG</Department>
    </Employee>
</MemeberDetails>

, где я имею в виду файл value-of.xsl с использованием HREF в приведенном выше XML.и этот файл находится в той же папке.

Ниже приведен файл value-of.xslt:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output indent="yes"/>
    <xsl:template match="/">
        <CGIEmployeeDetails>
            <PersonalDetails>
                <Name>
                    <xsl:value-of select="/MemeberDetails/Employee/Name"/>
                </Name>
                <Gender>
                    <xsl:value-of select="/MemeberDetails/Employee/Sex"/>
                </Gender>
                <ResidentialAddress>
                    <xsl:value-of select="/MemeberDetails/Employee/Address"/>
                </ResidentialAddress>
            </PersonalDetails>
            <WorkingDetails>
                <PSAID>
                    <xsl:value-of select="//MemberId"/>
                </PSAID>
                <Designation>
                    <xsl:value-of select="/MemeberDetails/Employee/Designation"/>
                </Designation>
                <Department>
                    <xsl:value-of select="/MemeberDetails/Employee/Department"/>
                </Department>
            </WorkingDetails>
        </CGIEmployeeDetails>
    </xsl:template>
</xsl:stylesheet>

Когда я запускаю выше xml в браузере, вывод будет как текст, но некак XML.Если я использую редактор, такой как Oxygen, и преобразую тот же XML-файл, вывод будет XML.

Я не понимаю, почему браузер не может преобразовать вывод XML?Есть что-нибудь связанное с браузером?

Ответы [ 3 ]

4 голосов
/ 07 октября 2010

В браузерах представление «XML format» - это в основном таблица стилей с добавлением подсветки синтаксиса и обработчиков событий Emacscript (показать и скрыть узлы chlids и т. Д.).

Итак, когда документ имеет PI таблицы стилей XSLT, браузеры не запускают эту таблицу стилей "XML format", но пытаются отобразить результат преобразования. Это намерение не одинаково для каждого браузера. Гарантируется только одно: если это правильный XHTML или HTML, он отображается как есть.

Если результат преобразования не является надлежащим XHTML или HTML (простой текст, другой словарь XML), механизм рендеринга меняется от одного к другому: т. Е. Chrome - единственный, который ничего не показывает для неизвестного словаря XML, другие все равно отображают его как HTML (отображение только текста).

0 голосов
/ 07 октября 2010

@ Алехандро предоставил хорошее объяснение.

Используя IE, вы можете увидеть результат преобразования XSLT, щелкнув правой кнопкой мыши в окне IE и выбрав " Просмотр источника «

0 голосов
/ 07 октября 2010

Вы используете Internet Explorer? Это единственный известный мне браузер, который полностью игнорировал бы вашу таблицу стилей XSL

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