こんにちは私は、セグメント番号順に時間のタイムコードの値を抽出しようとしています。ここで数値によるXSLT値
は私の入力XMLの例です。
<Container>
<Properties outputFileSegment-1-durationTimeCode="00:00:59;28" outputFileSegment-1-durationTotalFrames="1798" outputFileSegment-1-endTimeCode="00:59:39;29" outputFileSegment-1-endTimeCodeMediaflex="00:59:40;00" outputFileSegment-1-endTotalFrames="107291" outputFileSegment-1-endTotalFramesMediaflex="107292" outputFileSegment-1-segmentType="12" outputFileSegment-1-startTimeCode="00:58:40;00" outputFileSegment-1-startTotalFrames="105494" outputFileSegment-2-durationTimeCode="00:00:17;28" outputFileSegment-2-durationTotalFrames="540" outputFileSegment-2-endTimeCode="00:59:57;29" outputFileSegment-2-endTimeCodeMediaflex="00:59:58;00" outputFileSegment-2-endTotalFrames="107831" outputFileSegment-2-endTotalFramesMediaflex="107832" outputFileSegment-2-segmentType="8" outputFileSegment-2-startTimeCode="00:59:40;00" outputFileSegment-2-startTotalFrames="107292" outputFileSegment-3-durationTimeCode="00:09:06;17" outputFileSegment-3-durationTotalFrames="16379" outputFileSegment-3-endTimeCode="01:09:06;06" outputFileSegment-3-endTimeCodeMediaflex="01:09:06;20" outputFileSegment-3-endTotalFrames="124260" outputFileSegment-3-endTotalFramesMediaflex="124261" outputFileSegment-3-segmentType="63" outputFileSegment-3-startTimeCode="00:59:59;20" outputFileSegment-3-startTotalFrames="107882" />
</Container>
私は何を達成しようとすると、この出力に類似の最終形式です:
<segment>
<segment_sequence_number>1</segment_sequence_number>
<segment_length>00:00:59;28</segment_length>
</segment>
<segment>
<segment_sequence_number>2</segment_sequence_number>
<segment_length>00:00:17;28</segment_length>
</segment>
<segment>
<segment_sequence_number>3</segment_sequence_number>
<segment_length>00:09:06;17</segment_length>
</segment>
私が行うので、私はこの時点で立ち往生しています最後のセグメントまで順番に各期間の値を抽出するためにxslt 1.0で書く方法を知らない。誰かが私が正しい軌道に乗るのを助けてくれますか?ここで
変換に必要なロジックを説明してください。固定数のセグメントはありますか?または少なくともセグメントの最大数?出力に最初の2つのセグメントだけが含まれていますが、3番目のセグメントは含まれていないのはなぜですか?そして、セグメントの長さをどのように計算すればよいですか(あなたの入力にフレームレートはありません)? –
固定数のセグメントがないので、最後のセグメント(4セグメントか25セグメントか)までの継続時間を出力する変換を見つける必要があります。出力は作成する必要のある例ですが、この特定の入力の正確な出力ではありません。フレームレートを使用して計算する必要はありません。それはすでに私のために行われています。 segment_lengthを満たすには、durationTimeCode値を使用するだけです。 – user6391187
私は、すべてのセグメント*が 'durationTimeCode'を持っているのを見ません。そして、持っているものはあなたの出力のものとは異なる値を持っています。あなたの質問はすでに十分に難しいです。理解しやすくしてください。 - XSLT 2.0を使用できるかどうかを明記してください。 –