0

Windows 環境で作成されたスタンドアロンの XML プロセッサを介して実行すると、適切な .html ファイルを生成するこの XML と XSL があります。

コマンドラインでSaxonを使用して、LinuxのXSLファイルでXMLを変換しようとしています。

XSL は、一部の RegEx 機能を含む外部 .xsl を利用します。ここで、EXSLT.org が活躍します。含まれている regexp.test.msxsl.xsl ファイルがあります。

java -jar /path/to/saxon.jar -O test.html my.xml my.xsl を実行すると

私は得る

ファイル:my.xsl の 63 行目の xsl:choose でエラーが発生しました:
URI: http://exslt.org/regular-expressionsは外部 Java クラスを識別しません 変換に失敗しました。

Windows のソース コードは C# です。私は、正規表現機能を含む外部 xsl ファイルが Windows 環境向けであり、Java で使用することを意図していないことを前提としています。

基本的にXML部分はこれです

<xsl:when test="(string(@IfIs)="") or (not(regex:test(string($input_doc//inf[@id='5']), string(@IfIs), 'i')))">

誰かがXLST 2.0で正規表現を行う方法を知っていない限り?

4

2 に答える 2

2

誰かがXLST 2.0で正規表現を行う方法を知っていない限り?

テストで正規表現を使用しているだけの場合は、matches()( http://www.w3.org/TR/xpath-functions/#string.match )を使用します。

上記のリンクにはtokenize()とも含まreplace()れています。

複雑な文字列操作を行う必要がある場合は、xsl:analyze-string( http://www.w3.org/TR/xslt20/#element-analyze-string )を参照してください。

于 2013-11-01T22:52:41.753 に答える