Αν XML / XSL Μεταμορφώνει είναι Domian σας, τότε υπάρχουν φορές που θέλουμε ενός κομματιού της Δυναμικής κωδικό που πρέπει να τεκμήριο της βιβλιοθήκης (που πρέπει να γίνουν επαναχρησιμοποιήσιμα). Τι εννοώ, ίσως θα μπορούσε να γίνει πιο σαφές με αυτό το σενάριο παράδειγμα.
Φανταστείτε ότι η δημιουργία ενός δικτυακού τόπου (και χρησιμοποιώντας XML, XSL transfroms φυσικά) και οι περισσότερες από τις σελίδες θα έχει Ενότητα Σχόλια. Καλά! τότε είτε να αντιγράψετε ή να επικολλήσετε αυτόν τον κώδικα σε κάθε σελίδα προτύπου (που Ι dont έχουν πει, αλλά κάνει συντήρηση και να επαναλάβει έναν εφιάλτη) ή ακόμα καλύτερα, μπορείτε να δημιουργήσετε ένα περιλαμβάνει το αρχείο που θα μπορούσε να τραβηχτεί όπου ποτέ θέλετε στη σελίδα σας ( α) ...
Έτσι Πώς δημιουργούμε ένα XSL περιλαμβάνει το αρχείο και να το συμπεριλάβει μέσα σε ένα άλλο αρχείο XSL; Εδώ είναι το πώς ...
Ακριβώς για να κάνει τα πράγματα σαφή ... εδώ είναι γρήγορη λίστα των αρχείων που θα δημιουργηθούν ... εδώ θα είμαστε, συμπεριλαμβανομένων πληροφοριών σχετικά με τα φρούτα και τα λαχανικά σε μια σελίδα που ονομάζεται μητρική τροφίμων.
1. food.xml - xml αρχείο δεδομένων επί των οποίων η μετατροπή θα πρέπει να εφαρμοστεί
2. food.xsl - κύριο αρχείο XSL, η οποία θα μετατρέψει food.xml μας
3. inc_fruits.xsl - XSL περιλαμβάνει αρχείο που θα καταστήσει τα φρούτα δεδομένα
4. inc_vegtables.xsl - XSL περιλαμβάνει αρχείο που θα καθιστούν τα δεδομένα vetetables
Ι dont ότι έχω εξηγήσει και πολύ, οι κωδικοί για τις παραπάνω στοιχεία, θα είναι αυτονόητα ...
FOOD.XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="food.xsl"?>
<food>
<date>July 2008</date>
<description>All about things we eat everyday</description>
<fruits type="tropical">
<item name="mango" moreinfo="http://www.mango.com">Mango is the king of fruits</item>
<item name="banana" moreinfo="http://www.banana.com">Banana once a day , keeps the doctor away</item>
<item name="orange" moreinfo="http://www.orange.com">Orange is the color and rich in vitamin C</item>
<item name="Papaya" moreinfo="http://www.papaya.com">Papaya - Hot when raw, cold when ripe</item>
</fruits>
<vegetables>
<item name="spinach" moreinfo="http://www.spinach.com">Spinach is full of iron</item>
<item name="asparagus" moreinfo="http://www.asparagus.com">Asparagus contains loads of vitamin D </item>
<item name="fenugreek" moreinfo="http://www.fenugreek.com">Fenugreek is rich in vitamin C</item>
</vegetables>
</food>
FOOD.XSL
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:include href="inc_fruits.xsl" />
<xsl:include href="inc_vegetables.xsl" />
<xsl:template match="/">
<html>
<head>
<title>Title</title>
</head>
<body>
<h3><xsl:value-of select="/food/description" /></h3>
Modification Date : <xsl:value-of select="/food/date" />
<hr/>
<h5> About Fruits</h5>
<xsl:call-template name="about_fruits"/>
<hr/>
<h5> About Vegetables</h5>
<xsl:call-template name="about_vegetables"/>
<hr/>
</ Body>
</ Html>
</ Xsl: template>
</ Xsl: stylesheet>
INC_FRUITS.XSL <?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="iso-8859-1" />
<xsl:template name="about_fruits">
<xsl:for-each select="/food/fruits/item/@*">
attribute name : <xsl:value-of select="name()"/>
attribute value : <xsl:value-of select="."/> <br />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
INC_VEGETABLES.XSL <?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="iso-8859-1" />
<xsl:template name="about_vegetables">
<xsl:for-each select="/food/vegetables/item/@*">
attribute name : <xsl:value-of select="name()"/>
attribute value : <xsl:value-of select="."/> <br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Κατεβάστε όλα τα παραπάνω αρχεία εδώ (246 λήψεις)