-1

xsl を介して 1 つの unifrom xml ドキュメントに変換する必要がある複数の xml ドキュメントを受け取りました。また、この結果の xml ドキュメントに名前空間とスキーマを追加する必要があります。私の問題は、xsl スタイルシートを使用してスキーマと名前空間をこのドキュメントに追加する必要があり、その方法がわかりません。名前空間を追加する方法を理解するのに長い道のりを歩んできましたが、スタイルシートを介して xml 結果ドキュメントにスキーマの場所を与えるにはどうすればよいでしょうか?

これは、schemaLocation のため、現時点では動作しないスタイルシートにあるものです。

<xsl:stylesheet  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:main="http://www.vm.com/main"
        xmlns:teleprompt ="http://www.vm.com/teleprompt"
        xmlns:warner ="http://www.vm.com/warner"
        xsi:schemaLocation="http://www.vm.com/main mainSchema.xsd"
        version="1.0">

そして、これは私が名前空間を使用したい場所です:

<album teleprompt:type="simple" teleprompt:href="http://www.vm.com/teleprompt">

ツリー内のすべてに適用するには、上記のコードも必要です。

これらのアルバムは 4 つあり、名前空間が必要なのはそのうちの 2 つだけです。スタイルシートで を使用していないため、要素をテンプレートに分割する答えを教えてください。

助けてくれてありがとう。

4

1 に答える 1

0

「xsi」の名前空間バインディングを追加する必要があります。これはhttp://www.w3.org/2001/XMLSchema-instanceです。

<xsl:stylesheet  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:main="http://www.vm.com/main"
    xmlns:teleprompt ="http://www.vm.com/teleprompt"
    xmlns:warner ="http://www.vm.com/warner"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.vm.com/main mainSchema.xsd"
    version="1.0">

もちろん、テンプレートを使用せずに成功する方法は別の問題です。

于 2012-05-20T12:27:49.413 に答える