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