webForumDet fria alternativet

Schema hjälp

1 svar · 473 visningar · startad av Prometheus

PrometheusMedlem sedan mars 2001363 inlägg
#1

Jag har försökt sätta mig in i det här med xmlschema. Rörigt minst sagt... :x

Är det någon vänlig själ som är hejare på det och vill titta på mitt försök och se om jag har förstått det rätt? Finns det något bra sätt att validera?

Lade ut filerna så slipper ni ögna genom kod här... :)

Ha det gott! :bire

~// Mattias \\~

PrometheusMedlem sedan mars 2001363 inlägg
#2

namespaces, länkning

Ok...testar att lägga in det här istället då ;)
Så här ser schemat ut:

<?xml version="1.0" encoding="ISO-8859-1" ?> 
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <!-- 
 *****************************************************
     ROOT ELEMENT
********************************************************** 

  --> 
- <xs:element name="root">
- <xs:complexType>
- <xs:sequence>
  <xs:element ref="catalog" /> 
  </xs:sequence>
  <xs:attributeGroup name="rootAttr" /> 
  </xs:complexType>
  </xs:element>
- <!-- 
 *****************************************************
	 GLOBAL COMPLEXTYPES
********************************************************** 

  --> 
- <!-- ****** catalog ******
  --> 
- <xs:complexType name="catalog">
- <xs:sequence>
  <xs:element ref="contact" /> 
  </xs:sequence>
  <xs:attributeGroup ref="catalogAttr" /> 
  </xs:complexType>
- <!-- ****** contact ******
  --> 
- <xs:complexType name="contact">
- <xs:sequence>
  <xs:element name="firstname" type="xs:string" /> 
  <xs:element name="lastname" type="xs:string" /> 
  <xs:element name="relation" type="xs:string" /> 
  <xs:element ref="telephone" /> 
  <xs:element ref="email" /> 
  <xs:element ref="url" /> 
  <xs:element name="icq" type="xs:integer" /> 
  <xs:element name="streetadress" type="xs:string" /> 
  <xs:element name="postalcode" type="xs:string" /> 
  <xs:element name="postalarea" type="xs:string" /> 
  <xs:element name="country" type="xs:string" /> 
  <xs:element name="comment" type="xs:string" /> 
  </xs:sequence>
  <xs:attributeGroup ref="idAttr" /> 
  </xs:complexType>
- <!-- ****** telephone ******
  --> 
- <xs:complexType name="telephone">
  <xs:attributeGroup ref="locationAttr" /> 
  </xs:complexType>
- <!-- ****** email ******
  --> 
- <xs:complexType name="email">
  <xs:attributeGroup ref="locationAttr" /> 
  </xs:complexType>
- <!-- ****** url ******
  --> 
- <xs:complexType name="url">
  <xs:attributeGroup ref="locationAttr" /> 
  </xs:complexType>
- <!-- 
 *****************************************************
	 ATTRIBUTE (+GROUPS)
********************************************************** 

  --> 
- <!-- ****** rootAttr ******
  --> 
- <xs:attributeGroup name="rootAttr">
  <xs:attribute name="content" type="xs:string" /> 
  <xs:attribute name="scope" type="xs:string" /> 
  <xs:attributeGroup ref="idAttr" /> 
  </xs:attributeGroup>
- <!-- ****** catalogAttr ******
  --> 
- <xs:attributeGroup name="catalogAttr">
  <xs:attribute name="name" type="xs:string" /> 
  <xs:attributeGroup ref="idAttr" /> 
  </xs:attributeGroup>
- <!-- ****** loactionAttr ******
  --> 
- <xs:attributeGroup name="locationAttr">
  <xs:attribute name="location" type="xs:string" /> 
  </xs:attributeGroup>
- <!-- ****** id ******
  --> 
- <xs:attributeGroup name="idAttr">
  <xs:attribute name="id" type="xs:integer" use="required" /> 
  </xs:attributeGroup>
  </xs:schema>

och såhär har jag försökt länka till det i xml-dokumentet:

<root content="contacts" scope="public" id="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="contacts.xsd">

Det jag känner mig osäker på är "namespaces", som jag inte fått helt grepp om även om jag tror jag fattar lite, och själva länkningen. Ser det ok ut? Nån som har en (enkel kanske) förklaring på hur det ska vara?

137 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)