Tabela stylów XML: Ten plik XML wydaje się mieć żadnych informacji o powiązanym stylu.


Mam prosty plik XML:
<?xml version="1.0" encoding="UTF-8"?>
<Document>
<Page x1="71" y1="120" x2="527" y2="765" type="page" chunkCount="1" pageNumber="1" wordCount="1">...</Page>
<Chunk x1="206" y1="120" x2="388" y2="144" type="unclassified">
<Word x1="206" y1="120" x2="214" y2="144" font="Times-Roman" style="font-size:22pt">WORD</Word>
</Chunk>
</Document>

Kiedy próbuję go wyświetlić, moja przeglądarka informuje mnie, że brakuje mi arkusza stylów. Ponieważ nie mam wcześniejszego doświadczenia z XML, moje pytanie brzmi: w jaki sposób prosty XSLT (jak go rozumiem?) Pozwoliłby mi zobaczyć każdy element pliku XML w pozycji określonej przez współrzędne w pliku. Pomoc jest bardzo ceniona.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Twój powyżej XML ma błędy, zamykasz

Strona

Double, I.

Chunk

zamyka się nieprawidłowo z

Chuck

Obecność xslt (arkusza stylów) określonego w pliku xml jest opcjonalna, przeglądarka po prostu mówi, dlaczego wyświetla surowy plik xml, to jest w porządku.
możesz zastosować style xsl po stronie serwera i zdecydować, który arkusz zastosować, nie musisz odnosić się do niego w pliku xml.
również możesz wykonać tłumaczenie xslt po stronie klienta, będzie to trudniejsze, ponieważ przeglądarka ma inną implementację, aby to osiągnąć.
jednak jeśli dostarczysz arkusz stylów, wszystkie główne przeglądarki będą tłumaczyć po stronie klienta (stara przeglądarka nie), ale nawet IE6 to robi
łącze do arkusza stylów określonego w pliku xml będzie wyglądać następująco:
<?xml-stylesheet type="text/xsl" href="so.xslt"?>

Tabela stylów może wyglądać tak:
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="[url=http://www.w3.org/1999/XSL/Transform"]http://www.w3.org/1999/XSL/Transform"[/url] version="2.0"><xsl:output omit-xml-declaration="yes" method="html"/>
<xsl:strip-space elements="*"/><xsl:template match="Document">
<html>
<head><title>Test</title></head>
<xsl:apply-templates/>
</html>
</xsl:template><xsl:template match="Page">
<body>
<xsl:apply-templates/> Page:<xsl:value-of select="@pageNumber"/>
</body>
</xsl:template><xsl:template match="Chunk">
<xsl:value-of select="."/>
</xsl:template><xsl:template match="*">
<xsl:apply-templates/>
</xsl:template></xsl:stylesheet>

Ale, jak widać, możesz zbudować prawie wszystko.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Wystarczy dodać XMLNS = "http://www.w3.org/1999/xhtml&quot; xml: lang = "en" lang = "en" dla tagu HTML. Pracował dla mnie.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html><html xmlns="[url=http://www.w3.org/1999/xhtml"]http://www.w3.org/1999/xhtml"[/url] xml:lang="en" lang="en">
<head>
<title></title>
</head>
<body></body>
</html>

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się