hqt*_*hqt 11 java xml sax terminology
在Java中, Handler
类包含名称为startElement
.this方法具有原型的方法:
public void startElement(String uri, String localName, String qName, Attributes attributes)
我在Oracle Java网站上看过,但我还是不明白它localName
和qName
参数之间的区别.他们解释说:
localName - 本地名称(不带前缀),如果未执行名称空间处理,则为空字符串.qName - 限定的XML 1.0名称(带前缀),如果限定名称不可用,则为空字符串.
在上面的定义中,我不知道一些概念:( prefix
前缀是什么?)Namespace
请给我一些关于这些参数的解释(尽可能简单).
谢谢 :)
Rya*_*ord 29
作为示例,我将引用以下XML示例:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)
命名空间是定义元素的逻辑容器.XML Schema名称空间(使用uri:http://www.w3.org/2001/XMLSchema).在上面的文档中,它在第2行引用.XML文档处理可以使用XML解析器进行,该XML解析器可以是名称空间感知的,但是使用名称空间的文档通常需要由名称空间感知的解析器来解析.
定义命名空间,以便a)它们可以由解析器和b)编目,以便不同命名空间中具有相同名称的元素可以存在于同一文档中,而不会被模糊定义.
前缀是用于引用命名空间的简写键.在上面的示例中,xs
用于引用XML Schema名称空间.
文档中的元素具有在命名空间中定义的名称.在上面的例子中,你可以找到schema
,element
,complexType
,sequence
,和element
当地的名字.如果文档中引用了多个名称空间,并且其中一个或多个名称空间定义了具有相同名称的元素,则本地名称可能不明确.
限定名称由命名空间的前缀组成(可选地,某些实现可以使用命名空间uri),后跟a :
,后跟元素的本地名称.在上面的例子中,你可以找到xs:schema
,xs:element
,xs:complexType
,xs:sequence
,并xs:element
为合格的名字.这些名称是明确的,可以由解析器处理并验证.
归档时间: |
|
查看次数: |
9522 次 |
最近记录: |