当前位置:  开发笔记 > 编程语言 > 正文

基于W3C XML Schema的emacs中的模式敏感编辑?(不是RNG)

如何解决《基于W3CXMLSchema的emacs中的模式敏感编辑?(不是RNG)》经验,为你挑选了2个好方法。

我刚刚了解到,在这里,约nxml模式,其中,根据自述,是

GNU Emacs用于编辑XML文档的主要模式.它支持编辑格式良好的XML文档,还使用RELAX NG Compact语法提供对XML文档的模式敏感编辑.

有没有一种模式可以为W3C XML Schema做同样的事情?

如果我找不到这样的东西,那么无论如何nxml-mode对我有用,假设我严格处理W3C XML Schema而不是Relax-NG?

相关:VIM中的模式感知编辑



1> Alex Ott..:

只需使用XSD到RNG转换器,像这样



2> Cheeso..:

我尝试了一个相当简单的XSD架构 - 一个定义了4种不同类型的元素.在nxml-mode中使用这个模式需要我运行3次XSL转换:

XsdToRNG.xsl - 来自 Alex Ott建议的googlecode.生成RNG XML语法.

RNGToRncXml.xsl - 来自Pantor.这适用于RNG XML语法,并生成模式的"中间"表示,它不是{XSD,RNG,RNC}

RNGToRncText.xsl - 也来自Pantor.以中间格式运行以生成RNC.(RNG Compact Syntax),这是nxml-mode想要的.

[在此之前我没有意识到有两种类型的RNG.]

结果是一个相当紧凑的RNC文件,甚至可以理解.

我也尝试使用XSLT XSD做同样的事情,得到了类似的积极结果:一个好的.rnc文件用于nxml-mode.事实证明这是不必要的,因为nxml-mode附带了一个用于XSLT的RNC.但它让我相信更复杂的.XSD文件可以转换为.RNC.

获得.RNC后,您可以使用它来指导编辑XML文档.打开doc(可能是一个新的空文档),如果没有自动为您完成,请确保运行nxml-mode.然后使用Cc Cs Cf将模式与nxml-mode中的该文档相关联.这仅在第一次编辑文档时才有必要 - 此后模式可以自动与文档关联.

将模式与文档关联后,您将获得模式敏感完成(即intellisense)和验证.nxml-mode商店使用.rnc架构,用于XSLT,Docbook,以及有趣的RNG Xml语法等.

它需要一点设置,但它的工作原理.

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有