私はその後、相対的な名前空間を使用した検証署名しようとしていますXMLの部分を持っている:XML - 相対ネームスペースが無効とみなされるのはなぜですか?
org.apache.xml.security.c14n:
<Organization> <OrganizationName xmlns:_xml="xml" _xml:lang="en">name</OrganizationName> <OrganizationDisplayName xmlns:_xml="xml" _xml:lang="en">name</OrganizationDisplayName> <OrganizationURL xmlns:_xml="xml" _xml:lang="en">http://www.example.com/</OrganizationURL> </Organization>
OpenSAMLは、次の例外がスローされます。 CanonicalizationException:要素 組織名は、相対的な名前空間を持っています_XML = "XML"
はなぜ相対的な名前空間は悪いと考えていますか?確かにパーサーは真の値を解析するときに名前空間を解決できるだけでしょうか?
EDITは:相対URI参照のこの廃止は、W3C XML総会の投票[相対URI廃止]の定めた
:セクション2.2の下にいくつかの詳細
Namespaces in XML 1.1文書の状態を発見しました。また、 "DOM、XPathなどの後の仕様では、 の解釈は定義されません"と宣言しています。
これは、Ballot on relative URI Referencesで投票されました。
ここで絶対名前空間URIを使用しない理由は何ですか? – Tomalak
crewjam/samlプロジェクト[marshalled](https://github.com/crewjam/saml/blob/master/metadata.go#L107)このように – smokedice