文字列に格納された XSD スキーマを使用して SimpleXMLElement を検証することは可能ですか?
私はこのxmlトラフCURLを取得します:
<production_feedback>
<production_number>DA1100208</production_number>
<production_status>DONE</production_status>
</production_feedback>
私の側では、次のように取得します。
if ( $_SERVER['REQUEST_METHOD'] === 'POST' ){
$post_text = file_get_contents('php://input');
$xml = new SimpleXMLElement($post_text);
error_log(print_r($xml , true));
}
これは私の中にありますerror_log()
:
SimpleXMLElement Object\n(\n [production_number] => DA1100208\n [production_status] => PRODUCTION_IN_PROGRESS\n)\n
だから私はXpathでデータにアクセスできます。これはうまくいきます。XSDで検証したいと思います。それは可能ですか、またはXSD文字列でXML文字列を検証する他の方法はありますか?
これは、変数に格納されている私の XSD です。
$production_XSD ='<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="production_feedback">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="production_number"/>
<xs:element type="xs:string" name="production_status"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>'