Autor Zpráva
Andy
Profil *
Riesil uz niekto podobny problem? Potrebujem nakoponut ako na to. Aspon obecny postup.

Na strankach ucetniho systemu pohoda maju napisane:

Formáty XSD šablon a funkční příklady XML souborů pro import a export dat z a do zkušebních databází programu POHODA jsou veřejně přístupné na těchto webových stránkách pod odkazem Seznam podporovaných dokumentů pro export a import.

Pod odkazom Seznam podporovaných dokumentů najdem:
../schema/invoice.xsd
a
xml priklady.

Co mam robit s formatom XSD ak chcem napriklad na web stranke vytvorit formular ktory objednavku vlozi ako fakturu do programu pohoda?
Inak povedane, da sa nejakym sposobom spravit z uvedeneho XSD +xml pomocou php -> XSL a potom z XSL + XSD p ->XML? Alebo to cele zle chapem a XSD sluzi na ieco ine?

Dakujem za radu.
Andy
Profil *
Este dodatok.
na strankach http://forums.devshed.com/xml-programming-19/validating-xml-against-xsd-with-php-430794.html
som nasiel aspon ako na validaciu Validating XML against XSD with PHP
ale ak som to skusil XSD a XML z tych stranok tam mi vyskocilo veeeeeeeeeela chyb.. Ze by som zas nieco nepochopil?
Kod:
function libxml_display_error($error)
{
    $return = "<br/>\n";
    switch ($error->level) {
        case LIBXML_ERR_WARNING:
            $return .= "<b>Warning $error->code</b>: ";
            break;
        case LIBXML_ERR_ERROR:
            $return .= "<b>Error $error->code</b>: ";
            break;
        case LIBXML_ERR_FATAL:
            $return .= "<b>Fatal Error $error->code</b>: ";
            break;
    }
    $return .= trim($error->message);
    if ($error->file) {
        $return .=    " in <b>$error->file</b>";
    }
    $return .= " on line <b>$error->line</b>\n";

    return $return;
}

function libxml_display_errors() {
    $errors = libxml_get_errors();
    foreach ($errors as $error) {
        print libxml_display_error($error);
    }
    libxml_clear_errors();
}

// Enable user error handling
libxml_use_internal_errors(true);

$xml = new DOMDocument();
$xml->load('invoice_01.xml');

if (!$xml->schemaValidate('faktura.xsd')) {
    print '<b>DOMDocument::schemaValidate() Generated Errors!</b>';
    libxml_display_errors();
}
else { 
echo "validated";
}  
tiso
Profil
Andy - XSD slúži na definíciu štruktúry XML dokumentu. Definuje ktoré elementy má XML obsahovať, ktoré sa do akých dajú vnoriť, ktoré sú povinné, nepovinné, ...
V podstate to slúži ako štandart pre ostatných. Ak XML vyhovuje nejakému XSD, tak by ho ten program mal spracovať.
S tým formátom nemusíš XSD nemusíš robiť nič, len musíš poskladať XML ktoré vyhovuje tejto definícii.
Neviem či je ten skript na validáciu funkčný, chyby mohli vzniknúť napríklad tým, že máš nesprávne názvy súborov, cesty, alebo nesprávny súbor XSD (zmenila sa definícia).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0