これを検証しようとします (XSD : http://www.imsglobal.org/xsd/imsrdceo_rootv1p0.xsd ):
<?xml version="1.0" encoding="utf-8"?>
<rdceo xmlns="http://www.imsglobal.org/xsd/imsrdceo_rootv1p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsrdceo_rootv1p0 http://www.imsglobal.org/xsd/imsrdceo_rootv1p0.xsd http://www.w3.org/XML/1998/namespace http://www.w3.org/2001/xml.xsd">
<identifier>5040d336776eb</identifier>
<title>
<langstring xml:lang="en">titre</langstring>
</title>
</rdceo>
しかし、それは言います(さまざまなサイトと私のPHPコードで):
属性「xml:lang」は許可されていません
これが私のPHPコードです。
<?php
class RDCEOObjectiveBuilder {
public $id,
$title,
$description;
public function build() {
$dom = new DOMDocument('1.0', 'utf-8');
$root = $dom->createElementNS(
'http://www.imsglobal.org/xsd/imsrdceo_rootv1p0',
'rdceo'
);
$root->setAttributeNS(
'http://www.w3.org/2000/xmlns/' ,
'xmlns:xsi',
'http://www.w3.org/2001/XMLSchema-instance'
);
$root->setAttributeNS(
'http://www.w3.org/2001/XMLSchema-instance',
'xsi:schemaLocation',
'http://www.imsglobal.org/xsd/imsrdceo_rootv1p0 http://www.imsglobal.org/xsd/imsrdceo_rootv1p0.xsd http://www.w3.org/XML/1998/namespace http://www.w3.org/2001/xml.xsd'
);
$id = $dom->createElementNS('http://www.imsglobal.org/xsd/imsrdceo_rootv1p0', 'identifier', $this->id);
$title = $dom->createElementNS('http://www.imsglobal.org/xsd/imsrdceo_rootv1p0', 'title');
$title_lang = $dom->createElementNS('http://www.imsglobal.org/xsd/imsrdceo_rootv1p0', 'langstring', $this->title);
$title_lang->appendChild(new DOMAttr('xml:lang', 'en'));
$title->appendChild($title_lang);
$root->appendChild($id);
$root->appendChild($title);
$dom->appendChild($root);
$dom->schemaValidate('imsrdceo_rootv1p0.xsd');
$dom->formatOutput = true;
return $dom->saveXML();
}
}
$test = new RDCEOObjectiveBuilder();
$test->id = uniqid();
$test->title = 'titre';
echo $test->build();
?>
が許可されない理由がわかりません... http://www.imsglobal.org/competencies/ (xsd を作成した人) のxml:lang
すべての例で、彼らは使用していますxml:lang
例: http://www.imsglobal.org/competencies/Examples/MadeUp_Examplev1.xml
なぜか教えてくれますか ?どうもありがとう !