# QName

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Ctors](https://developer.android.com/reference/javax/xml/namespace/QName#pubctors)\|[Methods](https://developer.android.com/reference/javax/xml/namespace/QName#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/javax/xml/namespace/QName#inhmethods)  

# QName

`
public


class
QName
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


implements

`[Serializable](https://developer.android.com/reference/java/io/Serializable)`


`

|---|---------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | javax.xml.namespace.QName |

<br />

*** ** * ** ***

<br />

`QName`represents a**qualified name** as defined in the XML specifications:[XML Schema Part2: Datatypes specification](http://www.w3.org/TR/xmlschema-2/#QName),[Namespaces in XML](http://www.w3.org/TR/REC-xml-names/#ns-qualnames),[Namespaces in XML Errata](http://www.w3.org/XML/xml-names-19990114-errata).

The value of a`QName`contains a**Namespace URI** ,**local part** and**prefix**.

The prefix is included in`QName`to retain lexical information***when present*** in an[XML input source](https://developer.android.com/reference/javax/xml/transform/Source). The prefix is***NOT*** used in[QName.equals(Object)](https://developer.android.com/reference/javax/xml/namespace/QName#equals(java.lang.Object))or to compute the[QName.hashCode()](https://developer.android.com/reference/javax/xml/namespace/QName#hashCode()). Equality and the hash code are defined using***only***the Namespace URI and local part.

If not specified, the Namespace URI is set to[XMLConstants.NULL_NS_URI](https://developer.android.com/reference/javax/xml/XMLConstants#NULL_NS_URI). If not specified, the prefix is set to[XMLConstants.DEFAULT_NS_PREFIX](https://developer.android.com/reference/javax/xml/XMLConstants#DEFAULT_NS_PREFIX).

`QName`is immutable.

<br />

**See also:**

- [XML Schema Part2: Datatypes specification](http://www.w3.org/TR/xmlschema-2/#QName)
- [Namespaces in XML](http://www.w3.org/TR/REC-xml-names/#ns-qualnames)
- [Namespaces in XML Errata](http://www.w3.org/XML/xml-names-19990114-errata)

## Summary

|                                                                                                                                                                                                                              ### Public constructors                                                                                                                                                                                                                               ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[QName](https://developer.android.com/reference/javax/xml/namespace/QName#QName(java.lang.String))`(`[String](https://developer.android.com/reference/java/lang/String)` localPart) ` <br /> `QName`constructor specifying the local part.                                                                                                                                                                                                                                   |
| ` `[QName](https://developer.android.com/reference/javax/xml/namespace/QName#QName(java.lang.String,%20java.lang.String))`(`[String](https://developer.android.com/reference/java/lang/String)` namespaceURI, `[String](https://developer.android.com/reference/java/lang/String)` localPart) ` <br /> `QName`constructor specifying the Namespace URI and local part.                                                                                                          |
| ` `[QName](https://developer.android.com/reference/javax/xml/namespace/QName#QName(java.lang.String,%20java.lang.String,%20java.lang.String))`(`[String](https://developer.android.com/reference/java/lang/String)` namespaceURI, `[String](https://developer.android.com/reference/java/lang/String)` localPart, `[String](https://developer.android.com/reference/java/lang/String)` prefix) ` <br /> `QName`constructor specifying the Namespace URI, local part and prefix. |

|                                                                                                                                                                ### Public methods                                                                                                                                                                ||
|--------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` final boolean`                                                                     | ` `[equals](https://developer.android.com/reference/javax/xml/namespace/QName#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` objectToTest) ` <br /> Test this`QName`for equality with another`Object`.    |
| ` `[String](https://developer.android.com/reference/java/lang/String)                | ` `[getLocalPart](https://developer.android.com/reference/javax/xml/namespace/QName#getLocalPart())`() ` <br /> Get the local part of this`QName`.                                                                                                         |
| ` `[String](https://developer.android.com/reference/java/lang/String)                | ` `[getNamespaceURI](https://developer.android.com/reference/javax/xml/namespace/QName#getNamespaceURI())`() ` <br /> Get the Namespace URI of this`QName`.                                                                                                |
| ` `[String](https://developer.android.com/reference/java/lang/String)                | ` `[getPrefix](https://developer.android.com/reference/javax/xml/namespace/QName#getPrefix())`() ` <br /> Get the prefix of this`QName`.                                                                                                                   |
| ` final int`                                                                         | ` `[hashCode](https://developer.android.com/reference/javax/xml/namespace/QName#hashCode())`() ` <br /> Generate the hash code for this`QName`.                                                                                                            |
| ` `[String](https://developer.android.com/reference/java/lang/String)                | ` `[toString](https://developer.android.com/reference/javax/xml/namespace/QName#toString())`() ` <br /> `String`representation of this`QName`.                                                                                                             |
| ` static `[QName](https://developer.android.com/reference/javax/xml/namespace/QName) | ` `[valueOf](https://developer.android.com/reference/javax/xml/namespace/QName#valueOf(java.lang.String))`(`[String](https://developer.android.com/reference/java/lang/String)` qNameAsString) ` <br /> `QName`derived from parsing the formatted`String`. |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](https://developer.android.com/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.                                                          | | ` final `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long,%20int))`(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed. | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long))`(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed.                   | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*.                                                                                             | ||

## Public constructors

### QName

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public QName (String localPart)
```

