2017-10-25 7 views
0

XSLTクロスウォークを使用して、社内標準の社内メタデータXMLをPBCoreに変換します。 XSLTの上部にある私のプロローグは、次のようになります。XSLTを使用して他のスキーマをネストする

<?xml version="1.0" encoding="ISO-8859-1"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
version="2.0"> 
<xsl:output method="xml" indent="yes"/> 
<xsl:template match="MediaAsset"> 
    <pbcoreCollection 
     xmlns="http://www.pbcore.org/PBCore/PBCoreNamespace.html" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

xsi:schemaLocation="http://www.pbcore.org/PBCore/PBCoreNamespace.html 
http://pbcore.org/xsd/pbcore-2.0.xsd"> 

今私は、クライアントは、彼らが私たちに提供し、独自のMODSのメタデータに追加することが私たちのPBCoreメタデータを求めています。 MODS内のPBCoreの次のタグを適切に使うためには、すべてのタグにpbcore:プレフィックスが必要です。だから私の質問は:どのように標準のXMLを実行して、出力ファイルに接頭辞を含める私のPBCore XSLTを適応させるのですか?私はその後、私はちょうどPBCoreメタデータをコピーして、自分のモッズメタデータに貼り付けて、ちょうど最終出力XMLのプロローグに

xmlns:pbcore="http://www.pbcore.org/PBCore/PBCoreNamespace.html" 
xsi:schemaLocation="http://www.loc.gov/mods/v3 
http://www.loc.gov/standards/mods/v3/mods-3-6.xsd 
http://www.pbcore.org/PBCore/PBCoreNamespace.html 
http://pbcore.org/xsd/pbcore-2.0.xsd"> 

を追加できることを行うことができます。

答えて

1

既存のXSLTコードを変更するのではなく、新しい要件を満たすために既存のスタイルシートの出力を変更する別のステップをパイプラインに追加しないでください。

新しい要件が何であるかは完全にわかりません。あなたは変更が必要な名前空間接頭辞について話しますが、一般的に言えば、名前空間接頭辞は純粋に美容的です:それは重要な名前空間URIです。

関連する問題