我可以自动将XSD架构与XML文档关联

时间:2017-01-12 10:49:18

标签: liquid-xml

我使用Liquid XML编辑了很多XML文件,我可以通过添加schemaLocation属性将模式与文档相关联,但这是不切实际的,因为我有很多文件而且我不能保留属性,因为上游处理器不喜欢它!

他们是否可以将架构与一组文件相关联?

1 个答案:

答案 0 :(得分:0)

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

架构位置属性

如果XML文档包含架构位置属性(xsi:noNamespaceSchemaLocation或xsi:schemaLocation属性),则指向的架构将被加载并用于验证和智能感知。

<强>命名空间

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

手动关联架构

您可以手动将架构与XML文件关联。使用&#34; Xml文档到架构映射&#34;用于选择模式库中现有条目的表单,或者&#34;添加模式文件&#34;选择单个XSD文件以与XML文档关联。然后记住这些设置,然后打开XML文件。如果您的XML文件不包含目标命名空间,则此功能特别有用,因为无法进行自动匹配。

手动将架构与XML文件关联

您可以使用&#34; Xml Document to Schema Mappings&#34;来控制与XML文件关联的模式。形式。

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

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

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

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

添加自己的架构库条目

如果您有一组不在标准库中的模式,您可以添加自己的条目。

enter image description here

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

最后答案

如果您的XML文档都在给定的命名空间中,那么最好的办法是创建一个Schema Library Entry。这将自动与包含该命名空间的任何XML文档相关联,因此您将自动获得验证和智能感知。