Jac*_*ter 10 html html5 visual-studio-2012
Visual Studio 2012 html编辑器坚持要求我对检测到或配置的html架构中找不到的标记名称发出警告.
当我使用Google的AngularJs时,这种行为不方便,因为它充分利用了所有主流浏览器都允许将自定义标签输入DOM的事实.
有没有办法提供自定义验证架构,还是我坚持使用Microsoft提供的硬编码架构?
请注意
我知道您可以通过取消选中工具 - >选项 - >文本编辑器 - > HTML->验证 - >显示错误来完全禁用验证.但是,我不想完全禁用验证.
如果您愿意编辑验证规则文件,则C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Packages\schemas\html\html_5.xsd
可以消除与Angularjs元素指令相关的验证错误.
首先备份原始的xsd文件.定义元素并将其添加到文件中.必要时修改相关的父元素.保存并重启VS2012.您的元素指令将不再生成HTML5验证错误.
例如,给定一个元素指令'schema-form-fields':
以下修改的字段集和新的schema-form-fields声明消除了不必要的验证错误.
<xsd:element name="fieldset">
<xsd:complexType mixed="true">
<xsd:choice>
<xsd:element name="legend" type="legendType" minOccurs="0" maxOccurs="1" />
<xsd:element ref="schema-form-fields" minOccurs="0" maxOccurs="1"/>
<xsd:group ref="flowContent" />
</xsd:choice>
<xsd:attributeGroup ref="commonAttributeGroup" />
<xsd:attribute name="disabled" vs:standalone="true" />
<xsd:attribute name="form" vs:associatedcontrolid="form" />
<xsd:attribute name="name" />
</xsd:complexType>
</xsd:element>
<xsd:element name="schema-form-fields">
<xsd:complexType mixed="true">
<xsd:attribute name="fields" type="xsd:string" use="required" />
<xsd:attribute name="model" type="xsd:string" use="required" />
<xsd:attribute name="schema" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
Run Code Online (Sandbox Code Playgroud)