Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hur ser schemat ut?

Postades av 2002-08-13 09:01:18 - Magnus Åhlin, i forum xml, Tråden har 7 Kommentarer och lästs av 855 personer

Jag vill ha ett schema som ska beskriva data på följande format:


<rockband name="tha rockers">
<person>
<förnamn>
nisse
</förnamn>
<efternamn>
hult
</efternamn>
</person>

<person>
<förnamn>
pippi
</förnamn>
<efternamn>
lågstrump
</efternamn>
</person>
</rockband>

+ flera band

allt detta lagrat i ett dataset
alltså vill kunna lagra många "rockband" som i sin tur har godtyckligt antal personer som medlemmar som varje har eget förnamn och efternamn

Hur skulle schemat se ut eller framförallt hur moddelerar jag i schema-designern?


Svara

Sv: Hur ser schemat ut?

Postades av 2002-08-13 09:23:50 - Martin Forsberg

Här är ett exempel:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="bands">
<xs:complexType>
<xs:sequence>
<xs:element name="rockband" type="rockband_type" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="rockband_type">
<xs:sequence>
<xs:element name="person" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="fornamn"/>
<xs:element name="efternamn"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="namn" type="xs:string" use="required"/>
</xs:complexType>
</xs:schema>


Jag har gjort ett par ändringar. Ett rootelement som heter bands och som i sin tur innehåller rockband. (sen tog jag bort åäö)


det funkar för nedanstående xml

<?xml version="1.0" encoding="UTF-8"?>
<bands xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\schema_name_goes_here.xsd">
<rockband namn="tha rockers">
<person>
<fornamn>nisse</fornamn>
<efternamn>hult</efternamn>
</person>
<person>
<fornamn>pippi</fornamn>
<efternamn>lågstrump</efternamn>
</person>
</rockband>
</bands>


Svara

Sv: Hur ser schemat ut?

Postades av 2002-08-13 09:24:46 - Martin Forsberg

Ladda ner xmlspy från www.xmlspy.com . Det programmet har en skitbra schemamodelleringsfunktion.

/Martin


Svara

Sv: Hur ser schemat ut?

Postades av 2002-08-13 10:27:49 - Martin Forsberg

Och här är lite kod för att använda validera din xml mot schemat.

skicka in din xmlsträng och sökvägen till ditt schema. Om du har din xml på disk som en fil får du ändra i funktionen och använda xmlDoc.Load istället för xmlDoc.LoadXML

<code>
Public Sub xmlValidate(ByVal sXMLstring As String, ByVal sSchemaPath As String)
Dim xmlSchemaCash As XMLSchemaCache40
Dim xmlSchema As DOMDocument40
Dim xmlDoc As DOMDocument40

Set xmlSchemaCash = New XMLSchemaCache40
Set xmlDoc = New DOMDocument40

xmlSchemaCash.Add "", sSchemaPath

With xmlDoc
.async = False
.setProperty "NewParser", True
Set .schemas = xmlSchemaCash
.loadXML sXMLstring
End With

If xmlDoc.parseError.errorCode <> 0 Then
With xmlDoc.parseError
Err.Raise .errorCode, "xmlValidate", .reason
End With
End If

Set xmlDoc = Nothing
Set xmlSchema = Nothing
Set xmlSchemaCash = Nothing

End Function
</code>


Svara

Sv: Hur ser schemat ut?

Postades av 2002-08-13 15:57:24 - Magnus Åhlin

Tackar för hjälpen. Har klarnat ganska mycket nu.
En fråga till bara:
Hur gör jag om jag vill lägga in att varje person KAN ha ett favoritband?
Alltså jag vill kunna referera och accessa en annan instans av rockbands-tabellen på en person.


Svara

Sv: Hur ser schemat ut?

Postades av 2002-08-13 16:55:33 - Martin Forsberg

det var lite klurigare helt klart...

jag testade att lägga till ett element i rockbandstypen så att man har förnamn, efternamn och favoritband. Favoritbandet är av typen rockband_type, men då får man en cirkulärreferens som inte verkar vara tillåten. Man kan sätta ett attribut som heter derivedBy till restriction och då gick det lite bättre. Schemat blir dock inte så snyggt eftersom man inte återanvänder rockband_type utan "gör en kopia" av den.

Kolla själv här:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="bands">
<xs:complexType>
<xs:sequence>
<xs:element name="rockband" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:complexContent>
<xs:extension base="rockband_type"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="rockband_type">
<xs:sequence>
<xs:element name="person" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="fornamn"/>
<xs:element name="efternamn"/>
<xs:element name="favorite_band" minOccurs="0">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="rockband_type">
<xs:sequence>
<xs:element name="person" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="fornamn"/>
<xs:element name="efternamn"/>
<xs:element name="favorite_band" minOccurs="0">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="rockband_type"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="namn" type="xs:string" use="required"/>
</xs:complexType>
</xs:schema>


Inte så trevligt.

Ett rockband kan ha ett favoritband som är ett rockband. Favoritbandet kan däremot inte ha en nivå till under sig.

Om det är någon som har en bättre lösning så säg gärna till.

/Martin


Svara

Sv: Hur ser schemat ut?

Postades av 2002-08-14 08:09:04 - Magnus Åhlin

Jo jag försökte oxå bara lägga till en rockbands-typ men det blev som sagt cirkulär referens då.

Strategin med att göra en kopia av bandet håller inte i min applikation (som självklart inte handlar om rockband men av sekretess-skäl tog jag det som först ploppade upp i skallen hihi)

Jag vill nämligen att om man ändrar i ett band så ska förstås de personer som har det aktuella bandet som favorit referera till uppdaterat data. Visserligen skulle man ju kunna loopa igenom alla poster och uppdatera kopior men det är ju inte speciellt vackert.

Hur göra?

Är väldigt tacksam för att du lägger ner en massa tid på mitt problem.


Svara

Sv: Hur ser schemat ut?

Postades av 2002-08-14 08:33:15 - Martin Forsberg

Och det räcker inte att bara ha en referens typ rockbands_id och sedan manuellt leta rätt på rätt rockband. Alltså mer som en traditionell tabell?

/Martin


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 616
27 958
271 741
9 534
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies