問題は、私は以前に XSLT を実行したことがなく (それも JavaScript を使用して!)、どうすればよいかわかりません。
XSLT は、XML ドキュメントを他の (ほとんどが XML ですが、HTML、プレーン テキストなども含む) ドキュメントに変換するための言語です。必要なのは、作業対象の入力 XML、出力を取得するために入力に適用する変換、およびそれを行うための XSLT プロセッサです。
XSLT プロセッサは、ツール、ライブラリ、フレームワークまたはオペレーティング システムによって提供される一部の機能、またはこの場合 (JavaScript を使用して) ブラウザにすることができます。
すでに XML 入力があるので、プロセッサと変換が必要です。残念ながら、プロセッサはブラウザー固有のもの ( Mozilla のXSLTProcessor 、IE のActiveXなど) であり、使用している特定のブラウザーをテストするコードを記述する必要があります (たとえば、このページのソース コードで確認できるように)。
幸いなことに、あなたが言及したGoogle AJAXSLTのようなJavaScriptライブラリはその下の詳細を隠し、ブラウザ間で使用できる統一されたAPIを公開するので、そうする必要はありません. そのため、あとは変換を行う XSL ファイルを作成するだけです。
サンプルに基づいて、入力が次の場合:
<?xml version="1.0" encoding="UTF-8"?>
<Items>
<Item name="Alpha">
<Field name="CreationDateTime">2012-04-26</Field>
<Field name="Material" readOnly="X">Congress</Field>
</Item>
<Item name="Beta">
<Field name="CreationDateTime">2012-05-26</Field>
<Field name="Material" readOnly="X">Democracy</Field>
</Item>
</Items>
次のような XSL を使用します。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<Items>
<xsl:apply-templates />
</Items>
</xsl:template>
<xsl:template match="Item">
<Item>
<xsl:attribute name="name">
<xsl:value-of select="@name" />
</xsl:attribute>
<xsl:apply-templates />
</Item>
</xsl:template>
<xsl:template match="Field">
<xsl:variable name="fieldName" select="@name" />
<xsl:element name="{$fieldName}">
<xsl:if test="@readOnly">
<xsl:copy-of select="@readOnly" />
</xsl:if>
<xsl:value-of select="." />
</xsl:element>
</xsl:template>
</xsl:stylesheet>
あなたはこれを得る:
<?xml version="1.0" encoding="UTF-8"?>
<Items>
<Item name="Alpha">
<CreationDateTime>2012-04-26</CreationDateTime>
<Material readOnly="X">Congress</Material>
</Item>
<Item name="Beta">
<CreationDateTime>2012-05-26</CreationDateTime>
<Material readOnly="X">Democracy</Material>
</Item>
</Items>
これにより、javascript で XSLT をより早く開始できることを願っています。
最後に、2.0 はまだブラウザーでサポートされていないため、XSLT 1.0 に集中してください。