Zurück tutorials.de > Programming > XML Technologien

 
 
Hallo und herzlich willkommen! Tutorials.de ist eine Hilfe-Community mit dem Motto User helfen Usern. Als Gast verfügst Du über Schreibrechte in unseren Foren und Blogs. Du kannst dich aber gerne auch kostenlos registrieren und Teil unserer Gemeinschaft werden! Viel Spaß & Erfolg bei der Vermehrung deines Wissens :-)

Themen: 242.975 | Beiträge: 1.352.293 | Mitglieder: 169.418 (Stand 28.01.10) | Fragen zur Nutzung von Tutorials.de? Nutzungsregeln | Kontaktformular | Impressum

Jubiläums-Countdown 23.02 23.03 23.04 23.05 23.06 23.07 23.08 23.09


4 kostenlose Bücher bei unserer Buch-Verschenkaktion 03/2010
  AntwortAntworten (über Gastzugang)    
  AntwortAntworten (über Gastzugang)    
 
Themen-Optionen Ansicht
Alt 08.02.10, 12:12   #1 (permalink)
Mitglied
 
Registriert seit: Jan 2010
Beiträge: 10
Renommee-Modifikator: 0
RE-DIK hat eine blütenweiße Weste

Attribute von einem XML-Schema lesen

Hallo zusammen,

ich würde gerne mache Inhalte meiner XSD lesen indem ich mit XSL die Inhalt in eine XML Transformiere.

XSD

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:cptype name="Gruppe">
<xs:element ref="zg"/>
<xs:attribute ref="change"/>
</xs:cptype>
</xs:schema>

XSL

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
<xsl:template match="/">
<inhalt>
<xsl:value-of select="schema/cptype/@name"/>
<xsl:value-of select="schema/cptype/element/@ref"/>
<xsl:value-of select="schema/cptype/attribute/@ref"/>
</inhalt>
</xsl:template>
</xsl:stylesheet>

Hoffentlich kann mir jemand helfen.
  RE-DIK ist offline  
 
Alt 08.02.10, 15:21   #2 (permalink)
Mitglied Kamel
 
Benutzerbild von Enumerator  
 
Registriert seit: Jan 2007
Ort: Schreibtisch
Beiträge: 481
Renommee-Modifikator: 13
Enumerator kann auf vieles stolz seinEnumerator kann auf vieles stolz seinEnumerator kann auf vieles stolz seinEnumerator kann auf vieles stolz seinEnumerator kann auf vieles stolz seinEnumerator kann auf vieles stolz sein

AW: attribute von einem XMLschema lesen

Hi!

Das was Du da geschrieben hast ist von einem (validen) XMLSchema weit entfernt...
Wie dem auch sei, Du kannst mit Deinem Template die Werte nicht auslesen, weil die XPath-Statements nicht passen bzw. Du den Namensraum nicht berücksichtigst:
XML Code:
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
 <xsl:template match="/">
  <inhalt>
   <xsl:value-of select="xsd:schema/xsd:cptype/@name"/>
   <xsl:text> </xsl:text> <!-- Leerzeichen sollen ganz nützlich sein... -->
   <xsl:value-of select="xsd:schema/xsd:cptype/xsd:element/@ref"/>
   <xsl:text> </xsl:text>
   <xsl:value-of select="xsd:schema/xsd:cptype/xsd:attribute/@ref"/>
  </inhalt>
 </xsl:template>
</xsl:stylesheet>

Gruß
Enum
__________________
Zitat:
Zitat von Aba Assa
"Zitate sind so etwas wie Outsourcing des Geistes."
  Enumerator ist offline  
 
Folgender User bedankt sich bei Enumerator:
RE-DIK (08.02.10)
Alt 08.02.10, 15:55   #3 (permalink)
Mitglied
 
Registriert seit: Jan 2010
Beiträge: 10
Renommee-Modifikator: 0
RE-DIK hat eine blütenweiße Weste

AW: attribute von einem XMLschema lesen

Danke für deine Hilfe

Hab was gelernt : ) noch ein kleines Problem die Ausgabe die raus kommt sieht so aus.

<inhalt xmlns:xsd="http://www.w3.org/2001/XMLSchema"> mein Inhalt </inhalt>

wie bekomme ich dies raus?
  RE-DIK ist offline  
 
Alt 09.02.10, 00:47   #4 (permalink)
Mitglied Kamel
 
Benutzerbild von Enumerator  
 
Registriert seit: Jan 2007
Ort: Schreibtisch
Beiträge: 481
Renommee-Modifikator: 13
Enumerator kann auf vieles stolz seinEnumerator kann auf vieles stolz seinEnumerator kann auf vieles stolz seinEnumerator kann auf vieles stolz seinEnumerator kann auf vieles stolz seinEnumerator kann auf vieles stolz sein

AW: attribute von einem XMLschema lesen

'n Abend!

