2C Minta XML nem illeszkedik az elvárt XSD mintára (2016)

0 votes
asked Apr 13, 2016 in IRF tantárgy by horbert (32 points)  

Helló!

Házi feladatban megadott minta XML nem illeszkedik a megadott XSD schema-ra.
A validator két hibát jelzett:

  • A MEMORY tag-ben a START és az END attribútumba a minta és a leírás
    alapján hexa számnak kell lennie, azonban a validator double-t vár
  • Az IRQ tag szükséges az XML-be, azonban ezt az XSD nem tartalmazza

Ragaszkodjak az XSD séma alapján a double szám leíráshoz vagy maradjon a hexa szám?
Illetve az IRQ számot hogyan tüntessem fel?

2 Answers

+1 vote
answered Apr 14, 2016 by kris7t (111 points)  
selected Apr 14, 2016 by nadudvarit
 
Best answer

A feldat kitűzése közben sikerült egy copy-pase errort elkövetni, a helyes séma a következő:

<?xml version="1.0" encoding="utf-16"?>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="DEVICES">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs="unbounded" name="MACHINE">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element maxOccurs="unbounded" name="DEVICE">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element maxOccurs="unbounded" name="IRQ">
                      <xsd:complexType>
                        <xsd:attribute name="NUM" type="xsd:int" />
                      </xsd:complexType>
                    </xsd:element>
                    <xsd:element maxOccurs="unbounded" name="MEMORY">
                      <xsd:complexType>
                        <xsd:attribute name="START" type="xsd:string" />
                        <xsd:attribute name="END" type="xsd:string" />
                      </xsd:complexType>
                    </xsd:element>
                  </xsd:sequence>
                  <xsd:attribute name="ID" type="xsd:string" />
                  <xsd:attribute name="NAME" type="xsd:string" />
                  <xsd:attribute name="MANUFACTURER" type="xsd:string" />
                </xsd:complexType>
              </xsd:element>
            </xsd:sequence>
            <xsd:attribute name="NAME" type="xsd:string" />
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>
commented Apr 15, 2016 by horbert (32 points)  
Erre az XSD schema-ra sem illeszkedik a kiadott feladatban a minta XML.
Ez a schema előírja, hogy szerepelnie kell a DEVICE tag-ben minimum egy darab IRQ- és minimum egy darab MEMORY tag-nek.
Emelett nem biztosít lehetőséget arra, hogyha nem lehet kapcsolódni az erőforráshoz, akkor üres DEVICE tag-et kell elhelyezni.
0 votes
answered Apr 13, 2016 by kovari (2,221 points)  

A példa XML szerint járjunk el, tehát maradjon a hexa és az IRQ is.

...