为何Visual Studio XML编辑器中xmlns属性无法作用于子元素?
问题说明

如图所示,“不可用”和“可用”版本之间,唯一区别是前者所有位置都使用了“this”前缀。
默认命名空间xmlns属性的核心作用不就是避免这类问题吗?我是不是操作有误?
提供的XSD代码
<?xml version="1.0" encoding="utf-8"?> <xsd:schema targetNamespace="Ember.Graphics.OpenGL" elementFormDefault="qualified" attributeFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="Ember.Graphics.OpenGL" > <xsd:element name="UniformBlock"> <xsd:complexType> <xsd:sequence> <xsd:element name="BlockMember" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:attribute name="type" use="required" type="Types"/> <xsd:attribute name="name" use="required" type="xsd:string"/> </xsd:complexType> </xsd:element> </xsd:sequence> <xsd:attribute name="name" use="required" type="xsd:string"/> <xsd:attribute name="instanceName" use="optional" type="xsd:string"/> <xsd:attribute name="layout" use="optional" type="xsd:string"/> </xsd:complexType> </xsd:element> <xsd:simpleType name="Types"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="mat4"/> <xsd:enumeration value="mat3"/> <xsd:enumeration value="vec3"/> <xsd:enumeration value="vec4"/> <xsd:enumeration value="float"/> </xsd:restriction> </xsd:simpleType> </xsd:schema>
“可用”的XML示例(略有修改)
<?xml version="1.0" encoding="utf-8"?> <x:UniformBlock xmlns:x="Ember.Graphics.OpenGL" > <x:BlockMember x:type="mat4" x:name="WorldToCamera" /> </x:UniformBlock>
内容的提问来源于stack exchange,提问作者TheHelpfulHelper
相关产品推荐
相关产品推荐