So einfach geht das nicht, das liegt an dem XSL-T Prozessor den Du benutzt: Der Einfachheit halber übernimmt er einfach alle definierten Namensräume ohne zu prüfen ob sie noch Verwendung finden.
Allerdings hat XSL-T das exclude-result-prefixes Attribut, welches es erlaubt spezielle - oder einfach alle (#all) - Namensräume zu "unterschlagen":
XML Code:
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
 <xsl:template match="/">
  <xsl:element name="inhalt" exclude-result-prefixes="#all">
   <xsl:value-of select="xsd:schema/xsd:cptype/@name"/>
   <xsl:text> </xsl:text> <!-- Leerzeichen sollen ganz nützlich sein... -->
   <xsl:value-of select="xsd:schema/xsd:cptype/xsd:element/@ref"/>
   <xsl:text> </xsl:text>
   <xsl:value-of select="xsd:schema/xsd:cptype/xsd:attribute/@ref"/>
  </xsl:element>
 </xsl:template>
</xsl:stylesheet>

Gruß
Enum
__________________
Zitat:
Zitat von Aba Assa
"Zitate sind so etwas wie Outsourcing des Geistes."
  Enumerator ist offline  
 
Alt 09.02.10, 10:07   #5 (permalink)
Mitglied
 
Registriert seit: Jan 2010
Beiträge: 10
Renommee-Modifikator: 0
RE-DIK hat eine blütenweiße Weste

AW: Attribute von einem XML-Schema lesen

Funktioniert nicht mein Tool will dies nicht ausführen.

Kennst du ein gutes Tool das große Datenmengen verarbeiten kann und Kostenfrei ist?
  RE-DIK ist offline  
 
Alt 09.02.10, 15:10   #6 (permalink)
Mitglied Kamel
 
Benutzerbild von Enumerator  
 
Registriert seit: Jan 2007
Ort: Schreibtisch
Beiträge: 481
Renommee-Modifikator: 13
Enumerator kann auf vieles stolz seinEnumerator kann auf vieles stolz seinEnumerator kann auf vieles stolz seinEnumerator kann auf vieles stolz seinEnumerator kann auf vieles stolz seinEnumerator kann auf vieles stolz sein

AW: Attribute von einem XML-Schema lesen

Hi!

Der Klassiker ist wohl xsltproc vom GNOME Projekt, basiert auf libxslt und ist - soweit ich das beurteilen kann - der schnellste XSL-T Prozessor und auch derjenige, mit dem ich das Stylesheet oben getestet habe. Leider unterstützt xsltproc nur XSL-T in Version 1.0, allerdings hab' ich bisher Version 2 noch nie benötigt.
Weitere Implementationen sind z.B. Xalan von der Apache Foundation und natürlich Saxon von Michael Kay, wobei letztere auch XSL-T 2.0 unterstützt und wohl die meisten zusätzlichen Features enthält. Leider ist Saxon nur teilweise OpenSource.
Wikipedia und Google können Dir noch mehr nennen, die oben sind die einzigen mit denen ich bisher gearbeitet habe.

Gruß
Enum
__________________
Zitat:
Zitat von Aba Assa
"Zitate sind so etwas wie Outsourcing des Geistes."
  Enumerator ist offline  
 
 
 
Lesezeichen:


Themen-Optionen
Ansicht
Ähnliche Themen
 
Thema Autor Forum Antworten Letzter Beitrag
Attribute auslesen aus einem DefaultMutableTreeNode Nijura Swing, Java2D/3D, SWT, JFace 2 02.01.09 23:32
Kann bestimmte Attribute im Active Directory nicht lesen HBuchek PHP 0 12.07.06 14:25
XSL Transformation xsl:value-of select Attribute mit Namespacekennzeichen lesen mage XML Technologien 1 03.02.06 10:49
parameterabhängige Attribute in XML-Schema elkassi XML Technologien 3 14.01.05 12:51
Oracle - Tabelle von einem Schema in ein anderes Schema verschieben Plumpsi Relationale Datenbanksysteme 0 15.09.04 10:26
» Tools
 
tutorials.de-Tools tutorial.de-Suchfeld tutorial.de-Widget tutorial.de-RSS-Feed tutorial.de-Banner
» Neue Links
 
Hits: 138
»
JHT's Planetary...
(Cinema 4D-Objekte)
Hits: 265
»
Tageslicht ohne GI
(Cinema 4D-Tutorials)
Hits: 154
»
Puzzle
(Cinema 4D-Tutorials)
Hits: 104
»
Lacreme
(Cinema 4D-Tutorials)
Hits: 195
»
Liquid Light
(Cinema 4D-Tutorials)
» Aktuelle Umfrage
 
Bist du mit der Geschwindigkeit der Tutorials.de-Website zufrieden?
Ja, es putzt mir glatt den Staub vom Bildschirm! - 80,61%
158 Stimmen
Nein, ich denke da muss noch nachgebessert werden... - 19,39%
38 Stimmen
Stimmen gesamt: 196
Du darfst bei dieser Umfrage nicht abstimmen.

 

Alle Zeitangaben in WEZ +1. Es ist jetzt 16:47 Uhr.


Powered by vBulletin® Version 3.8.5 (Deutsch) & vBadvanced CMPS v.3.2.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.5.0 RC2 ©2010, Crawlability, Inc.
Alle Rechte vorbehalten ©2000 - 2010 tutorials.de
Design by Mark, CSS by Maik & Sven Mintel
Seite generiert in 0,21913 Sekunden mit 26 queries