質問するログイン新規登録

質問編集履歴

3

誤字訂正

2020/04/13 08:52

投稿

UG_ito_Pcorp
UG_ito_Pcorp

スコア13

title CHANGED
File without changes
body CHANGED
@@ -168,8 +168,8 @@
168
168
  <body>
169
169
  <section>
170
170
  <title>一</title>
171
- <p>わたくしは猫である。</p>
171
+ <p>わたくしは猫である。</p>
172
- <p>吾輩は犬である。</p>
172
+ <p>吾輩はである。</p>
173
173
  <p>吾輩は猫である。</p>
174
174
  <p>名前はまだ無い。</p>
175
175
  <p>名前はまだ無い。</p>
@@ -180,9 +180,9 @@
180
180
  <p>何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。</p>
181
181
  <p>何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。</p>
182
182
  <p>何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。</p>
183
- <p>わたくしはここで始めて人間というものを見た。</p>
183
+ <p>わたくしはここで始めて人間というものを見た。</p>
184
184
  <p>吾輩はここで始めて人間というものを見た。</p>
185
- <p>吾輩はここで始めて民間人というものを見た。</p>
185
+ <p>吾輩はここで始めて民間人というものを見た。</p>
186
186
  </section>
187
187
  </body>
188
188
  </topic>

2

誤字訂正

2020/04/13 08:52

投稿

UG_ito_Pcorp
UG_ito_Pcorp

スコア13

title CHANGED
File without changes
body CHANGED
@@ -116,7 +116,7 @@
116
116
  </topic>
117
117
  ```
118
118
 
119
- 次のXSLTで変換をしてみたのですが、処理が1つのmuch=""に対して、外部ファイル内で行われるeach-for分繰り返されてしまい、残念な結果しか得られませんでした。
119
+ 次のXSLTで変換をしてみたのですが、1つのmuch=""に対して、外部ファイル内for-each、処理が繰り返されてしまい、残念な結果しか得られませんでした。
120
120
 
121
121
  ```
122
122
  XSLT:replace.xsl

1

replace.xslの<choose>文内にある変換先を指しているつもりの「./text()」をあらかじめ<p>のテキストを格納した変数としました。それでも未解決です。

2020/04/13 08:46

投稿

UG_ito_Pcorp
UG_ito_Pcorp

スコア13

title CHANGED
File without changes
body CHANGED
@@ -116,7 +116,7 @@
116
116
  </topic>
117
117
  ```
118
118
 
119
- 次のXSLTで変換をしてみたのですが、処理が外部ファイル内で行われ、残念な結果しか得られませんでした。
119
+ 次のXSLTで変換をしてみたのですが、処理が1つのmuch=""に対して、外部ファイル内で行われるeach-for分繰り返されてしまい、残念な結果しか得られませんでした。
120
120
 
121
121
  ```
122
122
  XSLT:replace.xsl
@@ -130,23 +130,28 @@
130
130
  《中略》
131
131
 
132
132
  <xsl:template match="p">
133
+
134
+     <xsl:variable name="current_text" select="."/>
135
+
133
136
  <xsl:for-each select="$tarm_list//para">
134
137
 
135
138
  <xsl:variable name="target_tarm" select="./target"/>
136
139
  <xsl:variable name="replace_tarm" select="./replace"/>
137
140
 
138
141
  <xsl:choose>
139
- <xsl:when test="contains(./text(),$target_tarm)">
142
+ <xsl:when test="contains($current_text,$target_tarm)">
140
143
  <xsl:variable name="non_change_before">
141
- <xsl:value-of select="substring-before(./text(),$target_tarm)"/>
144
+ <xsl:value-of select="substring-before($current_text,$target_tarm)"/>
142
145
  </xsl:variable>
143
146
  <xsl:variable name="non_change_after">
144
- <xsl:value-of select="substring-after(./text(),$target_tarm)"/>
147
+ <xsl:value-of select="substring-after($current_text,$target_tarm)"/>
145
148
  </xsl:variable>
146
149
  <p><xsl:value-of select="$non_change_before"/><xsl:value-of select="$replace_tarm"/><xsl:value-of select="$non_change_after"/></p>
147
150
  </xsl:when>
148
151
  <xsl:otherwise>
152
+ <p>
149
- <xsl:copy-of select="current()"/>
153
+ <xsl:value-of select="$current_text"/>
154
+ </p>
150
155
  </xsl:otherwise>
151
156
  </xsl:choose>
152
157
 
@@ -163,26 +168,26 @@
163
168
  <body>
164
169
  <section>
165
170
  <title>一</title>
166
- <para>
167
- <sequence>00001</sequence>
168
- <target>吾輩</target>
169
- <replace>わたくし</replace>
171
+ <p>わたくしは猫である。</p>
170
- </para>
171
- <para>
172
- <sequence>00002</sequence>
172
+ <p>吾輩は犬である。</p>
173
- <target>猫</target>
173
+ <p>吾輩はである。</p>
174
- <replace></replace>
174
+ <p>名前はまだ無い。</p>
175
- </para>
176
- <para>
177
- <sequence>00003</sequence>
178
- <target>人間</target>
175
+ <p>名前はまだ無い。</p>
179
- <replace>民間人</replace>
176
+ <p>名前はまだ無い。</p>
180
- </para>
177
+ <p>どこで生れたかとんと見当がつかぬ。</p>
181
- (以下、上記3つの<para>を4回(全部5回)繰り返し)
178
+ <p>どこ生れたかとんと見当がつかぬ。</p>
179
+ <p>どこで生れたかとんと見当がつかぬ。</p>
180
+ <p>何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。</p>
181
+ <p>何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。</p>
182
+ <p>何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。</p>
183
+ <p>わたくしはここで始めて人間というものを見た。</p>
184
+ <p>吾輩はここで始めて人間というものを見た。</p>
185
+ <p>吾輩はここで始めて民間人というものを見た。</p>
182
186
  </section>
183
187
  </body>
184
188
  </topic>
185
189
  ```
186
190
 
187
- 外部ファイルのリスト項目を1つづつ照らし合わせながら、変換元ファイル(test.xml)を処理させるには、どうすればよろしいでしょうか。
191
+ 外部ファイルのリスト項目を1つづつ照らし合わせながら、変換元ファイル(test.xml)を処理させるには、どうすればよろしいでしょうか。XSLTの誤りをご指摘いただけると助かります。
192
+ 根本的に上記の方法ではNGな場合、別途の方法をご紹介いただけるとなお幸いです。
188
193
  よろしくご教授のほど、お願いいたします。