2017-01-12 93 views
0

我正在使用Liquid XML编辑大量XML文件,我可以通过添加schemaLocation属性将架构与文档相关联,但这样做不实用,因为我有很多的文件,我不能保留属性,因为上游处理器不喜欢它!我可以自动将XSD架构与XML文档关联

他们是我可以将模式与一组文件关联的方式吗?

回答

0

有几种将XSD架构与XML文档关联的方法。

架构位置属性

如果XML文档包含一个模式位置属性(的xsi:noNamespaceSchemaLocation或的xsi:属性的schemaLocation),则模式指向被加载并用于验证和智能。

命名空间

在XML文件中声明的命名空间用来查找从架构库架构。如果XML文件中的名称空间与模式库中的条目相匹配,则会加载该条目的所有模式。您也可以将您自己的条目添加到架构库(更多关于下面的内容)。

手动关联模式

您可以手动关联与您的XML文件的架构。使用“Xml Document to Schema Mappings”表单来选择架构库中的现有条目,或者“添加架构文件”来选择单个XSD文件以与XML文档相关联。然后记住这些设置,然后下次打开XML文件。如果你的XML文件不包含目标命名空间,这是特别有用的,因为自动匹配因此是不可能的。


手动的模式与XML文件

,您可以控制与使用“XML文档架构映射”形式的XML文件相关的模式相关联。

enter image description here 该窗体显示已添加到架构库的所有架构。列表顶部是已经在XML文档中找到的模式(即,通过xsi:noNamespaceSchemaLocation或xsi:schemaLocation属性)。

选中 - 明确包含的模式。无论名称空间是否出现在XML文档中,都会使用该模式。将模式与不包含任何名称空间信息的XML文档相关联时,这会很有用。

未检查 - 明确排除模式。不管其名称空间是否与XML文档匹配,架构将使用而不是。当您拥有同一模式的多个版本,并且它们都具有相同的命名空间或架构如此之大时,智能感知会将XML编辑器降低到令人无法接受的程度,这非常有用。

不确定 - 自动模式选择。如果模式条目中的名称空间与XML文件中的名称空间匹配,则将使用此条目。 这是所有条目的默认状态。


加上你自己的架构库入口

如果你有一组是不是在标准库,你可以添加你自己的条目架构的。

enter image description here

注意您可以添加不一定相互关联的多个模式文件,比方说FIXML包含在文档中包含XHTML注释,你还可以添加XHTML模式。如果您这样做了,从列出的触发器命名空间中取消选择XHTML命名空间是一个好主意(因此,只有在打开FIXML文档时才打开XHTML文档时不使用此标准)。


,最后应答

如果你的XML文档都在一个给定的命名空间最好的办法是建立一个架构库条目。这将自动与包含该名称空间的任何XML文档关联,因此您将自动获得验证和智能感知。