E4X教程[4] - 命名空间
E4X 与 命令空间
通常情况下,XML 文档包含来自多种命令空间的元素。你可以通过声明为你的 E4X 对象设置默认的命名空间。
default xml namespace = "http://www.w3.org/1999/xhtml";
通过重复的声明,你可以随时更改相同范围内 E4X 的命名空间。
default xml namespace = "http://www.w3.org/1999/xhtml"; var a = <p>Some text</p>; default xml namespace = "http://www.mozilla.org/keymaster/gat...re.is.only.xul"; var b = <label>More text</label>; a.appendChild(b);
得出
<p xmlns="http://www.w3.org/1999/xhtml"> Some text <label xmlns="http://www.mozilla.org/keymaster/gat...re.is.only.xul">More text</label> </p>
name()
在 XML 对象上调用 name() 会返回一个 QName 对象(Qualified Name)。QName 在支持 E4X 的 JavaScript 实现中是一个全局的构造函数。QName 对象有两个特别重要的属性:localName 返回元素的名字,且没有任何命名空间前缀;uri 返回元素所在的命名空间。
var info = a.name(); info.localName; // returns 'p'. info.uri; // returns "http://www.w3.org/1999/xhtml"
没有在任何命令空间的元素,他们的 uri 是一个空字符串。
Namespace 全局构造函数和 QName 非常相似。Namespace 的不同之处是 toString 方法,以及 Namespace 用 prefix 属性来代替 localName 属性[1] 。
关于 E4X 的命名空间,更多的内容请参见 Processing XML with E4X 。
译者注
- 原文中没有详细讲,获得 Namespace 对象的方法是调用 .namespace()。其中 QName 的 toString 方法会输出 Namespace::name 的形式,而 Namespace 的 toString 只会输出命名空间。
为方便其他朋友提问和指正,转载是请保持文章完整性,并以超链接形式注明原始作者“redraiment ”和主站点 地址,谢谢。
联系方式
我的邮箱,欢迎来信(redraiment@gmail.com
)
我的CSDN博客(梦婷轩
):http://blog.csdn.net/redraiment
我的百度空间(梦婷轩
):http://hi.baidu.com/redraiment
相关文章
- dispose java_Java Context.dispose方法代码示例
- python httplib 模块
- 在中国区使用 Amazon IoT 和 Amazon SageMaker 进行设备实时预测性维护
- AWS Cloud Builders – 职业跨界与个人成长
- Amazon QuickSight Q – 使用自然语言的业务情报问题
- 即将推出 – AWS 新西兰区域
- AWS IQ 扩展:与英国和法国的专家和咨询公司联系
- AWS 如何支持受飓风艾达影响的非营利组织、政府和社区
- 在Amazon EKS中获取客户端真实源IP不同方式
- 新增 – 用于实时多流视频转码的 Amazon EC2 VT1 实例
- 专为构建者打造:AWS 和开放式 3D 引擎的故事 — 开发人员预览
- DeepRacer解决无法登录Console以及模型失效的方法
- 使用AWS 媒体服务构建全球直播解决方案
- 监控告警一点通:在CloudWatch上为 EC2批量添加告警
- 基于ECS Fargate构建Apache Superset
- 【Java】Java实现批量打包文件Zip下载
- 使用Amazon SageMaker部署CVAT AI自动图像标注系统
- Amazon EKS Anywhere – 现已正式发布,可在本地创建和管理 Kubernetes 集群
- 基于 IAM 权限边界的 SCP 替代方案
- EMR与外部KDC集成进行身份认证