XSLとXMLスキーマに関する助けが必要です。
これはXMLファイルです:XML、XSL、XMLスキーマ
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="spellstyle.xsl"?>
<spells xmlns="spels.xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="spellsschema.xsd">
<spell category="fire" cooldown="18" manacost="100">
<name>Fire Breath</name>
<image id="FireBreath"/>
<discription>Some text</discription>
<category>Fire</category>
<cooldown>18</cooldown>
<manacost>100</manacost>
</spell>
</spells>
これは、XMLスキーマである:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="spells.xml" elementFormDefault="qualified">
<xs:element name="spells">
<xs:complexType>
<xs:sequence>
<xs:element name="spell">
<xs:attribute name="category" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="fire|water|air|earth"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="cooldown" type="xs:duration" use="required"/>
<xs:attribute name="manacost" type="xs:decimal" use="required"/>
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="image"/>
<xs:element name="discription" type="xs:string"/>
<xs:element name="category" type="xs:string"/>
<xs:element name="cooldown" type="xs:duration"/>
<xs:element name="manacost" type="xs:decimal"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
これはXSLです:
<?xml version="1.0" encoding="utf-8"?>
<!-- DWXMLSource="spells.xml" -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each select="spells/spell">
<xsl:value-of select="discription"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
私は私のXSLファイル、XMLストップをaplyときのものがありますまったく表示しています。私のXMLスキーマも正しく動作していないと思います。私の制限も無視されます。
私は何をしますか?
xmlには 'xmlns =" spels.xml "'があり、xsdには 'targetNamespace =" spells.xml "'があります。それはタイプミスですか? –
はい、そうです。気にしないで。 – stroibot