![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
<?xml version="1.0" encoding="UTF-8"?>
<data>
××××<a hide="hide">○○○○○<c>*****</c>○○○</a>・<a>◎◎◎◎◎<b hide="hide">●●●</b>▲▲▲▲</a>△△△△
</data>
==================================
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<test>
<xsl:apply-templates />
</test>
</xsl:template>
<xsl:template match="*">
<xsl:choose>
<xsl:when test="count(@hide) > 0">
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
============結果=====================
<?xml version="1.0" encoding="UTF-8"?>
<test>××××・◎◎◎◎◎▲▲▲▲△△△△</test>
=====================================
* 特に指示がなかったので、c要素のように「その要素自身にはhide属性はないが、その親にhide属性がある」ような要素は内容を表示しないことにした。特に指示がなかったので、その要素の名前空間(接頭辞がない奴)以外の「接頭辞のある属性」についてはhide属性としては扱わないものとしている。(今後指示がついてもやらないけど)
* 今考えると、xsl:apply-templatesのselect属性に指定するXPathで、hide属性のない要素だけが対象となるようにしてもよかったかも、とも思うがまぁいいや。
この回答への補足
<xsl:apply-templates select="data/text() | data//*[not(@hide='hide') and not(../@hide='hide')]/text()" />
のような形かな?っと思いますが、親階層にhide属性がある場合(複数階層の場合)、表示されてしまいます。
全ての親階層をたどり判断するようなことは出来ないのでしょうか?
ありがとうございました。
ずっと悩んでいたんですが、スッキリです。
>* 今考えると、xsl:apply-templatesのselect属性に指定するXPathで、hide属性のない要素だけが対>象となるようにしてもよかったかも、とも思うがまぁいいや。
出来たら、こっちのやり方も教えてもらえるとうれしいです。
今後の参考のために、よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- 英語 意味を教えてください 4 2022/04/20 13:08
- ジャズ おすすめ曲を教えてください! 最近少し昔の有名な曲にハマりました。 好きな曲は、 Fly Me to 7 2022/04/03 12:34
- JavaScript JavaScript?jQuery?で書き方を教えてください。 初心者です。 AAAという要素をステ 2 2023/08/04 22:09
- Visual Basic(VBA) Excel・ユーザーフォームの情報を受け渡したい 4 2022/06/08 10:11
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- その他(プログラミング・Web制作) pythonでDBのカラム名で取得したオブジェクトの値を表示したい 1 2022/05/13 03:41
- コレクション どんなものが、ヤフオクで売れるんでしょうか 2 2022/04/28 19:18
- その他(エンターテインメント・スポーツ) Mステ、何故35周年スペシャルやらなかった?・・ 記念すべき第一回の模様 チェッカーズ、マッチ、細川 1 2023/01/11 22:11
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XSLTがブラウザで表示されません。
-
XSL中の改行、タブを無効にした...
-
スタイルシートを使用したXM...
-
XSL内でJavaScriptを記述し、Ja...
-
XMLから指定テキストのみを抜き...
-
東芝のDynabookなのですがアン...
-
CPUの考え方を教えてください ...
-
UTF-8でエンコーディングとはど...
-
Access VBAでXMLが読み込めない
-
ルート要素ノードが2個ある場合?
-
コンテキストメニュークリック...
-
メモリのセクションに関して
-
xmlファイルが上手にHTMLに変換...
-
SNMP リンクダウンとノードダ...
-
XMLで要素が記述された順番に意...
-
XSLT
-
VB6でXMLを処理するには
-
複数のマックPCによる数値計算...
-
eclipseへのxmlファイル追加
-
XPathで途中に名前空間が設定さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
タグの有無の判定
-
XSLで、XMLの空タグを制御したい。
-
スタイルシートを使用したXM...
-
XMLのHTMLへの変換 (初心者)
-
ノードの並び替え
-
XSL内でJavaScriptを記述し、Ja...
-
xmlのテキストにリンクを張りた...
-
xml→htmlへの変換&ページ分割...
-
空かスペースを認識させること...
-
XSLTにてタグ名を取得する方法
-
XMLとXSLTでリンクを張る方法
-
XSL中の改行、タブを無効にした...
-
重複するものを消したい
-
xslでの最小値、最大値の取得
-
スタイルシートについて
-
■XSLT■固定文字を使ったループ...
-
javaのTransformerでエラー
-
for-eachが上手くいきません
-
XMLデータを動的に使用する
-
XSLTで固定長データファイルを...
おすすめ情報