The QDomImplementation 類提供 DOM (文檔對象模型) 實現特徵的有關信息。 更多...
| 頭: | #include <QDomImplementation> |
| qmake: | QT += xml |
注意: 此類的所有函數 可重入 除以下外:
| enum | InvalidDataPolicy { AcceptInvalidChars, DropInvalidChars, ReturnNullNode } |
| QDomImplementation () | |
| QDomImplementation (const QDomImplementation & x ) | |
| ~QDomImplementation () | |
| QDomDocument | createDocument (const QString & nsURI , const QString & qName , const QDomDocumentType & doctype ) |
| QDomDocumentType | createDocumentType (const QString & qName , const QString & publicId , const QString & systemId ) |
| bool | hasFeature (const QString & feature , const QString & version ) const |
| bool | isNull () |
| bool | operator!= (const QDomImplementation & x ) const |
| QDomImplementation & | operator= (const QDomImplementation & x ) |
| bool | operator== (const QDomImplementation & x ) const |
| QDomImplementation::InvalidDataPolicy | invalidDataPolicy () |
| void | setInvalidDataPolicy (QDomImplementation::InvalidDataPolicy policy ) |
The QDomImplementation 類提供 DOM (文檔對象模型) 實現特徵的有關信息。
此類描述由 DOM 實現所支持的特徵。目前支持 DOM 級彆 1 和 DOM 級彆 2 核心 XML 子集。
通常,使用函數 QDomDocument::implementation () 能獲取實現對象。
可以創建新的文檔類型采用 createDocumentType () 和新的文檔采用 createDocument ().
有關文檔對象模型的進一步信息,見 級彆 1 and 級彆 2 核心 。有關 DOM 實現的更一般介紹,見 QDomDocument 文檔編製。
QDom 類有一些不符閤 XML 規範的問題,Qt 4 無法在不破壞嚮後兼容性的情況下修復這些問題。Qt XML 模式模塊和 QXmlStreamReader and QXmlStreamWriter 類擁有更高一緻性。
另請參閱 hasFeature ().
此枚舉指定應做什麼,當工廠函數在 QDomDocument 被調用采用無效數據。
| 常量 | 值 | 描述 |
|---|---|---|
QDomImplementation::AcceptInvalidChars
|
0
|
無論如何,都應將數據存儲在 DOM 對象中。在此情況下,可能導緻 XML 文檔不是格式良好的。這是默認值且是 Qt < 4.1 的 QDom 行為。 |
QDomImplementation::DropInvalidChars
|
1
|
應從數據移除無效字符。 |
QDomImplementation::ReturnNullNode
|
2
|
工廠函數應返迴 null 節點。 |
另請參閱 setInvalidDataPolicy () 和 invalidDataPolicy ().
構造 QDomImplementation 對象。
構造副本為 x .
銷毀對象並釋放其資源。
創建的 DOM (文檔對象模型) 文檔具有文檔類型 doctype 。此函數還添加根元素節點采用閤格名稱 qName 和名稱空間 URI nsURI .
創建文檔類型節點按名稱 qName .
publicId 指定外部子集的公共標識符。若指定空字符串 QString() 作為 publicId ,這意味著文檔類型沒有公共標識符。
systemId 指定外部子集的係統標識符。若指定空字符串作為 systemId ,這意味著文檔類型沒有係統標識符。
由於沒有係統標識符就無法擁有公共標識符,所以公共標識符被設為空字符串若沒有係統標識符。
DOM 級彆 2 不支持任何其它文檔類型聲明特徵。
可以使用這種方式創建的文檔類型的唯一辦法,是組閤 createDocument () 函數以創建 QDomDocument 采用此文檔類型。
按 DOM 規範,這是創建非 null 文檔的唯一方式。由於曆史原因,Qt 還允許使用默認空構造函數創建文檔。結果文檔為 null,但使用工廠函數時會變為非 null,例如 QDomDocument::createElement () 的調用。文檔也將變為非 null,當調用 setContent() 時。
另請參閱 createDocument ().
函數返迴
true
若 QDom 實現請求
version
的
feature
;否則返迴
false
.
目前支持的特徵及其版本:
| 特徵 | 版本 |
|---|---|
| XML | 1.0 |
[static]
QDomImplementation::InvalidDataPolicy
QDomImplementation::
invalidDataPolicy
()
返迴指定應該做什麼的無效數據策略,當工廠函數在 QDomDocument 被傳遞無效數據。
警告: 此函數不 可重入 .
該函數在 Qt 4.1 引入。
另請參閱 setInvalidDataPolicy () 和 InvalidDataPolicy .
返迴
false
若對象創建通過
QDomDocument::implementation
();否則返迴
true
.
[static]
void
QDomImplementation::
setInvalidDataPolicy
(
QDomImplementation::InvalidDataPolicy
policy
)
設置指定應該做什麼的無效數據策略,當工廠函數在 QDomDocument 被傳遞無效數據。
The policy 的設置是為所有實例化的 QDomDocument 其已存在且將在未來創建。
QDomDocument doc; QDomImplementation impl; // This will create the element, but the resulting XML document will // be invalid, because '~' is not a valid character in a tag name. impl.setInvalidDataPolicy(QDomImplementation::AcceptInvalidData); QDomElement elt1 = doc.createElement("foo~bar"); // This will create an element with the tag name "foobar". impl.setInvalidDataPolicy(QDomImplementation::DropInvalidData); QDomElement elt2 = doc.createElement("foo~bar"); // This will create a null element. impl.setInvalidDataPolicy(QDomImplementation::ReturnNullNode); QDomElement elt3 = doc.createElement("foo~bar");
警告: 此函數不 可重入 .
該函數在 Qt 4.1 引入。
另請參閱 invalidDataPolicy () 和 InvalidDataPolicy .
返迴
true
if
x
和此 DOM 實現對象的創建是從不同 QDomDocument;否則返迴
false
.
賦值 x 到此 DOM (文檔對象模型) 實現。
返迴
true
if
x
和此 DOM 實現對象的創建是從同一
QDomDocument
;否則返迴
false
.