создать XSL-преобразование, которое преобразует XML в XHTML - PullRequest
0 голосов
/ 26 февраля 2012

Как видно из заголовка, мне нужно преобразовать файл XML в XHTML, результаты должны включать файл CSS, который у меня есть. Но я не могу получить правильный вывод, когда я щелкаю правой кнопкой мыши и просматриваю источник, он по-прежнему выглядит как файл XML. Я где-то видел программное обеспечение, которое конвертирует мои XML и XSL в вывод XHTML.

Есть идеи? Я публикую свой код, если это поможет.

Спасибо XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!--<!DOCTYPE thesaurus SYSTEM "dictionary.dtd"> --> <!--bortkommenterad så att man ska kunna validera jämte emot xsd schema-->
<?xml-stylesheet type="text/xsl" href="thesaurus.xsl"?> <!-- Hamtar xsl styleesheet-->
<thesaurus> <!--Rootelementet kan enbart finnas 1 gang -->
  <dictionary> <!--resten av elementen kan nastlas in i elementet.-->
    <language>Engelsk</language>
    <author>
      <firstname>Felipe</firstname>
      <lastname>Otarola</lastname>
    </author>
    <word type="1">Stroll</word> <!--eftersom vi bara behover anvanda 10st ord ar det batre att ge dem olika typer istallet for att nastla in dem i varsina element.-->
    <word type="2">Tender</word>
    <word type="3">Agents</word>
    <word type="4">Partial</word>
    <word type="5">Logotype</word>
    <word type="6">Pretend</word>
    <word type="7">Color</word>
    <word type="8">Silent</word>
    <word type="9">Foundations</word>
    <word type="10">Grain</word>
  </dictionary>
</thesaurus>

1008 * XSL *

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <html>
    <link rel="stylesheet" type="text/css" href="style.css"/> 
      <body>
      <div id="wrap"> 

      <div id ="title"> <xsl:apply-templates select="//language"/> ordlista</div> 

        <div id="author">
          Författare:  <xsl:apply-templates select="//author"/> </div>
      <p class="words"><xsl:apply-templates select="//word">
              <xsl:sort order="ascending"/>
        </xsl:apply-templates></p>
        </div>
      </body>
    </html>
  </xsl:template>

  <xsl:template match="word">
    <xsl:value-of select="."/>
    <br/>
  </xsl:template>
</xsl:stylesheet>

Спасибо всем

1 Ответ

1 голос
/ 27 февраля 2012

Если я запускаю xsl против вашего XML с помощью такого инструмента, как Oxygen, я получаю вывод ниже.

<html>
<link rel="stylesheet" type="text/css" href="style.css">
<body>
  <div id="wrap">
     <div id="title">Engelsk ordlista</div>
     <div id="author">
        Författare:  
        Felipe
        Otarola

     </div>
     <p class="words">Agents<br>Color<br>Foundations<br>Grain<br>Logotype<br>Partial<br>Pretend<br>Silent<br>Stroll<br>Tender<br></p>
  </div>
</body>
</html>

Когда я запускаю его, открывая xml с помощью Internet Explorer, я вижу результат, который вы получите, если браузер отобразил вышеупомянутый html.

Так что все работает.

Вы, похоже, ожидаете, что источник просмотра покажет вам промежуточный HTML, а не фактический источник - XML. Ваше ожидание кажется неверным, а не ваш код

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