<br />

`QName`constructor specifying the local part.

If the local part is`null`an`IllegalArgumentException`is thrown. A local part of "" is allowed to preserve compatible behavior with QName 1.0.

When using this constructor, the Namespace URI is set to[XMLConstants.NULL_NS_URI](https://developer.android.com/reference/javax/xml/XMLConstants#NULL_NS_URI)and the prefix is set to[XMLConstants.DEFAULT_NS_PREFIX](https://developer.android.com/reference/javax/xml/XMLConstants#DEFAULT_NS_PREFIX).

*In an XML context, all Element and Attribute names exist in the context of a Namespace. Making this explicit during the construction of a`QName`helps prevent hard to diagnosis XML validity errors. The constructors[QName(String
namespaceURI, String localPart)](https://developer.android.com/reference/javax/xml/namespace/QName#QName(java.lang.String,%20java.lang.String))and[QName(java.lang.String, java.lang.String, java.lang.String)](https://developer.android.com/reference/javax/xml/namespace/QName#QName(java.lang.String,%20java.lang.String,%20java.lang.String))are preferred.*

The local part is not validated as a[NCName](http://www.w3.org/TR/REC-xml-names/#NT-NCName)as specified in[Namespaces in XML](http://www.w3.org/TR/REC-xml-names/).

<br />

<br />

|                       Parameters                       ||
|-------------|-------------------------------------------|
| `localPart` | `String`: local part of the`QName` <br /> |

**See also:**

- [QName(String
  namespaceURI, String localPart)](https://developer.android.com/reference/javax/xml/namespace/QName#QName(java.lang.String,%20java.lang.String))
- [QName(String namespaceURI, String localPart, String
prefix)](https://developer.android.com/reference/javax/xml/namespace/QName#QName(java.lang.String,%20java.lang.String,%20java.lang.String))  

### QName

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public QName (String namespaceURI, 
                String localPart)
```

<br />

`QName`constructor specifying the Namespace URI and local part.

If the Namespace URI is`null`, it is set to[XMLConstants.NULL_NS_URI](https://developer.android.com/reference/javax/xml/XMLConstants#NULL_NS_URI). This value represents no explicitly defined Namespace as defined by the[Namespaces in XML](http://www.w3.org/TR/REC-xml-names/#ns-qualnames)specification. This action preserves compatible behavior with QName 1.0. Explicitly providing the[XMLConstants.NULL_NS_URI](https://developer.android.com/reference/javax/xml/XMLConstants#NULL_NS_URI)value is the preferred coding style.

If the local part is`null`an`IllegalArgumentException`is thrown. A local part of "" is allowed to preserve compatible behavior with QName 1.0.

When using this constructor, the prefix is set to[XMLConstants.DEFAULT_NS_PREFIX](https://developer.android.com/reference/javax/xml/XMLConstants#DEFAULT_NS_PREFIX).

The Namespace URI is not validated as a[URI reference](http://www.ietf.org/rfc/rfc2396.txt). The local part is not validated as a[NCName](http://www.w3.org/TR/REC-xml-names/#NT-NCName)as specified in[Namespaces in XML](http://www.w3.org/TR/REC-xml-names/).

<br />

<br />

|                          Parameters                          ||
|----------------|----------------------------------------------|
| `namespaceURI` | `String`: Namespace URI of the`QName` <br /> |
| `localPart`    | `String`: local part of the`QName` <br />    |

**See also:**

- [QName(String namespaceURI, String localPart, String
prefix)](https://developer.android.com/reference/javax/xml/namespace/QName#QName(java.lang.String,%20java.lang.String,%20java.lang.String))  

### QName

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public QName (String namespaceURI, 
                String localPart, 
                String prefix)
```

<br />

`QName`constructor specifying the Namespace URI, local part and prefix.

If the Namespace URI is`null`, it is set to[XMLConstants.NULL_NS_URI](https://developer.android.com/reference/javax/xml/XMLConstants#NULL_NS_URI). This value represents no explicitly defined Namespace as defined by the[Namespaces in XML](http://www.w3.org/TR/REC-xml-names/#ns-qualnames)specification. This action preserves compatible behavior with QName 1.0. Explicitly providing the[XMLConstants.NULL_NS_URI](https://developer.android.com/reference/javax/xml/XMLConstants#NULL_NS_URI)value is the preferred coding style.

If the local part is`null`an`IllegalArgumentException`is thrown. A local part of "" is allowed to preserve compatible behavior with QName 1.0.

If the prefix is`null`, an`IllegalArgumentException`is thrown. Use[XMLConstants.DEFAULT_NS_PREFIX](https://developer.android.com/reference/javax/xml/XMLConstants#DEFAULT_NS_PREFIX)to explicitly indicate that no prefix is present or the prefix is not relevant.

The Namespace URI is not validated as a[URI reference](http://www.ietf.org/rfc/rfc2396.txt). The local part and prefix are not validated as a[NCName](http://www.w3.org/TR/REC-xml-names/#NT-NCName)as specified in[Namespaces in XML](http://www.w3.org/TR/REC-xml-names/).

<br />

<br />

|                          Parameters                          ||
|----------------|----------------------------------------------|
| `namespaceURI` | `String`: Namespace URI of the`QName` <br /> |
| `localPart`    | `String`: local part of the`QName` <br />    |
| `prefix`       | `String`: prefix of the`QName` <br />        |

## Public methods

### equals

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public final boolean equals (Object objectToTest)
```

<br />

Test this`QName`for equality with another`Object`.

If the`Object`to be tested is not a`QName`or is`null`, then this method returns`false`.

Two`QName`s are considered equal if and only if both the Namespace URI and local part are equal. This method uses`String.equals()`to check equality of the Namespace URI and local part. The prefix is***NOT***used to determine equality.

This method satisfies the general contract of[Object.equals(Object)](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))

<br />

<br />

|                                    Parameters                                     ||
|----------------|-------------------------------------------------------------------|
| `objectToTest` | `Object`: the`Object`to test for equality with this`QName` <br /> |

|                                    Returns                                     ||
|-----------|---------------------------------------------------------------------|
| `boolean` | `true`if the given`Object`is equal to this`QName`else`false` <br /> |

### getLocalPart

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public String getLocalPart ()
```

<br />

Get the local part of this`QName`.

<br />

<br />

|                                               Returns                                                ||
|--------------------------------------------------------------------|----------------------------------|
| [String](https://developer.android.com/reference/java/lang/String) | local part of this`QName` <br /> |

### getNamespaceURI

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public String getNamespaceURI ()
```

<br />

Get the Namespace URI of this`QName`.

<br />

<br />

|                                                 Returns                                                 ||
|--------------------------------------------------------------------|-------------------------------------|
| [String](https://developer.android.com/reference/java/lang/String) | Namespace URI of this`QName` <br /> |

### getPrefix

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public String getPrefix ()
```

<br />

Get the prefix of this`QName`.

The prefix assigned to a`QName`might***NOT*** be valid in a different context. For example, a`QName`may be assigned a prefix in the context of parsing a document but that prefix may be invalid in the context of a different document.

<br />

<br />

|                                             Returns                                              ||
|--------------------------------------------------------------------|------------------------------|
| [String](https://developer.android.com/reference/java/lang/String) | prefix of this`QName` <br /> |

### hashCode

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public final int hashCode ()
```

<br />

Generate the hash code for this`QName`.

The hash code is calculated using both the Namespace URI and the local part of the`QName`. The prefix is***NOT***used to calculate the hash code.

This method satisfies the general contract of[Object.hashCode()](https://developer.android.com/reference/java/lang/Object#hashCode()).

<br />

<br />

|                     Returns                     ||
|-------|------------------------------------------|
| `int` | hash code for this`QName``Object` <br /> |

### toString

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public String toString ()
```

<br />

`String`representation of this`QName`.

The commonly accepted way of representing a`QName`as a`String`was[defined](http://jclark.com/xml/xmlns.htm)by James Clark. Although this is not a*standard* specification, it is in common use, e.g.[Transformer.setParameter(String, Object)](https://developer.android.com/reference/javax/xml/transform/Transformer#setParameter(java.lang.String,%20java.lang.Object)). This implementation represents a`QName`as: "{" + Namespace URI + "}" + local part. If the Namespace URI`.equals(XMLConstants.NULL_NS_URI)`, only the local part is returned. An appropriate use of this method is for debugging or logging for human consumption.

Note the prefix value is***NOT*** returned as part of the`String`representation.

This method satisfies the general contract of[Object.toString()](https://developer.android.com/reference/java/lang/Object#toString()).

<br />

<br />

|                                                     Returns                                                      ||
|--------------------------------------------------------------------|----------------------------------------------|
| [String](https://developer.android.com/reference/java/lang/String) | `String`representation of this`QName` <br /> |

### valueOf

Added in[API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static QName valueOf (String qNameAsString)
```

<br />

`QName`derived from parsing the formatted`String`.

If the`String`is`null`or does not conform to[QName.toString()](https://developer.android.com/reference/javax/xml/namespace/QName#toString())formatting, an`IllegalArgumentException`is thrown.

*The`String`**MUST** be in the form returned by[QName.toString()](https://developer.android.com/reference/javax/xml/namespace/QName#toString()).*

The commonly accepted way of representing a`QName`as a`String`was[defined](http://jclark.com/xml/xmlns.htm)by James Clark. Although this is not a*standard* specification, it is in common use, e.g.[Transformer.setParameter(String, Object)](https://developer.android.com/reference/javax/xml/transform/Transformer#setParameter(java.lang.String,%20java.lang.Object)). This implementation parses a`String`formatted as: "{" + Namespace URI + "}" + local part. If the Namespace URI`.equals(XMLConstants.NULL_NS_URI)`, only the local part should be provided.

The prefix value***CANNOT*** be represented in the`String`and will be set to[XMLConstants.DEFAULT_NS_PREFIX](https://developer.android.com/reference/javax/xml/XMLConstants#DEFAULT_NS_PREFIX).

This method does not do full validation of the resulting`QName`.

The Namespace URI is not validated as a[URI reference](http://www.ietf.org/rfc/rfc2396.txt). The local part is not validated as a[NCName](http://www.w3.org/TR/REC-xml-names/#NT-NCName)as specified in[Namespaces in XML](http://www.w3.org/TR/REC-xml-names/).

<br />

<br />

|                              Parameters                               ||
|-----------------|------------------------------------------------------|
| `qNameAsString` | `String`:`String`representation of the`QName` <br /> |

|                                                           Returns                                                            ||
|----------------------------------------------------------------------------|--------------------------------------------------|
| [QName](https://developer.android.com/reference/javax/xml/namespace/QName) | `QName`corresponding to the given`String` <br /> |

**See also:**

- [QName.toString()](https://developer.android.com/reference/javax/xml/namespace/QName#toString())