問題タブ [tei]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xslt - 2 つの再帰的な出力を分離する XSLT 2.0
ここの XSLT フィドル: https://xsltfiddle.liberty-development.net/bdxtqU/5
この質問は、XSLT 2.0 を使用して、別の 内にある HTML URL に出力したかったこの回答の意味から続いているため、すべてが URL に変換されます。<persName>
<persName>
<persName>
出力先:
以下のコードを使用します。また、URL への出力を取得する別の「名前付きエンティティ」にも使用します<placeName>
。
問題は、<persName>
内部に<placeName>
次のように表示される可能性があることです (逆も同様です)。
私が望むのは、 と を分離し<placeName>
て<persName>
、同じ名前付きエンティティ タイプが名前付きエンティティ内にネストされているネストされた URL のみを作成することです。
概略的には、これらは再帰的に all <placeName>
and を出力します<persName>
:
しかし、これらは親エンティティを URL として出力するだけ<placeName>
で<persName>
あり、それらに含まれる名前付きエンティティをバイパスします。
出力先<a href="www.foo.com/person/Raimunda_Faure">Raimunda Toulouse Paris</a>
出力先<a href="www.foo.com/place/Toulosue">Toulouse Raimunda Bernard</a>
2 つの既存のテンプレートを次に示します。
他の名前付きエンティティの除外をどちらかに追加するか<xsl:apply-templates select="node() except $nested" />
、次の<xsl:apply-templates select="$nested" />
ようなものを使用する必要があるようです[node()[name() != 'persName']]
が、成功していません。
前もって感謝します。
xslt - 複数のモードを調整する XSLT 2.0
https://xsltfiddle.liberty-development.net/bFDb2D3/4の XSLT 2.0、スタイルシート、およびデータ
tei-xml でエンコードされた中世の文書を、ユーザーが文書の 2 つの異なるビューを切り替えたり、翻訳やさまざまな脚注 ( など) を表示したりできる Web ページに変換しています。これには、出力するために複数の処理レイヤーが必要です。
- ユーザーが切り替えることができる 2 つのラテン バージョン (「inter」と「diplo」) (同じ tei マークアップから派生)
- ほとんど変換されていない翻訳版 (段落の書式設定と斜体のみ)
- 脚注 # a、b、c などを使用した重要な装置。
- 脚注 # 1、2、3 などを使用した歴史的な脚注。
modes
処理のレベルを処理するために使用しています。各モードは単独で正常に動作しますが、一緒にすると出力が失われます。
何を出力する必要があります:
<div class="inter"><p>
すべての変換モードinter
+fn-add-marker
[これには<a href>
、テキストに上付き文字と数字が含まれている必要があります]<div class="diplo"><p>
すべての変換モードdiplo
+fn-add-marker
[これには [テキスト] 、行番号、上付き文字、およびテキスト内の数字を含める必要があります]<div><p>
翻訳付き<div>
重要な装置で<div>
脚注付き
XSLTfiddle の出力は次のとおりです。
- URLも上付き文字もOK!上付き数字の欠落(モード
fn-add-marker
) - 上付き文字OK!行番号と [テキスト]または内(ie. ) と欠落した上付き数字(mode )を除いてOK
<persName>
<placeName>
<xsl:template match="tei:lb">
<xsl:template match="tei:supplied">
fn-add-marker
- わかった!
- わかった!
- わかった!
#2に関して、欠落している行#と[テキスト]は、他のテンプレートを処理して引き渡さないテンプレートの結果であるように見えます<persName>
か<placeName>
? (テンプレートは 173 ~ 218 行にあります)
モードに関するすべてのテンプレートfn-add-marker
は、41 ~ 77 行にあります。
よろしくお願いします。