1<?xml version="1.0" encoding="iso-8859-1"?> 2<xsl:transform 3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 4 version="1.0" 5> 6 7 <!-- Test FileName: mk042.xsl --> 8 <!-- Source Attribution: 9 This test was written by Michael Kay and is taken from 10 'XSLT Programmer's Reference' published by Wrox Press Limited in 2000; 11 ISBN 1-861003-12-9; copyright Wrox Press Limited 2000; all rights reserved. 12 Now updated in the second edition (ISBN 1861005067), http://www.wrox.com. 13 No part of this book may be reproduced, stored in a retrieval system or 14 transmitted in any form or by any means - electronic, electrostatic, mechanical, 15 photocopying, recording or otherwise - without the prior written permission of 16 the publisher, except in the case of brief quotations embodied in critical articles or reviews. 17 --> 18 <!-- Example: booklist.xml, format-names.xsl --> 19 <!-- Chapter/Page: 7-480 --> 20 <!-- Purpose: Formatting a list using position and last functions --> 21 22<xsl:template match="book"> 23<auth> 24 <xsl:for-each select="author"> 25 <xsl:value-of select="."/> 26 <xsl:choose> 27 <xsl:when test="position() = last()"/> 28 <xsl:when test="position() = last()-1"> and </xsl:when> 29 <xsl:otherwise>, </xsl:otherwise> 30 </xsl:choose> 31 </xsl:for-each> 32</auth> 33</xsl:template> 34 35 <!-- 36 * Licensed to the Apache Software Foundation (ASF) under one 37 * or more contributor license agreements. See the NOTICE file 38 * distributed with this work for additional information 39 * regarding copyright ownership. The ASF licenses this file 40 * to you under the Apache License, Version 2.0 (the "License"); 41 * you may not use this file except in compliance with the License. 42 * You may obtain a copy of the License at 43 * 44 * http://www.apache.org/licenses/LICENSE-2.0 45 * 46 * Unless required by applicable law or agreed to in writing, software 47 * distributed under the License is distributed on an "AS IS" BASIS, 48 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 49 * See the License for the specific language governing permissions and 50 * limitations under the License. 51 --> 52 53</xsl:transform> 54