-
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.
-
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:
Code XML: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ß
Enumhttp://enumerator.meinbrutalo.de
Zitat von Aba Assa
-
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?
-
'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":Code XML: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ß
Enumhttp://enumerator.meinbrutalo.de
Zitat von Aba Assa
-
Funktioniert nicht mein Tool will dies nicht ausführen.
Kennst du ein gutes Tool das große Datenmengen verarbeiten kann und Kostenfrei ist?
-
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ß
Enumhttp://enumerator.meinbrutalo.de
Zitat von Aba Assa
Ähnliche Themen
-
Attribute auslesen aus einem DefaultMutableTreeNode
Von Nijura im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 02.01.09, 23:32 -
Kann bestimmte Attribute im Active Directory nicht lesen
Von HBuchek im Forum PHPAntworten: 0Letzter Beitrag: 12.07.06, 14:25 -
XSL Transformation xsl:value-of select Attribute mit Namespacekennzeichen lesen
Von mage im Forum XML TechnologienAntworten: 1Letzter Beitrag: 03.02.06, 10:49 -
parameterabhängige Attribute in XML-Schema
Von elkassi im Forum XML TechnologienAntworten: 3Letzter Beitrag: 14.01.05, 12:51 -
Oracle - Tabelle von einem Schema in ein anderes Schema verschieben
Von Plumpsi im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 15.09.04, 10:26



Zitieren
Login





Lesezeichen