• ベストアンサー

XSLスタイルシートを2つ当てる方法はありませんか?

XSLスタイルシートのテンプレートが多すぎて 訳がわからなくなってしまいました。 できれば他のプログラミング言語のように、部品でXSLファイルを分けたいのですが、XSLではできないのでしょうか? 「XML/XSL以外のプログラムを利用して」という回答は、なしでお願いします。 よろしくお願いします。

  • XML
  • 回答数1
  • ありがとう数11

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

実践してみたことはないんで自信はないけど xsl:importとかxsl:includeとか 使ってどうにかできないだろうか?

yzyamgoo
質問者

お礼

ありがとうございます。ちょっとやってみます。 できたらまた報告します!

関連するQ&A

  • XSLスタイルシートについて

    こんな馬鹿な質問でごめんなさい。XMLファイルをXSLスタイルシートを使って表示させたいですけど、どうやら、XSLファイルの作り方が間違っているようで… でも、どこだか分からないんです。助けてください。 ---XMLファイルの内容は--- <root> <first> <second1>22</second1> <second2>2</second2> <third1> <fourth1>4</fourth1> <fourth2>44</fourth2> </third> <third1> <fourth1>4</fourth1> <fourth2>44</fourth2> </third> </first> <first> ... rootの中にはfirstがいくつかあって、 firstの中にはsecondが二つ、thirdがいくつか、 thirdの中にはfourthが二つあります。 xsl:for-each を使って2と4をそのまま表示させたいのですが、 xsl:for-eachの中にxsl:for-eachを書くんですか? どなたか書き方を教えて下さい。

    • ベストアンサー
    • XML
  • XMLの名前空間をXSLから指定する方法

    XML勉強してみて間もない者の質問です・・よろしくです。 XMLで例えば <oyaji:samp xmlns:oyaji="http://sampsampsamp.co.jp"> </oyaji:samp> と宣言したとすると、XSLスタイルシートファイルではどのように oyaji:samp を識別すればいいのでしょうか。 上記で質問内容の分からなかった方のみ以下読んでください・・ 例えば //templating.xsl <?XML宣言?> <xsl:stylesheet xmlns:xsl="スタイルシートURI"> <xsl:template match="/"> <xsl:apply-templates /> </xsl:template> <xsl:template macth="samp"> </xsl:template> </xsl:stylesheet> とあったとすると、sampにはマッチしませんよね。 それをマッチさせる方法を教えてください。

    • ベストアンサー
    • XML
  • XMLドキュメント・XSLスタイルシート

    windows10を使用していて、cromeでいつも作業しています。 社会保険関係の年金機構とのやり取りで発生する、XMLドキュメント・XSLスタイルシートが開けなくて困っています

    • 締切済み
    • XML
  • スタイルシートを使って、要素タグがついたまま文を取り出したい

    お世話になります。 下記出力.xmlの内容で 「出力.xml <文> I <u>have <空欄>a</空欄> pen</u> <文>」 という内容があります。 そこで、スタイルシートの処理を通して、 「I <u>have <空欄>a</空欄> pen</u>」とタグが付いたまま取り出したいのですが、 下記のようなスタイルシートにすると 「I <u>have a pen </u>」 と外の<u>のタグしか表示されません。 「変換.xsl <xsl:apply-templates select="文"> <xsl:template match="u"> <xsl:element name="u"> <xsl:value-of select="." /> </xsl:element> <xsl;template> <xsl:template match="空欄"> <xsl:element name="空欄"> <xsl:value-of select="." /> </xsl:element> <xsl;template>                  」 どのようにすれば 「I <u>have <空欄>a</空欄> pen</u>」とタグがついたままで 取り出せるのでしょうか? 大変お手数ですが、何卒よろしくお願いします。

    • ベストアンサー
    • XML
  • xsl:chooseでこんなことがしたい

    はじめまして。XML初心者です。 元データとなるXMLを読み込んでHTML変換する為のスタイルシートの作成を試みています。 xsl:chooseを使って以下のようなことがしたいのですが、 ご存知の方いましたら教えてください(xsl:chooseに拘りはありません) ・元データの基本構造 ------------------------------------------------------ <A> <B> <C1>てすと</C1> </B> </A> ------------------------------------------------------ ・やりたいこと  <C1>の要素内容がNULLなら"★"マークを表示したい。 作ったスタイルシート ------------------------------------------------------ ~ <xsl:choose> <xsl:when test="C1=''">★</xsl:when> <xsl:otherwise><xsl:value-of selct="C1"/></xsl:otherwise> </xsl:choose> ~ ------------------------------------------------------ という感じで試したらうまく”★”マーク表示ができたのですが、対象のXMLデータに例外があり、 <C1>以下の要素がない場合があったのです。 この例外でも同様の”★”表示させたいのですが、うまい方法ご存知の方いましたら教えてください。

    • ベストアンサー
    • XML
  • XSL変換したが画像が表示できません

    下記のXMLの画像データを表示するためXSL変換したが画像が表示できません ちなみに同drに設置しています。  PHOT.XML <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="style.xsl"?> <photos>  <photo url="http://www.kahokanko.com/demo/10.jpg"/>  <photo url="http://www.kahokanko.com/demo/19.jpg"/>  <photo url="http://www.kahokanko.com/demo/31.jpg"/> </photos> STYLE.XSL <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  <xsl:template match="/">  <html>   <head>    <title>サンプル</title>    <link rel="styleSheet" type="text/css" href="./xx.css" />   </head>   <body>    <h1>画像を表示</h1>    <div>     <xsl:apply-templates />    </div>   </body>   </html>  </xsl:template>  <xsl:template match="photo">   <p class="album">    <img>     <xsl:attribute name="src">      <xsl:value-of select="@url" />     </xsl:attribute>    </img>   </p>  </xsl:template> </xsl:stylesheet>

  • VBAからxml・スタイルシートを作成すると、一度保存しないと正常に動作しない

    お世話になります。 現在エクセルのVBAで(1)のようなソースで(2)を書き出しています。 (2)の「<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 」もVBAで「indate=<?xml version="1.0" encoding="UTF-8"?xsl:stylesheet version="1.0" lns:xsl="http://www.w3.org/1999/XSL/Transform">」とそのまま打ち込んでいます。 スタイルシートを使用して返還しようとすると、「パラメータが違う」旨メッセージがでてきて、(2)を一度開き、何も変更しないで保存すると正常にスタイルシートの変換処理が行われます。 (2)のVBAで書き出したxmlがUTF-8で保存されていないように感じるのですが、どのように変更すればUTF-8で書き出せるのでしょうか? 以上お手数ですが、よろしくお願いします。 (1) Const ForReading = 1, ForWriting = 2, ForAppending = 3 Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0 Dim fs, f, ts Set fs = CreateObject("Scripting.FileSystemObject") fs.CreateTextFile "F:\EXCEL→XML\問題形式" & Worksheets("設問形式設定シート").Range(設問形式設定シート大問列 & 設問形式設定シート行).Value & ".xsl" 'ファイルの作成 Set f = fs.GetFile("F:\EXCEL→XML\問題形式" & Worksheets("設問形式設定シート").Range(設問形式設定シート大問列 & 設問形式設定シート行).Value & ".xsl") Set ts = f.OpenAsTextStream(ForWriting, TristateTrue) ts.Write indate ts.Close (2) <?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:import href="設定.xsl" /> <xsl:output method="xml" encoding="UTF-8" indent="yes" /> <xsl:param name="形式番号" >10001</xsl:param> <xsl:template match="/"> <xsl:call-template name="問題形式" /> </xsl:template> xsl:stylesheet>

  • XMLのスタイルシート関連付け

    XMLでスタイルシート関連付けをするのにtape=″text/xsl″ この場合はtapeの指定はどんな意味ですか? href=″MyFile11.xsl″hrefで実際にないファイルを指定するのは何のためですか ?>冒頭とラストのこのマークはどういう規則ですか 教えてくださいお願いします

    • 締切済み
    • XML
  • xslのdocument関数で読込んだ2つのxmlをxsl:sortしたい

    次のXSLで動作させています。 <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet xml:space="default" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema"> <xsl:output method="text" /> <xsl:template match="/"> <xsl:for-each select="document('取り込むXMLファイル')//z:row"> <xsl:value-of select="@取り出したい属性の名前" /> </xsl:for-each> <xsl:for-each select="//z:row"> <xsl:value-of select="@取り出したい属性の名前" /> </xsl:for-each> </xsl:template> </xsl:stylesheet> ここまでは出来たのですが、xsl:sortでまとめてsortするにはどうすればいいのでしょうか?

    • ベストアンサー
    • XML
  • <xsl:apply-templates />単独

    お世話になります。 現在、サンプルのXSLTスタイルシート内を解析中なのですが、 各テンプレート内に、 <xsl:apply-templates />という単独での要素が、 いくつも出てきます。 ネット上で調べてみたところ、 「ほかのテンプレートの処理に移ることが出来る」 ということのようですが、 いまいち、この単独での要素を、 記述する意味が、よくわかりません。 (最近、XSLTを本で勉強しはじめたばかりなのですが、   その本には、”<xsl:apply-templates select="mains">”みたいな例しか掲載されておらず、   <xsl:apply-templates />という単独での説明が、残念ながら存在しておりませんでした・・・) そこでご質問内容ですが、 XSLTスタイルシート内のテンプレート内に、 <xsl:apply-templates />という単独で、 で記述するのは、 どのようなことを実現させたいときに、 記述しているのでしょうか? 以上になります。 出来ましたら、例などを出していただきまして、 具体的に理解しやすく教えていただけますと 助かります。 どうぞよろしくお願いします。

    • ベストアンサー
    • XML