如何使用XInclude从另一个XML引用XML ID,而Webstorm不会将其标记为错误?
我有以下XML文件: 主文件如何使用XInclude从另一个XML引用XML ID,而Webstorm不会将其标记为错误?,xml,xsd,webstorm,xinclude,idref,Xml,Xsd,Webstorm,Xinclude,Idref,我有以下XML文件: 主文件 <?xml version="1.0" encoding="utf-8" standalone="no"?> <template_structure xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> xsi:no
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<template_structure xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
xsi:noNamespaceSchemaLocation="template_structure_validator.xsd">
<xi:include href="parameter_definitions.xml" parse="xml"/>
<parameters>
<parameter idref="first_param" value="10"/>
</parameters>
</template_structure>
xsi:noNamespaceSchemaLocation=“template_structure_validator.xsd”>
参数定义.xml
<parameter_definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="template_structure_validator.xsd">
<def_parameter id="first_param" advanced="true">
<description>
first parameter
</description>
</def_parameter>
<def_parameter id="second_param" advanced="true">
<description>
second parameter
</description>
</def_parameter>
</parameter_definitions>
第一参数
第二个参数
模板\结构\验证程序.xsd:
<xs:element name="parameter_definitions">
<xs:complexType>
<xs:sequence>
<xs:element ref="def_parameter" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="def_parameter">
<xs:complexType>
<xs:sequence>
<xs:element ref="description"/>
</xs:sequence>
<xs:attribute name="id" use="required" type="xs:ID"/>
<xs:attribute name="advanced" use="required" type="xs:boolean"/>
</xs:complexType>
</xs:element>
<xs:element name="parameters">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="parameter"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="parameter">
<xs:complexType>
<xs:attribute name="idref" use="required" type="xs:IDREF"/>
<xs:attribute name="value" use="required" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="js_template_structure">
<xs:complexType>
<xs:sequence>
<xs:element ref="parameter_definitions"/>
<xs:element ref="parameters"/>
</xs:sequence>
</xs:complexType>
</xs:element>
当我用Webstorm加载它们时,我得到一个错误
“first_param”在主文件中未解析。如何修复它?IDREF要求为属性指定的值也在文档中的其他位置指定为ID属性值。IDREF值必须作为ID值出现在其他位置:
<xs:attribute name="id" type="xs:ID" use="required"/>
<!--...-->
<xs:attribute name="idref" use="required" type="xs:IDREF"/>
IDREF要求为属性指定的值也在文档的其他地方指定为ID属性值。IDREF值必须作为ID值出现在其他位置:
<xs:attribute name="id" type="xs:ID" use="required"/>
<!--...-->
<xs:attribute name="idref" use="required" type="xs:IDREF"/>
您可以在上面的template_structure_validator.xsd中看到,我将id属性值定义为的属性看起来像id,idref源必须是id。您可以在上面的template_structure_validator.xsd中看到,我将id属性值定义为的属性看起来像id,idref源必须是id。