http://docs.oasis-open.org/security/saml/v2.0/saml-schema-assertion-2.0.xsd
https://www.w3.org/tr/2002/rec-xmldsig-core-20020212/xmldsig-core-schema.xsd
这两个XSD文档都定义了元素、属性、attributeGroups和/或自引用同一文档内其他定义的类型。在第一种情况下,这些类型似乎是使用SAML
命名空间别名/绑定来命名的。示例:
<attributeGroup ref="saml:IDNameQualifiers"/>
<element ref="ds:SignedInfo"/>
targetNamespace="urn:oasis:names:tc:SAML:2.0:assertion"
第二个问题也是如此:
targetNamespace="http://www.w3.org/2000/09/xmldsig#"
但是,将第一个文件别名为SAML
而将第二个文件别名为DS
仅仅是一种惯例吗?如果是的话,我们可以到哪里去寻找这些惯例呢?如果不是,如何解析这些名称空间?
命名空间绑定是在架构的根元素中用xmlns:
属性定义的(最佳做法是这样的):
saml-schema-assertion-2.0.xsd
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
[...]
targetNamespace="urn:oasis:names:tc:SAML:2.0:assertion"
[...]>
xmldsig-core-schema.xsd
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
targetNamespace="http://www.w3.org/2000/09/xmldsig#"
[...]>
<xs:attribute name="ref" type="xs:QName"/>
<xs:attribute name="type" type="xs:QName"/>
<!-- observe how the declaration for the type attribute uses itself! -->
我有一个XML文件,其结构如下: XSD模式: 和可视化的XSL文件(学生tylesheet.xsl): 我目前正在学习一门关于XML的短期课程,任务是在XML文件中构建给定的XSD模式和一些示例记录,然后最终使用XSLT将内容可视化为超文本标记语言。其中一项任务指出,我需要使用“urn:学生”作为结构的默认命名空间。然而,当我这样做的时候,我不会在最终的可视化中收到数据。当我从XML文件中删除“
在这一节中,我们将探索JavaScript中关于命名空间的模式。命名空间可被看作位于一个唯一标识符下的代码单元的逻辑组合。标识符可以被很多命名空间引用,每一个命名空间本身可以包含一个分支的嵌套命名空间(或子命名空间)。 在应用开发过程中,出于很多原因,我们都要使用命名空间。在JavaScript中,它们帮助我们避免在全局空间中于其他对象或者变量出现冲突。它们对于在代码库中组织功能块也非常有用,这样
除了具有不同名称空间的属性外,我在大多数情况下都能够使用XSOM解析XSD。对于本例,我希望获得枚举值“9901001”的属性“t:deprecated”。下面是一个示例XSD:
关于术语的一点说明: 请务必注意一点,TypeScript 1.5里术语名已经发生了变化。 “内部模块”现在称做“命名空间”。 “外部模块”现在则简称为“模块”,这是为了与ECMAScript 2015里的术语保持一致,(也就是说 module X { 相当于现在推荐的写法 namespace X {)。 这篇文章将概括介绍在TypeScript里使用模块与命名空间来组织代码的方法。 我们也会谈及
关于术语的一点说明: 请务必注意一点,TypeScript 1.5里术语名已经发生了变化。 “内部模块”现在称做“命名空间”。 “外部模块”现在则简称为“模块”,这是为了与ECMAScript 2015里的术语保持一致,(也就是说 module X { 相当于现在推荐的写法 namespace X {)。 介绍 这篇文章将概括介绍在TypeScript里使用模块与命名空间来组织代码的方法。 我们也
谢谢你抽出时间。 问候,