今、私は、MODS XML から FilemakerPro への変換のための XSLT で質問したよりも複雑な状況にあります。パラメーターを使用して mod をどのように扱うのですか? . FileMaker Pro 形式に変換しようとしている XML には、次のものがあります。
<name type="personal">
<namePart type="family">
Giobbi
</namePart>
<namePart type="given">
Robert
</namePart>
<role>
<roleTerm authority="marcrelator" type="code">
aut
</roleTerm>
</role>
</name>
それを処理するために XSLT に何を入れます<xsl:value-of select="...." />
か。新しい合併症は次のとおりです。
- ソース XML には、内部に複数の要素を持つネスト構造があり
name
ます。 - item
roleTerm
には と の 2 つのパラメーターがauthority
ありcode
ます。
結果の XML では、「家族」と「与えられた」名前、およびroleTerm
.
<name>...</name>
また、場合によっては、そのようなエンティティが 2 つ以上存在することもあります。ターゲット XML に追加の列を作成するには、どうすればよいでしょうか? MAXREPEAT
から"1"
より大きな値に変更するのと同じくらい簡単ですか?
目的の出力は次のようになります。
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult"
xmlns:mod="http://www.loc.gov/mods/v3">
<ERRORCODE>0</ERRORCODE>
<PRODUCT NAME="N/A" BUILD="N/A" VERSION="N/A"/>
<DATABASE NAME="N/A" LAYOUT="N/A" RECORDS="1" DATEFORMAT="M/d/yyyy" TIMEFORMAT="h:mm:ss a"/>
<METADATA>
<FIELD EMPTYOK="YES" MAXREPEAT="1" TYPE="TEXT" NAME="Title"/>
<FIELD EMPTYOK="YES" MAXREPEAT="1" TYPE="TEXT" NAME="Genre"/>
<FIELD EMPTYOK="YES" MAXREPEAT="1" TYPE="TEXT" NAME="LastName"/>
<FIELD EMPTYOK="YES" MAXREPEAT="1" TYPE="TEXT" NAME="FirstName"/>
</METADATA>
<RESULTSET>
<ROW MODID="1" RECORDID="1">
<COL>
<DATA>Roberto Giobbi's Card college. Volume 1</DATA>
</COL>
<COL>
<DATA>book</DATA>
</COL>
<COL>
<DATA>Giobbi</DATA>
</COL>
<COL>
<DATA>Roberto</DATA>
</COL>
</ROW>
</RESULTSET>
</FMPXMLRESULT>
もちろん、ソース XML の項目ごとに 1 つずつ、より多くの行が存在するため、さらに重要なことに、フォームに複数のフィールドがある場合に結果がどのように表示されるかがわからないため、「次のような」と言います。<name type="personal">...</name>
ソース内 (つまり、書誌ソース xml ファイル内の複数の著者)。