2017-11-06 4 views
0

XSLTを使ってXSDの動作を模倣するのは大変です。XSLTが不足しているタグを検出する

この特定のケースでは、親要素内の欠損要素を検出したいと考えています。これまでのところ私は、次のを作ってみた:

<xsl:template match="grandparenttagname/parenttagname">  
    <!--missing data guard for this template--> 
    <xsl:if test="not(tag1name and tag2name and tag3name)"> 
     A necessary tag is missing! 
    </xsl:if> 
    ... 

私は条件付きのXSLタグの中に、私はという条件を印刷することができるよ、というように条件をフォーマットすることが可能であったかどうかを疑問に思いました。失敗しました(つまり、最初のタグが欠落しています)。

ありがとうございます。

+1

をあなたは、この優れた記事を参照して、ログインできます。https://stackoverflow.com/questions/4849327/logging-with-xslt – Ironluca

答えて

1

魔法がここにありません、ただ三つの条件を使用します。

<xsl:if test="not(tag1name)"> 
    tag1name is missing! 
</xsl:if> 
<xsl:if test="not(tag2name)"> 
    tag2name is missing! 
</xsl:if> 
<xsl:if test="not(tag3name)"> 
    tag3name is missing! 
</xsl:if> 
+0

はいています私が望むものをイーアントに(結果の文書に失敗した条件を印刷します)。私はそれが各条件のために別のタグを持つ必要がないことを望むだけです。私はそれが唯一の方法かもしれないと考えました。 – DailyFrankPeter

+0

この種のコードは、スキーマ言語が発明されて扱いにくくなるためです。 –

+0

残念ながら、当時私はXSDを使用しないという制限がありました... – DailyFrankPeter

関連する問題