XML加密模式下的Schema映射与解密视图合成
在XML元素级加密场景中,生成部分可见的Schema视图,并动态合成解密后结构。 · 难度:入门 · +10XP
加密感知的Schema映射
当XML文档中某些元素使用xmlenc:EncryptedData加密时,标准Schema验证会失败。本教程定义enc:decryptView组件:一个XSLT变换将加密元素替换为对应的解密后类型声明。使用ENC_前缀标记加密元素,配合<xs:any processContents="skip">跳过验证。重点:如何处理混合加密(部分子元素加密、部分明文),以及用xsl:key管理密钥映射关系。注意EncryptedType与#PCDATA的冲突解决。
<xs:element name="secureData">
<xs:complexType>
<xs:sequence>
<xs:any namespace="http://www.w3.org/2001/04/xmlenc#"
processContents="lax"/>
</xs:sequence>
</xs:complexType>
</xs:element>