Toon posts:

[XSLT/XSD] Element attributen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Goedemorgen,

Ik kom een raar probleem tegen: Bij de XSLT conversie van mijn XML verandert de volgorde van de attributen van het eerste element.

Dit:
XML:
1
<Registration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema.xsd">

wordt na de xslt conversie dit
XML:
1
<Registration xsi:noNamespaceSchemaLocation="schema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">



Ik gebruik voor het laden van beide en het uitvoeren van de conversie het volgende:
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
set sourceXML = Server.CreateObject("MSXML2.DomDocument.4.0")
sourceXML.async = false

If (sourceXML.Load(strXMLFileToUse)) Then
  set  styleXSLT = Server.CreateObject("MSXML2.DomDocument.4.0")
  styleXSLT.async = false

  If (styleXSLT.Load(WEBFORMSXML_TO_XML_XSLT)) Then
      ' Get the result XML  
      resultXML = sourceXML.transformNode(styleXSLT)
  End If
End If


Deze volgorde levert problemen op bij de verdere verwerking van de XML.
Iemand enig idee waardoor dit veroorzaakt wordt?

  • Gonadan
  • Registratie: Februari 2004
  • Nu online

Gonadan

Admin Beeld & Geluid, Harde Waren
Zo te zien doet hij het omgekeerd alfabetisch, of is dat puur toeval? :? :)


:+


Edit:
En als je 3 attributen doet? Keert hij de volgorde gewoon om?

[ Voor 44% gewijzigd door Gonadan op 11-05-2006 10:17 ]

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Verwijderd

Topicstarter
xmlns:xsi is alfabetisch gezien toch voor xsi:noNamespaceSchemaLocation
?

:)

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

Ik weet niet waarom het problemen oplevert voor het volgende stadium van je verwerking, maar dat zou niet moeten. De volgorde van attributen in XML is niet-betekenisvol, dus als je XSLT-processor hierin een en ander omwisselt is dat volledig correct. In plaats daarvan moet je het volgende deel van je verwerking fixen.

Rustacean


Verwijderd

Topicstarter
Tja dat verder verwerking deel valt buiten mijn deel van het project... :|
't Is een import naar een Oracle database, geen idee hoe ze dat verder opgezet hebben. Maar ik weet wel dat ze dus niet overweg kunnen met deze XML.... :|

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

Vertel ze dat dat onzin is en dat ze hun scripts maar moeten fixen?

Rustacean


Verwijderd

Topicstarter
Ze hebben te maken met een bug in Oracle 9 die de attributen per se in die volgorde wil... 10g schijnt het wel verholpen te zijn, maar dat wordt hier nog niet gebruikt.

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

Ik zou zeggen dat je een kleine string-replace in je VB-code gooit om het probleem te fixen, dan.

Rustacean


  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 23-12-2025
Manuzhai schreef op donderdag 11 mei 2006 @ 10:38:
Ik weet niet waarom het problemen oplevert voor het volgende stadium van je verwerking, maar dat zou niet moeten.
Mogenlijkheid: bij de uitgevoerde xml word de namespace eerst gebruikt en daarna aangemaakt. Bij de invoer is het andersom, een beetje xml parser zou het geen probleem vinden maar de gebruikte blijkbaar wel.
Verwijderd schreef op donderdag 11 mei 2006 @ 10:13:
xmlns:xsi is alfabetisch gezien toch voor xsi:noNamespaceSchemaLocation
?
Laat de namespace maar eens weg :). (Dat word sowieso gedaan bij namen in XML als je ze behandeld, vandaar dat het DOM ook een aparte GetElementsByTagNameNS methode heeft, welke zoekt op tag en namespace).
Pagina: 1