gpt4 book ai didi

XML 命名空间和模式定位属性?

转载 作者:数据小太阳 更新时间:2023-10-29 02:27:43 26 4
gpt4 key购买 nike

在许多 xml 示例中,我看到许多名称模式甚至不在 xml 中使用,如下例所示,我们将名称模式定义为 xsiaop 和一个默认值命名空间。如果我们不使用它们,定义它们的目的是什么。没有附加 xml,因为它很大。

第二个问题是:- 假设我们使用这个 nameschemas.. 我们通常用一些网址定义 namechemas 和 schemalocation 的值像 http://someAddress//。如果我们用一些任意值(如 ABC 或其他值)来定义它们会怎样。会有什么不同吗?有没有我们如何处理这些网址?

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/
schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema
/aop/spring-aop-2.0.xsd">

另一个问题是我们只为 xsi 命名空间定义了 schemalocation 而不是为 aop 命名空间。为什么这样?

最后一个问题是我们可以定义命名空间 xsi1 而不是 xsi 吗?有什么影响吗

最佳答案

通常情况下,如果文档中未使用命名空间绑定(bind),则该命名空间的声明是多余的,可以安全地省略(相反,它在那里不会造成任何伤害。)我说应该如此,但也有异常(exception)。一种是 DTD 验证,它有时需要特定元素上是否存在特定 namespace 声明(DTD 处理不支持 namespace ,因此它将 namespace 视为属性)。另一个相当罕见的异常(exception):我见过 XML 词汇表,其中 namespace 声明用于传达语义,而不是简单地声明 namespace 前缀的绑定(bind),例如它可能指示版本信息。这是糟糕的 XML 设计,但有很多糟糕的 XML 设计。

至于 xsi:schemaLocation,一些工具/应用程序会忽略它,其他工具/应用程序可能会将其解释为针对在特定位置找到的模式执行模式验证的请求。

关于XML 命名空间和模式定位属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6495975/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com