2017-07-20 9 views
-1

私はXPath 3.0を使用していますが、次の問題があります。 リソース(ファイルとフォルダ)の名前がす​​べてのリソースが別個のパス名を持つようになっているかどうかをチェックし、true/falseを返す関数を記述する必要があります。私は先祖の名前を取得することができる午前再帰DTDのXPathクエリ

This is my Document Type Definition

は、特定のフォルダのフォルダノードが、その後、私はその後、比較を実行することから「パス名」を構築する方法を考えることはできません。何か案が?

+0

https://www.w3.org/TR/xpath-functions-30/#func-string-joinには、名前のパスを作成するアイデアがあります。 –

+0

私は解決策を見つけたと思う、もう一度ありがとう、良い一日を! :) – Pagli

+1

@Pagliここに質問を閉じるためにあなたの解決策を掲示してください。 –

答えて

0

次の式は、任意のフォルダに重複するファイル/フォルダ名が存在するかどうかをチェックします。パス名が重複していないかどうかを確認するのに十分なはずです。

//*[self::RootFolder|self::Folder][count(distinct-values(*/Name))!=count(File|Folder)] 

パスセパレータがファイル/フォルダ名で使用されていないことを確認する追加チェックが必要です。