1

複数行の文字列が有効ではないことに気づきましたxsd:stringXML 1.1仕様によれば、にxsd:string一致する文字のみを含めることができます[\u1-\uD7FF]|[\uE000-\uFFFD]|[\u10000-\u10FFFF]が、改行は一致しません。JavaScriptの場合:

/[\u1-\uD7FF]|[\uE000-\uFFFD]|[\u10000-\u10FFFF]/.test("\n");
// returns false

これを考えると、複数行の文字列に有効なXSDデータ型は何ですか?

4

2 に答える 2

1

改行は\u000Aで、許容範囲内です。

あなたの正規表現には私に飛びつくような問題はありませんが、あなたのテストが問題です。

編集:正規表現に関するMozillaのドキュメントによると、Unicodeエスケープは4桁の16進数を使用します。あなたの問題は、あなたがあなたのテストに高い飛行機を含めていることだと思います。ECMA仕様を確認していませんが、これが正規表現に問題を引き起こしていると考えられます。

于 2012-08-27T14:12:39.170 に答える
1

XML 1.1 仕様が実際に述べていることは、

Char       ::=      [#x1-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]

そして、#xAを除いて、誰もがそれをどのように読むことができるかわかりません.

于 2012-08-27T19:34:51.093 に答える