The QDomImplementation 類提供 DOM (文檔對象模型) 實現特徵的有關信息。 更多...
| 頭: | #include <QDomImplementation> |
注意: 此類的所有函數 可重入 , except for invalidDataPolicy () 和 setInvalidDataPolicy (), which are nonreentrant.
| 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 |
| InvalidDataPolicy | invalidDataPolicy () |
| void | setInvalidDataPolicy (InvalidDataPolicy policy ) |
The QDomImplementation 類提供 DOM (文檔對象模型) 實現特徵的有關信息。
此類描述由 DOM 實現所支持的特徵。目前支持 DOM 級彆 1 和 DOM 級彆 2 核心 XML 子集。
通常,使用函數 QDomDocument::implementation () 能獲取實現對象。
可以創建新的文檔類型采用 createDocumentType () 和新的文檔采用 createDocument ().
有關文檔對象模型的進一步信息,見 級彆 1 and 級彆 2 核心 。有關 DOM 實現的更一般介紹,見 QDomDocument 文檔編製。
The QDom classes have a few issues of nonconformance with the XML specifications that cannot be fixed in Qt 4 without breaking backward compatibility. The QtXmlPatterns module and the 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 ().
The function returns true if QDom implements the requested version 的 feature ;否則返迴 false。
目前支持的特徵及其版本:
| 特徵 | 版本 |
|---|---|
| XML | 1.0 |
[static]
InvalidDataPolicy
QDomImplementation::
invalidDataPolicy
()
返迴指定應該做什麼的無效數據策略,當工廠函數在 QDomDocument 被傳遞無效數據。
警告: 此函數不 可重入 .
該函數在 Qt 4.1 引入。
另請參閱 setInvalidDataPolicy () 和 InvalidDataPolicy .
Returns false if the object was created by QDomDocument::implementation (); otherwise returns true.
[static]
void
QDomImplementation::
setInvalidDataPolicy
(
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 若 x and this DOM implementation object were created from different QDomDocuments; otherwise returns false.
賦值 x 到此 DOM (文檔對象模型) 實現。
返迴 true 若 x 和此 DOM 實現對象的創建是從同一 QDomDocument ;否則返迴 false。