知识网/nllom

1.1.2 2022-06-28 09:38 UTC

This package is auto-updated.

Last update: 2024-08-28 14:17:33 UTC


README

Build Status

NL LOM

NL LOM 是 LOM 的荷兰应用程序配置文件。此配置文件是在知识网基金会和SURF基金会项目之后构建的。

在 NL LOM 中,将 'Content-zoekprofiel' 和 'LORElom' 协议合并,形成基于 IEEE-LOM 的荷兰教育元数据协议。

摘要

此库提供了一些类,用于简化创建和解析 Lom 对象和 XML。

Lom 类包含多个设置器/获取器,这些设置器/获取器依赖于类中包装的数据。例如,设置通用语言使用包装在 LomString 对象中的值。

<?php
$lom = new NLLOM();
$lom->addGeneralLanguage(new LomString('nl'));

这些 Lom 包装类有多种类型,可以在 Library 文件夹中找到。有关创建完整 Lom 记录的示例,请查看 tests 目录中的 NLLOMTest.php 测试用例。

用法

创建新的 Lom 对象

<?php
namespace Example;

use Kennisnet\NLLOM;

//---Example: new lom with some properties set---

// Create an options array: only possible option is 'language', which has a default setting of 'nl'
$options = [
    'language' => 'en'
];

$lom = new NLLOM\NLLOM($options);

$lom->setGeneralTitle(
    new LomMultiLanguage([
        //Create different titles
        new LomLanguageString('Dit is een titel', 'nl'), //override default language
        new LomLanguageString('This is a title')
    ])
);

将 Lom 对象转换为 DomDocument

<?php
namespace Example;

use Kennisnet\NLLOM;

//---Example: convert lom  object to XML ---
$lom = new NLLOM\NLLOM();

$mapper = new NLLOM\LomToDomMapper();
$dom = $mapper->lomToDom($lom);

$result = $dom->saveXML();

将现有的 Lom XML/DomDocument 转换为 Lom 对象

<?php
namespace Example;

use Kennisnet\NLLOM;

//---Example: convert DomDocument to lom object ---
$domDocument = new \DOMDocument('1.0', 'utf-8');
$domDocument->load('lom_example.xml');

$mapper = new NLLOM\DomToLomMapper();
$lom = $mapper->domToLom($domDocument);

验证

<?php
namespace Example;

use Kennisnet\NLLOM;

//---Example: validate Lom XML

$xml = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<lom xmlns="http://www.imsglobal.org/xsd/imsmd_v1p2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsmd_v1p2 http://www.imsglobal.org/xsd/imsmd_v1p2p4.xsd">
    <general>
        <title>
            <langstring xml:lang="nl">Foobar</langstring>
        </title>
    </general>
</lom>
XML;

NLLOM\Validator::validate($xml);

链接

知识网开发者维基

NL LOM