Avatar billede dehdar Nybegynder
03. marts 2010 - 23:18 Der er 3 kommentarer og
1 løsning

Hvordan definerer jeg mine typer?

Nedenstående er et .xsd skema, som viser en simpel udgave af html. Mit problem er, at jeg ikke kan give elementet "ulml" typen "html". Hvordan bærer jeg mig ad med det?

Jeg har prøvet at tilføje xmlns:html=http://www.w3.org/1999/xhtml/ såldes at jeg kunne skrive <xs:element name="ulml" type="html:html">, men uanset hvad jeg gør, så får jeg en fejl. Jeg har kopieret hele koden forneden.

På forhånd stor tak for hjælpen.




<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:import namespace="http://www.w3.org/XML/1998/namespace"/>
    <xs:element name="ulml">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="header"/>
                <xs:element ref="body"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="header">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="title" minOccurs="0"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="title">
        <xs:complexType mixed="true"/>
    </xs:element>
    <xs:element name="body">
        <xs:complexType>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element ref="h1"/>
                <xs:element ref="h2"/>
                <xs:element ref="h3"/>
                <xs:element ref="p"/>
                <xs:element ref="hr"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>
    <xs:element name="h1">
        <xs:complexType mixed="true"/>
    </xs:element>
    <xs:element name="h2">
        <xs:complexType mixed="true"/>
    </xs:element>
    <xs:element name="h3">
        <xs:complexType mixed="true"/>
    </xs:element>
    <xs:element name="hr">
        <xs:complexType/>
    </xs:element>
    <xs:element name="p">
        <xs:complexType mixed="true">
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element ref="ul"/>
                <xs:element ref="b"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>
    <xs:element name="ul">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="li" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="li">
        <xs:complexType mixed="true"/>
    </xs:element>
    <xs:element name="b">
        <xs:complexType mixed="true"/>
    </xs:element>
</xs:schema>
Avatar billede arne_v Ekspert
04. marts 2010 - 00:46 #1
Hvilken fejl får du ?

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="html">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="header"/>
                <xs:element ref="body"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="header">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="title" minOccurs="0"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="title">
        <xs:complexType mixed="true"/>
    </xs:element>
    <xs:element name="body">
        <xs:complexType>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element ref="h1"/>
                <xs:element ref="h2"/>
                <xs:element ref="h3"/>
                <xs:element ref="p"/>
                <xs:element ref="hr"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>
    <xs:element name="h1">
        <xs:complexType mixed="true"/>
    </xs:element>
    <xs:element name="h2">
        <xs:complexType mixed="true"/>
    </xs:element>
    <xs:element name="h3">
        <xs:complexType mixed="true"/>
    </xs:element>
    <xs:element name="hr">
        <xs:complexType/>
    </xs:element>
    <xs:element name="p">
        <xs:complexType mixed="true">
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element ref="ul"/>
                <xs:element ref="b"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>
    <xs:element name="ul">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="li" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="li">
        <xs:complexType mixed="true"/>
    </xs:element>
    <xs:element name="b">
        <xs:complexType mixed="true"/>
    </xs:element>
</xs:schema>

og

<html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:/foobar.xsd">
<header>
<title>Test</title>
</header>
<body>
<h1>Test</h1>
<p>Dette er en test!</p>
</body>
</html>

validerer fint her !!
Avatar billede dehdar Nybegynder
04. marts 2010 - 01:54 #2
undskyld jeg fik mig ikke formuleret godt nok. Jeg er i tvivl om, hvordan jeg skal tilføje namespacet, altså xmlns:html=http://www.w3.org/1999/xhtml/, så jeg kan skrive <xs:element name="ulml" type="html:html"> og på den måde definere tilladte datatyper for mine expressions
Avatar billede dehdar Nybegynder
04. marts 2010 - 02:01 #3
elements*
Avatar billede dehdar Nybegynder
14. marts 2010 - 02:35 #4
Jeg beklager, jeg er stadig ved at lære XML og havde forvekslet xsd med xlst
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester