01spring源码分析-XML Schema

在分析spring和dubbo服务端相关联的时候分析到dubbo里面的ServiceBean这个对象是如何被spring创造出来的?通过我的多方查找最后发现ServiceBean的来源是xml解析的过程中获得的。在dubbo配置文件的命名空间声明时有这么一段

http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd

上面的dubbo.xsd就是我们这里要学习的XML Schema,今天我们只针对dubbo.xsd文件分析XML Schema具体细节大家可以自行参考XML Schema 教程首先可以看一下所有的元素都被包含在标签里面,然后是xmlns:xsd="http://www.w3.org/2001/XMLSchema"这句的意思是使用w3里面的XMLSchema标签,并且使用命名空间为xsd也就是如果需要使用XMLSchema里面的标签需要加上xsd例如:


        
            
                
                    
                        
                    
                

在dubbo.xsd文件中使用XML Schema命名空间的标签最常用的是:

  • xsd:complexType:表示自定义了一个复合类型,这个复合类型可以被其他的attribute使用
  • xsd:complexContent:表示定义的复合类型里面的内容是什么
  • xsd:attribute:定义一个属性,这个属性有name和type。其中type可以是XMLSchema里面的基本类型(String,int)也可以是我们自定义的复合类型。
  • xsd:element 定义一个元素,一般包含name和type,name表示在使用当前dubbo.xsd的xml文件里面使用的标签名称。例如



    
        
            
            
                
                    
                
            
        
    

定义的复合类型的作用是什么了?

  • 规范了我们使用标签的名字和里面的各种属性
  • 可以通过spring来帮我们扩展namespace

你可能感兴趣的:(01spring源码分析-XML Schema)