# XML nach BME Cat Norm prüfen?



## David Müller (4. Dez 2007)

Hi ich bräuchte Hilfe und zwar möchte ich das eine XML Datei die durch einen SAX Parser auf die Wohlgeformtheit überprüft wird *zusätzlich erweitern. *Ich muss für ein Projekt *die XML Datei auf BMI Cat Syntax überprüfen lassen so das falls die XML Datei nicht die BME CAT Syntax erfüllt mir ein Fehler ausgegeben wird .* Sprich es soll die wichtigsten Elemente die ein BME Cat besitzt erkennen und mir bei nicht Erfüllung ausgeben lassen.


<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE BMECAT SYSTEM "bmecat_new_catalog_1_2.dtd">
<BMECAT version="1.2" xmlns="http://www.bmecat.org/bmecat/1.2/bmecat_new_catalog">
    <HEADER>
        <CATALOG>
            <LANGUAGE>eng</LANGUAGE>
            <CATALOG_ID>QA_CAT_002</CATALOG_ID>
            <CATALOG_VERSION>001.002</CATALOG_VERSION>
            <CATALOG_NAME>Office Material</CATALOG_NAME>
            <DATETIME type="generation_date">
                <DATE>2004-08-20</DATE>
                <TIME>10:59:54</TIME>
                <TIMEZONE>-02:00</TIMEZONE>
            </DATETIME>
            <CURRENCY>EUR</CURRENCY>
        </CATALOG>
        <BUYER>
            <BUYER_ID type="buyer_specific">aggibuyer</BUYER_ID>
            <BUYER_NAME>BuyAll Corp.</BUYER_NAME>
            <ADDRESS type="buyer">
                <NAME>BuyAll Corp.</NAME>
                <CONTACT>Bill Smith</CONTACT>
            </ADDRESS>
        </BUYER>
        <SUPPLIER>
            <SUPPLIER_NAME>Office Supplies AG</SUPPLIER_NAME>
        </SUPPLIER>
    </HEADER>
    <T_NEW_CATALOG>
        <ARTICLE mode="new">
            <SUPPLIER_AID>Q20-P09</SUPPLIER_AID>
            <ARTICLE_DETAILS>
                <DESCRIPTION_SHORT>Post-Safe Polythene Envelopes</DESCRIPTION_SHORT>
                <DESCRIPTION_LONG>All-weather lightweight envelopes protect your contents and save you money.
                                  ALL-WEATHER. Once sealed, Post-Safe envelopes are completely waterproof. Your 
                                  contents won't get damaged.</DESCRIPTION_LONG>
                <MANUFACTURER_NAME>Concurrent Limited</MANUFACTURER_NAME>
            </ARTICLE_DETAILS>
            <ARTICLE_FEATURES>
                <REFERENCE_FEATURE_SYSTEM_NAME>UNSPSC-5.02</REFERENCE_FEATURE_SYSTEM_NAME>
                <REFERENCE_FEATURE_GROUP_ID>44121505</REFERENCE_FEATURE_GROUP_ID>
            </ARTICLE_FEATURES>
            <ARTICLE_ORDER_DETAILS>
                <ORDER_UNIT>1</ORDER_UNIT>
            </ARTICLE_ORDER_DETAILS>
            <ARTICLE_PRICE_DETAILS>
                <ARTICLE_PRICE price_type="net_list">
                    <PRICE_AMOUNT>16.49</PRICE_AMOUNT>
                    <PRICE_CURRENCY>EUR</PRICE_CURRENCY>
                    <LOWER_BOUND>1</LOWER_BOUND>
                </ARTICLE_PRICE>
            </ARTICLE_PRICE_DETAILS>
            <ARTICLE_PRICE_DETAILS>
                <ARTICLE_PRICE price_type="net_customer">
                    <PRICE_AMOUNT>10.29</PRICE_AMOUNT>
                    <PRICE_CURRENCY>EUR</PRICE_CURRENCY>
                    <LOWER_BOUND>1</LOWER_BOUND>
                </ARTICLE_PRICE>
            </ARTICLE_PRICE_DETAILS>
            <MIME_INFO>
                <MIME>
                    <MIME_TYPE>image/gif</MIME_TYPE>
                    <MIME_SOURCE>P09.gif</MIME_SOURCE>
                    <MIME_PURPOSE>normal</MIME_PURPOSE>
                    <MIME_ORDER>1</MIME_ORDER>
                </MIME>
                <MIME>
                    <MIME_TYPE>url</MIME_TYPE>
                    <MIME_SOURCE>http://www.bmecat.org</MIME_SOURCE>
                    <MIME_PURPOSE>others</MIME_PURPOSE>
                    <MIME_ORDER>2</MIME_ORDER>
                </MIME>
            </MIME_INFO>
        </ARTICLE>
    </T_NEW_CATALOG>
</BMECAT>



Bitte helft mir. DANKE!


----------



## Guest (4. Dez 2007)

also die Typischen Elemente von BME Cat hab ich hier aufgelistet: 
CATALOG  

SUPPLIER  

BUYER  

AGREEMENT  

CLASSIFICATION SYSTEM  

CATALOG GROUP SYSTEM  

ARTICLE (ab 2005 PRODUCT)  

ARTICLE PRICE (ab 2005 PRODUCT PRICE)  

ARTICLE FEATURE (ab 2005 PRODUCT FEATURE)  

VARIANT  

MIME  

ARTICLE REFERENCE (ab 2005 PRODUCT REFERENCE)  

USER DEFINED EXTENSION


----------



## David Müller (4. Dez 2007)

Wüsste jemand da en Tip wie man das alles integrieren könnte? Jeder Tip wäre hilfreich!


----------



## David Müller (4. Dez 2007)

Also die  ( Muss-Atrributte)  die im BME Cat festhinterlegt sind sollen bei nicht Erfüllung beim parsen erkannt und gemeldet werden.


----------



## Marie Curie (16. Dez 2007)

Als Hilfe zum Parsen musst du die Original-DTDs von BME Cat benutzen, diese kannst du auf der offiziellen Homepage runterladen.

In der xml-Datei (also dem Produktkatalog) musst du diese DTD einbinden...also eingentlich so, wie in deinem ersten Post. Zum Parsen muss die xml und DTD nur im gleichen Verzeichnis liegen, dann sollte das Parsen funktionieren.

LG
Marie


----------

