入力となるXMLの要素Aに属性が複数存在した場合に、ある属性以外のすべての属性を要素Bに付与して出力したいのですがどのようなXSLTで記述すればいいのでしょうか?
入力例)
<sample>
<要素 aa="1" bb="2" cc="3">AAAAAAA</要素>
</sample>
出力例)
<sample>
<youso bb="2">AAAAA</youso>
</sample>
XSLT)
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/
1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<sample>
<xsl:apply-templates/>
</sample>
</xsl:template>
<xsl:template match="要素">
<xsl:copy>
<!-- <xsl:copy-of select="@*"/> -->☆
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
XMLEDITOR.NETで検証(つまり.NET FrameworkのXSLTプロセッサ)
スタイルシート:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<sample>
<xsl:apply-templates/>
</sample>
</xsl:template>
<xsl:template match="要素">
<xsl:element name="youso">
<xsl:copy-of select="@*[local-name() != 'aa']|*|text()|comment()|processing-instruction()"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
出力結果
<?xml version="1.0" encoding="utf-8"?>
<sample>
<youso bb="2" cc="3">AAAAAAA</youso>
</sample>
ただし,local-nameが'aa'であるかどうかチェックしただけなので
あらゆる名前空間のaa属性が出力されません。そこはnamespace-uri()でも使って調整してください
#この前の質問はいい加減なこと言ってごめんなさい。
#今回は多分大丈夫だと思う。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux bashの変数でブランクがあるかチェックする方法教えて下さい。 3 2023/04/06 16:09
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- Windows 10 bash の -z オプションがうまく動作しない原因を教えて下さい。 4 2023/03/22 18:04
- Visual Basic(VBA) 以前シートを集めて1シートへ繋げる下記コードをご教授いただき作成しました。 今回すでに集めてある「ま 1 2022/08/29 20:38
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- HTML・CSS 疑似要素で背景画像に指定したSVG画像の色変更 2 2023/01/30 22:45
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- 英語 L-PRF can be obtained by manual or automated metho 1 2022/04/08 09:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XSLで、XMLの空タグを制御したい。
-
ノードの並び替え
-
タグの有無の判定
-
xslでの最小値、最大値の取得
-
xmlのテキストにリンクを張りた...
-
XMLのHTMLへの変換 (初心者)
-
CPUの考え方を教えてください ...
-
XMLで要素が記述された順番に意...
-
バッチファイルでテキストファ...
-
昔Winnyってありましたけど、あ...
-
あせんうぶり言語
-
VB6でXMLを作成しているのです...
-
SNMP リンクダウンとノードダ...
-
あるノードリストに、特定の名...
-
HTTPステータス 404 - There is...
-
コンテキストメニュークリック...
-
Listからのnull要素を削除方法は?
-
ルート要素ノードが2個ある場合?
-
ノードとは
-
このエラー、何とかなりません...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
XSLで、XMLの空タグを制御したい。
-
タグの有無の判定
-
XSLでXMLデータをタブ区切りデ...
-
XSLTで固定長データファイルを...
-
XSL中の改行、タブを無効にした...
-
xmlのテキストにリンクを張りた...
-
重複するものを消したい
-
XSLTがブラウザで表示されません。
-
うまく表示されない
-
文字列の取得
-
xsl:param要素をxsl:templateの...
-
value-ofの値を属性値とするには
-
XMLをXSLを使いHTMLに変換した...
-
XMLから指定テキストのみを抜き...
-
ある文字列を含むノードが存在...
-
VBAからxml・スタイルシートを...
-
xsl、xpath式の書き方について
-
XSLで特定のタグだけを出力する...
-
XSL内でJavaScriptを記述し、Ja...
-
XSLTで直下のテキストのみ取得...
おすすめ情報