私はいくつかのデータベースの内容を視覚化するアプリケーションを作成しています。このアプリケーションは、インストールと使用ができるだけ簡単でなければならないので、XMLファイルをデータベースとして使用し、ブラウザを通じてXSLで適切に変換することに決めました。現在、XSLファイルはすべてのデータベースの要約テーブルを作成するようにプログラムされており、各行の最初のセルをクリックすると、エントリ全体のより完全な説明が表示されます。つまり、ページにはデータベース内のすべてのレコードの完全な説明がすべて含まれていますが、この状況ではページの読み込みが遅くなります。数百レコードを読み込むには最大5秒かかります。私は今後データベースを大きく拡張する予定であるため、この問題はさらに悪化することになっています。負荷を軽減するために、次の明白なステップは、AJAXまたはiframeを使用して遅延負荷に頼ることです(問題のポイントではなく現時点では重要ではありません)が、いくつかの問題に直面しています。XML/XSLからURLパラメータを抽出する
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<xsl:output method="html" version="5" doctype-system="about:legacy-compat" indent="yes" />
<xsl:param name="url" />
<xsl:template match="/">
<html>
<body><xsl:value-of select="$url" /></body>
</html>
</xsl:template>
</xsl:stylesheet>
は、今のところこれはただです:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="transform.xsl"?>
<content />
そしてtransform.xslビーイング:transform.xmlされた状態で
file:///path/to/file/transform.xml?id=23
:私の考えは、直接このようなXMLファイルを呼び出すことでした概念の証明ですが、この部分は後続のすべての基礎であり、それがうまくいかない場合、この方法をさらに進めることは無意味です。
私はこの時点で空白のページが見えます。また、パラメータ名をid
に変更しようとしましたが、ページは空のままです。
これはPHPやその他のサーバー側のソリューションで簡単に実現できますが、MySQLの方が効率的ですが、ダウンロードが終了するとすぐにこのアプリケーションを使用する必要があります。ユーザーが* AMPサーバーをインストールする必要がある場合、おそらくそうではありません。私はこのアプリケーションをオフラインで実行する必要があるので、パブリックサーバーも解決策ではありません。一方、JavaScript/jQueryソリューションは、クライアント側であるため、完全に受け入れられます。
編集:ほとんどの作品は、動作するようですがかなり古く、サンプルにはASPページのURLが含まれているthis questionに基づいています。
Saxon-JSに見られる問題は、XSLファイルのコンパイルが必要なことです。つまり、コードがクローズソースになる可能性があります。 – GRB
はい、商用ツールの依存性は考慮する必要があります。 2017年に積極的に開発された商用ツールを使用するのか、2001年以降に進んでいない無料ツールを使用するのかを決める必要があります。 –