对于elementformdefault的设置有两种:"qualified" 或者 "unqualified"。
1. 对于设置为"unqualified"的设定, 网上说法时可以没有前缀,但是今天做项目时发现,虽然元素可以失去前缀,但是build出来的jar中对于没有前缀的元素也会失去uri,也就是出现QName("",元素名)的情况,一般来说,解析xml时可以通过寻找元素的前缀来寻找相对应的schema来读取对应数值,但是,在这种设定下,由于失去前缀,解析xml时会出现错误,读取不到相应数值。
2.对于设置为”qualified“的设置,jar中每个元素都会有对应的前缀,也可以没有前缀,没有前缀的话就默认使用targetnamespace的设定,也就是每个元素在jar中也是QName("uri","元素名)这种格式,在解析xml时能读取相应数值。
本blog为提醒自己在工作上曾经遇到的问题。谢谢。