[英]PHP DOMDocument schemaValidate but get type
Sa我有兩種類型的模式,一種用於<Request>
,另一種用於<Response>
。 我兩個都有架構xsd。
我希望能夠獲得架構的“類型”,即使它是無效的也是如此。 例如, <Request to2="">...
應該無效,但是我仍然想知道這是一個Request
。
問題是如果屬性也不正確, $xml->schemaValidate(...)
對於我的兩個模式都將返回false
。
(此示例經過簡化,實際上,對於每種模式類型,我可以有多個動詞,因此,我不想遍歷子節點並檢查nodeType是什么)。
有沒有一種方法可以使用DOMDocument僅驗證選擇(不驗證屬性)?
例如:
<Request>...</Request> ---> {type: 'Request', isValid: true},
<Response>...</Response> ---> {type: 'Response', isValid: true},
<Request to="api/action">...</Request> ---> {type: 'Request', isValid: true},
<Request tooo="api/action">...</Request> ---> {type: 'Request', isValid: false},
<Response type="json">...</Response> ---> {type: 'Response', isValid: true},
<Response typeeee="json">...</Response> ---> {type: 'Response', isValid: false},
如果我使用$xml->schemaValidate('/path/to/request.xsd');
和$xml->schemaValidate('/path/to/response.xsd');
我將無法分別確定<Request tooo="api/action">...</Request>
和<Response typeeee="json">...</Response>
因為它們是“無效”的
生成一個組合的XSD,根據它們的標簽名稱來驗證這兩種類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.