Arhn - архитектура программирования

Когда я применяю таблицу стилей XSLT к XML-файлу, ничего не появляется

Я работаю над простым образовательным проектом по изучению языка XSLT, но когда я пытаюсь применить таблицу стилей к XML-файлу, преобразование возвращает мне пустую HTML-страницу. Что, по вашему мнению, является ошибкой в ​​коде, ссылка на который приведена позже? (используя XMLSpear в качестве редактора)

вот код xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TEI SYSTEM "teilite.dtd">
<?xml-stylesheet type="text/xsl" href="stile.xsl"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0">
    <teiHeader>
        <fileDesc>
            <titleStmt>
                <title>Ettore Fieramosca o la disfida di Barletta : racconto</title>
                <respStmt>
                    <resp>Conversione TEI P5 a cura di</resp>
                    <name>V. Caproni</name>
                </respStmt>
            </titleStmt>
            <publicationStmt>
                <publisher>Exercise Press</publisher>
                <date>20-10-2014</date>
            </publicationStmt>
            <sourceDesc>
                <bibl>
                    <title>title</title>
                    <author>author</author>
                    <publisher>publisher</publisher>
                    <date>1856</date>
                    <from>title of the book</from>
                    <licence>link to the licence</licence>
                </bibl>
            </sourceDesc>
        </fileDesc>
        <encodingDesc>
            <styleDefDecl scheme="css"/>
            <tagsDecl>
                <rendition xml:id="blue">color: blue;</rendition>
                <rendition xml:id="red">color: red;</rendition> 
            </tagsDecl>
        </encodingDesc> 
    </teiHeader>
    <text>
       <front>
          <p>author name</p>
            <p>title</p>
       </front>
        <epigraph>
           <p>epigraph n1</p>
        </epigraph>
        <epigraph>
           epigraph n2
        </epigraph>
        <body>
           <div type="Capitolo" xml:id="cap1">
              <h2>Capitolo I</h2>
            <p rendition="#blue">
        sometext
        </p>
    </div>
</body>
</text>
</TEI>

вот код xls

<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0"
  xmlns:tei="http://www.tei-c.org/ns/1.0"
  xmlns="http://www.w3.org/1999/xhtml">
<xsl:output method="html" indent="yes" omit-xml-declaration="yes"/>

<xsl:template match="tei:TEI">
  <html>
   <head>
    <title>Ettore Fieramosca o La Disfida di Barletta</title>
    <link href="stile.css" rel="stylesheet" type="text/css"/>
   </head>
<body>
   <xsl:apply-templates/>
   </body>
  </html>
</xsl:template>

<xsl:template match="tei:teiHeader">
  <br/>
  <h1>Informazioni sul documento</h1>
  <br/>
  <xsl:apply-templates/>
 </xsl:template>


<xsl:template match="tei:front">
    <br/>
    <h1>Frontespizio e prefazione</h1> <br/>
<xsl:apply-templates/>
</xsl:template>

 <xsl:template match="tei:front">
<br/>
<h1>Frontespizio e prefazione</h1> <br/>
<xsl:apply-templates/>
</xsl:template>


</xsl:stylesheet>

ИЗМЕНИТЬ ничего не отображается ни во встроенном браузере, ни в Firefox, ни в Chrome

РЕДАКТИРОВАТЬ 2 Согласно встроенному валидатору xsl и xml оба документа хорошо сформированы

19.01.2015

  • какой браузер? Chrome не позволяет нескольким локальным файлам обмениваться данными по соображениям безопасности. Попробуйте с помощью firefox и проверьте пустую страницу, и вы можете увидеть преобразованный xml, если не было ошибок. 19.01.2015
  • Так возникает ли проблема, когда вы запускаете его в XMLSpear или когда вы просматриваете его в браузере? Есть ли необходимость в том DTD, которое использует XML-файл? 19.01.2015
  • Сообщение обновлено, ничего не отображается ни во встроенном браузере, ни в Firefox, ни в Chrome. 19.01.2015
  • Кажется, у меня отлично работает в Visual Studio. Попробуйте удалить DTD и посмотрите, поможет ли это. 19.01.2015
  • @JLRishe, спасибо, удаление dtd решило проблему, знаете причину? 19.01.2015
  • Был ли файл DTD помещен в место, откуда ваш браузер мог получить к нему доступ? В противном случае это могло помешать ему обработать XML. Это было бы моим лучшим предположением. DTD не требуется для применения XSLT к документу, поэтому я бы сказал, что в большинстве случаев лучше просто не использовать его. 19.01.2015

Ответы:


1

Как обсуждалось в комментариях, причиной этой ошибки было присутствие DTD в исходном XML. DTD обычно не требуется для преобразования XML через XSLT, поэтому, если нет особой причины для его наличия, вы можете просто исключить его из XML.

Скорее всего, DTD не находился в той же папке, что и XML, и когда браузер попытался загрузить его, его там не было, поэтому браузер просто отказался обрабатывать XML.

19.01.2015
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..