-1

単純な 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>

表示しようとすると、ブラウザにスタイルシートがないと表示されます。私は XML の経験がないので、私の質問は次のとおりです。ファイル内の座標によって指定された位置で XML ファイルの各要素を表示できる単純な XSLT (私が理解しているように) はどのようになるでしょうか。大いに感謝します。

4

2 に答える 2

2

上記の XML にエラーがあり、Pageを 2 回閉じると、Chunkが誤ってChuckで閉じられます

xml ファイルに xslt (スタイル シート) を指定するかどうかは任意です。ブラウザーは生の xml を表示する理由を通知しているだけなので、問題ありません。サーバー側で xsl スタイルを適用し、適用するシートを決定できます。xml ファイルで参照する必要はありません。また、クライアント側で xslt 変換を行うこともできます。これは、ブラウザーがそれを実現するための実装が異なるため、よりトリッキーになります。

ただし、スタイル シートを指定すると、すべての主要なブラウザがクライアント側で変換されます (古いブラウザは変換しません) が、IE6 でさえ変換します

xml ファイルで指定されたスタイル シートへのリンクは次のようになります。

<?xml-stylesheet type="text/xsl" href="so.xslt"?>

スタイルシートは次のようになります。

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 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/><hr/>
        Page:<xsl:value-of select="@pageNumber"/>
    </body>
</xsl:template>

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

<xsl:template match="*">
<xsl:apply-templates/>
</xsl:template>

</xsl:stylesheet>

しかし、ご覧のとおり、それを使用してほとんど何でも構築できます。

于 2012-05-18T18:55:24.730 に答える