Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
100% found this document useful (1 vote)
16 views

Java XML and JSON: Document Processing for Java SE 2nd Edition Jeff Friesen instant download

The document is a description of the book 'Java XML and JSON: Document Processing for Java SE 2nd Edition' by Jeff Friesen, which covers the integration of XML and JSON technologies in Java. It includes detailed chapters on parsing and creating XML and JSON documents using various Java APIs, along with exercises and supplementary materials available on GitHub. The book aims to provide readers with a comprehensive understanding of XML and JSON in a Java context.

Uploaded by

kuskyecrinnw
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
16 views

Java XML and JSON: Document Processing for Java SE 2nd Edition Jeff Friesen instant download

The document is a description of the book 'Java XML and JSON: Document Processing for Java SE 2nd Edition' by Jeff Friesen, which covers the integration of XML and JSON technologies in Java. It includes detailed chapters on parsing and creating XML and JSON documents using various Java APIs, along with exercises and supplementary materials available on GitHub. The book aims to provide readers with a comprehensive understanding of XML and JSON in a Java context.

Uploaded by

kuskyecrinnw
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 68

Java XML and JSON: Document Processing for Java

SE 2nd Edition Jeff Friesen download

https://textbookfull.com/product/java-xml-and-json-document-
processing-for-java-se-2nd-edition-jeff-friesen/

Download more ebook from https://textbookfull.com


We believe these products will be a great fit for you. Click
the link to download now, or visit textbookfull.com
to discover even more!

Java XML and JSON: Document Processing for Java SE 2nd


Edition Jeff Friesen

https://textbookfull.com/product/java-xml-and-json-document-
processing-for-java-se-2nd-edition-jeff-friesen/

Java XML and JSON Friesen Jeff

https://textbookfull.com/product/java-xml-and-json-friesen-jeff/

Learn Java for Android Development Friesen Jeff

https://textbookfull.com/product/learn-java-for-android-
development-friesen-jeff/

Learn Java for Android Development: Migrating Java SE


Programming Skills to Mobile Development 4th Edition
Peter Späth

https://textbookfull.com/product/learn-java-for-android-
development-migrating-java-se-programming-skills-to-mobile-
development-4th-edition-peter-spath/
Beginning XML with C# 7: XML Processing and Data Access
for C# Developers 2nd Edition Bipin Joshi (Auth.)

https://textbookfull.com/product/beginning-xml-with-c-7-xml-
processing-and-data-access-for-c-developers-2nd-edition-bipin-
joshi-auth/

OCA Java SE 8 Programmer I Certification Guide 1st


Edition Mala Gupta

https://textbookfull.com/product/oca-java-se-8-programmer-i-
certification-guide-1st-edition-mala-gupta/

Java Performance In Depth Advice for Tuning and


Programming Java 8 11 and Beyond 2nd Edition Scott Oaks

https://textbookfull.com/product/java-performance-in-depth-
advice-for-tuning-and-programming-java-8-11-and-beyond-2nd-
edition-scott-oaks/

Java Image Processing Recipes: With OpenCV and JVM


Modrzyk

https://textbookfull.com/product/java-image-processing-recipes-
with-opencv-and-jvm-modrzyk/

OCP Java SE 8 Programmer II Exam Guide (Exam 1Z0-809)


Kathy Sierra

https://textbookfull.com/product/ocp-java-se-8-programmer-ii-
exam-guide-exam-1z0-809-kathy-sierra/
Contents
1. Cover
2. Front Matter
3. Part I. Exploring XML

1. 1. Introducing XML
2. 2. Parsing XML Documents with SAX
3. 3. Parsing and Creating XML Documents with DOM
4. 4. Parsing and Creating XML Documents with StAX
5. 5. Selecting Nodes with XPath
6. 6. Transforming XML Documents with XSLT

4. Part II. Exploring JSON

1. 7. Introducing JSON
2. 8. Parsing and Creating JSON Objects with mJson
3. 9. Parsing and Creating JSON Objects with Gson
4. 10. Extracting JSON Values with JsonPath
5. 11. Processing JSON with Jackson
6. 12. Processing JSON with JSON-P

5. Part III. Appendixes


1. Answers to Exercises
6. Back Matter

Landmarks
1. Cover
2. Table of Contents
3. Body Matter
Jeff Friesen

Java XML and JSON


Document Processing for Java SE
2nd ed.
Jeff Friesen
Dauphin, MB, Canada

Any source code or other supplementary material


referenced by the author in this book is available
to readers on GitHub via the book’s product page,
located at www.apress.com/978-1-4842-4329-9 .
For more detailed information, please visit
http://www.apress.com/source-code .
ISBN 978-1-4842-4329-9 e-ISBN 978-1-4842-4330-5
https://doi.org/10.1007/978-1-4842-4330-5

Library of Congress Control Number: 2018968598

© Jeff Friesen 2019

This work is subject to copyright. All rights are reserved by the


Publisher, whether the whole or part of the material is concerned,
specifically the rights of translation, reprinting, reuse of
illustrations, recitation, broadcasting, reproduction on microfilms
or in any other physical way, and transmission or information
storage and retrieval, electronic adaptation, computer software,
or by similar or dissimilar methodology now known or hereafter
developed.

Trademarked names, logos, and images may appear in this book.


Rather than use a trademark symbol with every occurrence of a
trademarked name, logo, or image we use the names, logos, and
images only in an editorial fashion and to the benefit of the
trademark owner, with no intention of infringement of the
trademark. The use in this publication of trade names,
trademarks, service marks, and similar terms, even if they are not
identified as such, is not to be taken as an expression of opinion
as to whether or not they are subject to proprietary rights.

While the advice and information in this book are believed to be


true and accurate at the date of publication, neither the authors
nor the editors nor the publisher can accept any legal
responsibility for any errors or omissions that may be made. The
publisher makes no warranty, express or implied, with respect to
the material contained herein.

Distributed to the book trade worldwide by Springer


Science+Business Media New York, 233 Spring Street, 6th Floor,
New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-
4505, e-mail orders-ny@springer-sbm.com, or visit
www.springeronline.com. Apress Media, LLC is a California LLC
and the sole member (owner) is Springer Science + Business
Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a
Delaware corporation.
To my parents.
Introduction
XML and (the more popular) JSON let you organize
data in textual formats. This book introduces you
to these technologies along with Java APIs for
integrating them into your Java code. This book
introduces you to XML and JSON as of Java 11.

Chapter 1 introduces XML, where you learn


about basic language features (such as the XML
declaration, elements and attributes, and
namespaces). You also learn about well-formed
XML documents and how to validate them via the
Document Type Definition and XML Schema
grammar languages.

Chapter 2 focuses on Java’s SAX API for parsing


XML documents. You learn how to obtain a SAX 2
parser; you then tour XMLReader methods along
with handler and entity resolver interfaces. Finally,
you explore a demonstration of this API and learn
how to create a custom entity resolver.

Chapter 3 addresses Java’s DOM API for


parsing and creating XML documents. After
discovering the various nodes that form a DOM
document tree, you explore the DOM API, where
you learn how to obtain a DOM parser/document
builder and how to parse and create XML
documents. You then explore the Java DOM APIs
related to the Load and Save, and Traversal and
Range specifications.

Chapter 4 places the spotlight on Java’s StAX


API for parsing and creating XML documents. You
learn how to use StAX to parse XML documents
with stream-based and event-based readers and to
create XML documents with stream-based and
event-based writers.

Moving on, Chapter 5 presents Java’s XPath API


for simplifying access to a DOM tree’s nodes. You
receive a primer on the XPath language, learning
about location path expressions and general
expressions. You also explore advanced features
starting with namespace contexts.

Chapter 6 completes my coverage of XML by


targetting Java’s XSLT API. You learn about
transformer factories and transformers, and much
more. You also go beyond the XSLT 1.0 and XPath
1.0 APIs supported by Java.

Chapter 7 switches gears to JSON. You receive


an introduction to JSON, take a tour of its syntax,
explore a demonstration of JSON in a JavaScript
context (because Java doesn’t yet officially support
JSON), and learn how to validate JSON objects in
the context of JSON Schema.

You’ll need to work with third-party libraries to


parse and create JSON documents. Chapter 8
introduces you to the mJson library. After learning
how to obtain and use mJson, you explore the
Json class, which is the entry point for working
with mJSon.

Google has released an even more powerful


library for parsing and creating JSON documents.
The Gson library is the focus of Chapter 9 . In this
chapter, you learn how to parse JSON objects
through deserialization, how to create JSON
objects through serialization, and much more.

Chapter 10 focuses on the JsonPath API for


performing XPath-like operations on JSON
documents.

Chapter 11 introduces you to Jackson, a


popular suite of APIs for parsing and creating JSON
documents.

Chapter 12 introduces you to JSON-P, an Oracle


API that was planned for inclusion in Java SE, but
was made available to Java EE instead.
Each chapter ends with assorted exercises that
are designed to help you master the content. Along
with long answers and true/false questions, you
are often confronted with programming exercises.
Appendix A provides the answers and solutions.

Thanks for purchasing this book. I hope you


find it helpful in understanding XML and JSON in a
Java context.

Jeff Friesen (October 2018)

NOTE You can download this book’s source


code by pointing your web browser to
www.apress.com/9781484243299 and
clicking the Source Code tab followed by the
Download Now link.
Acknowledgments
I thank Apress Acquisition Editor Jonathan
Gennick and the Apress Editorial Board for giving
me the opportunity to create this second edition. I
also thank Editor Jill Balzano for guiding me
through the book development process. Finally, I
thank my technical reviewer and copy editor for
catching mistakes and making the book look great.
TABLE OF CONTENTS
Part I: Exploring XML
Chapter 1: Introducing XML
What Is XML?
Language Features Tour
XML Declaration
Elements and Attributes
Character References and CDATA Sections
Namespaces
Comments and Processing Instructions
Well-Formed Documents
Valid Documents
Document Type Definition
XML Schema
Summary
Chapter 2: Parsing XML Documents with SAX
What Is SAX?
Exploring the SAX API
Obtaining a SAX 2 Parser
Touring XMLReader Methods
Touring the Handler and Resolver Interfaces
Demonstrating the SAX API
Creating a Custom Entity Resolver
Summary
Chapter 3: Parsing and Creating XML Documents with DOM
What Is DOM?
A Tree of Nodes
Exploring the DOM API
Obtaining a DOM Parser/Document Builder
Parsing and Creating XML Documents
Demonstrating the DOM API
Parsing an XML Document
Creating an XML Document
Working with Load and Save
Loading an XML Document into a DOM Tree
Configuring a Parser
Filtering an XML Document While Parsing
Saving a DOM Tree to an XML Document
Working with Traversal and Range
Performing Traversals
Performing Range Operations
Summary
Chapter 4: Parsing and Creating XML Documents with StAX
What Is StAX?
Exploring StAX
Parsing XML Documents
Creating XML Documents
Summary
Chapter 5: Selecting Nodes with XPath
What Is XPath?
XPath Language Primer
Location Path Expressions
General Expressions
XPath and DOM
Advanced XPath
Namespace Contexts
Extension Functions and Function Resolvers
Variables and Variable Resolvers
Summary
Chapter 6: Transforming XML Documents with XSLT
What Is XSLT?
Exploring the XSLT API
Demonstrating the XSLT API
Going Beyond XSLT 1.0 and XPath 1.0
Downloading and Testing SAXON-HE 9.9
Playing with SAXON-HE 9.9
Summary
Part II: Exploring JSON
Chapter 7: Introducing JSON
What Is JSON?
JSON Syntax Tour
Demonstrating JSON with JavaScript
Validating JSON Objects
Summary
Chapter 8: Parsing and Creating JSON Objects with mJson
What Is mJson?
Obtaining and Using mJson
Exploring the Json Class
Creating Json Objects
Learning About Json Objects
Navigating Json Object Hierarchies
Modifying Json Objects
Validation
Customization via Factories
Summary
Chapter 9: Parsing and Creating JSON Objects with Gson
What Is Gson?
Obtaining and Using Gson
Exploring Gson
Introducing the Gson Class
Parsing JSON Objects Through Deserialization
Creating JSON Objects Through Serialization
Learning More About Gson
Summary
Chapter 10: Extracting JSON Values with JsonPath
What Is JsonPath?
Learning the JsonPath Language
Obtaining and Using the JsonPath Library
Exploring the JsonPath Library
Extracting Values from JSON Objects
Using Predicates to Filter Items
Summary
Chapter 11: Processing JSON with Jackson
What Is Jackson?
Obtaining and Using Jackson
Working with Jackson’s Basic Features
Streaming
Tree Model
Data Binding
Working with Jackson’s Advanced Features
Annotation Types
Custom Pretty Printers
Factory, Parser, and Generator Features
Summary
Chapter 12: Processing JSON with JSON-P
What Is JSON-P?
JSON-P 1.0
JSON-P 1.1
Obtaining and Using JSON-P
Working with JSON-P 1.0
Working with the Object Model API
Working with the Streaming Model API
Working with JSON-P 1.1’s Advanced Features
JSON Pointer
JSON Patch
JSON Merge Patch
Editing/Transformation Operations
Java SE 8 Support
Summary
Part III: Appendixes
Appendix A: Answers to Exercises
Chapter 1: Introducing XML
Chapter 2: Parsing XML Documents with SAX
Chapter 3: Parsing and Creating XML Documents with
DOM
Chapter 4: Parsing and Creating XML Documents with
StAX
Chapter 5: Selecting Nodes with XPath
Chapter 6: Transforming XML Documents with XSLT
Chapter 7: Introducing JSON
Chapter 8: Parsing and Creating JSON Objects with mJson
Chapter 9: Parsing and Creating JSON Objects with Gson
Chapter 10: Extracting JSON Values with JsonPath
Chapter 11: Processing JSON with Jackson
Chapter 12: Processing JSON with JSON-P
Index
ABOUT THE AUTHOR AND
ABOUT THE TECHNICAL
REVIEWER

ABOUT THE AUTHOR


Jeff Friesen

is a freelance teacher and


software developer with an
emphasis on Java. In
addition to authoring Java
I/O, NIO and NIO.2
(Apress), Java Threads and
the Concurrency Utilities
(Apress), and the first
edition of this book, Jeff
has written numerous
articles on Java and other technologies (such as
Android) for JavaWorld ( JavaWorld.com ),
informIT ( InformIT.com ), Java.net ,
SitePoint ( SitePoint.com ), and other web
sites. Jeff can be contacted via his web site at
JavaJeff.ca or via his LinkedIn (
LinkedIn.com ) profile (
www.linkedin.com/in/javajeff ).

ABOUT THE TECHNICAL REVIEWER


Massimo Nardone

has more than 24 years of


experiences in Security,
web/mobile development,
Cloud, and IT architecture.
His true IT passions are
Security and Android.

He has been
programming and teaching
how to program with Android, Perl, PHP, Java, VB,
Python, C/C++, and MySQL for more than 20 years.

He holds a Master of Science degree in


Computing Science from the University of Salerno,
Italy.

He has worked as a Project Manager, Software


Engineer, Research Engineer, Chief Security
Architect, Information Security Manager,
PCI/SCADA Auditor, and Senior Lead IT
Security/Cloud/SCADA Architect for many years.

His technical skills include Security, Android,


Cloud, Java, MySQL, Drupal, Cobol, Perl, web and
mobile development, MongoDB, D3, Joomla,
Couchbase, C/C++, WebGL, Python, Pro Rails,
Django CMS, Jekyll, Scratch, etc.

He worked as visiting lecturer and supervisor


for exercises at the Networking Laboratory of the
Helsinki University of Technology (Aalto
University). He holds four international patents
(PKI, SIP, SAML, and Proxy areas).

He currently works as Chief Information


Security Officer (CISO) for Cargotec Oyj, and he is
member of ISACA Finland Chapter Board.

Massimo has been reviewing more than 45 IT


books for different publishing companies, and he is
the coauthor of Pro Android Games (Apress, 2015),
Pro JPA 2 in Java EE 8 (APress 2018), and
Beginning EJB in Java EE 8 (Apress, 2018).
Part I
Exploring XML
© Jeff Friesen 2019
Jeff Friesen, Java XML and JSON
https://doi.org/10.1007/978-1-4842-4330-5_1

1. Introducing XML
Jeff Friesen1
(1) Dauphin, MB, Canada

Applications commonly use XML documents to


store and exchange data. XML defines rules for
encoding documents in a format that is both
human-readable and machine-readable. Chapter 1
introduces XML, tours the XML language features,
and discusses well-formed and valid documents.

What Is XML?
XML (eXtensible Markup Language) is a meta-
language (a language used to describe other
languages) for defining vocabularies (custom
markup languages), which is the key to XML’s
importance and popularity. XML-based
vocabularies (such as XHTML) let you describe
documents in a meaningful way.
XML vocabulary documents are like HTML (see
http://en.wikipedia.org/wiki/HTML )
documents in that they are text-based and consist
of markup (encoded descriptions of a document’s
logical structure) and content (document text not
interpreted as markup). Markup is evidenced via
tags (angle bracket–delimited syntactic
constructs), and each tag has a name.
Furthermore, some tags have attributes
(name/value pairs).

NOTE XML and HTML are descendants of


Standard Generalized Markup Language (SGML),
which is the original meta-language for creating
vocabularies—XML is essentially a restricted
form of SGML, while HTML is an application of
SGML. The key difference between XML and
HTML is that XML invites you to create your own
vocabularies with their own tags and rules,
whereas HTML gives you a single pre-created
vocabulary with its own fixed set of tags and
rules. XHTML and other XML-based vocabularies
are XML applications. XHTML was created to be a
cleaner implementation of HTML.

If you haven’t previously encountered XML, you might be


surprised by its simplicity and how closely its vocabularies
resemble HTML. You don’t need to be a rocket scientist to learn
how to create an XML document. To prove this to yourself, check
out Listing 1-1.

<recipe>
<title>
Grilled Cheese Sandwich
</title>
<ingredients>
<ingredient qty="2">
bread slice
</ingredient>
<ingredient>
cheese slice
</ingredient>
<ingredient qty="2">
margarine pat
</ingredient>
</ingredients>
<instructions>
Place frying pan on element and select
medium heat.
For each bread slice, smear one pat of
margarine on
one side of bread slice. Place cheese
slice between
bread slices with margarine-smeared
sides away from
the cheese. Place sandwich in frying pan
with one
margarine-smeared side in contact with
pan. Fry for
a couple of minutes and flip. Fry other
side for a
minute and serve.
</instructions>
</recipe>

Listing 1-1 XML-Based Recipe for a


Grilled Cheese Sandwich
Listing 1-1 presents an XML document that
describes a recipe for making a grilled cheese
sandwich. This document is reminiscent of an
HTML document in that it consists of tags,
attributes, and content. However, that’s where the
similarity ends. Instead of presenting HTML tags
such as <html>, <head>, <img>, and <p>, this
informal recipe language presents its own
<recipe>, <ingredients>, and other tags.

NOTE Although Listing 1-1’s <title> and


</title> tags are also found in HTML, they
differ from their HTML counterparts. Web
Other documents randomly have
different content
'And now for a steed swifter than the fastest horse ever bred in a
mortal stable,' Khemsa was saying. 'We will be in Afghulistan before
dawn.'
4 An Encounter in the Pass
Yasmina Devi could never clearly remember the details of her
abduction. The unexpectedness and violence stunned her; she had
only a confused impression of a whirl of happenings—the terrifying
grip of a mighty arm, the blazing eyes of her abductor, and his hot
breath burning on her flesh. The leap through the window to the
parapet, the mad race across battlements and roofs when the fear of
falling froze her, the reckless descent of a rope bound to a merlon—
he went down almost at a run, his captive folded limply over his
brawny shoulder—all this was a befuddled tangle in the Devi's mind.
She retained a more vivid memory of him running fleetly into the
shadows of the trees, carrying her like a child, and vaulting into the
saddle of a fierce Bhalkhana stallion which reared and snorted. Then
there was a sensation of flying, and the racing hoofs were striking
sparks of fire from the flinty road as the stallion swept up the slopes.
As the girl's mind cleared, her first sensations were furious rage and
shame. She was appalled. The rulers of the golden kingdoms south
of the Himelians were considered little short of divine; and she was
the Devi of Vendhya! Fright was submerged in regal wrath. She cried
out furiously and began struggling. She, Yasmina, to be carried on
the saddle-bow of a hill chief, like a common wench of the market-
place! He merely hardened his massive thews slightly against her
writhings, and for the first time in her life she experienced the
coercion of superior physical strength. His arms felt like iron about
her slender limbs. He glanced down at her and grinned hugely. His
teeth glimmered whitely in the starlight. The reins lay loose on the
stallion's flowing mane, and every thew and fiber of the great beast
strained as he hurtled along the boulder-strewn trail. But Conan sat
easily, almost carelessly, in the saddle, riding like a centaur.
'You hill-bred dog!' she panted, quivering with the impact of shame,
anger, and the realization of helplessness. 'You dare—you dare! Your
life shall pay for this! Where are you taking me?'
'To the villages of Afghulistan,' he answered, casting a glance over
his shoulder.
Behind them, beyond the slopes they had traversed, torches were
tossing on the walls of the fortress, and he glimpsed a flare of light
that meant the great gate had been opened. And he laughed, a
deep-throated boom gusty as the hill wind.
'The governor has sent his riders after us,' he laughed. 'By Crom, we
will lead him a merry chase! What do you think, Devi—will they pay
seven lives for a Kshatriya princess?'
'They will send an army to hang you and your spawn of devils,' she
promised him with conviction.
He laughed gustily and shifted her to a more comfortable position in
his arms. But she took this as a fresh outrage, and renewed her vain
struggle, until she saw that her efforts were only amusing him.
Besides, her light silken garments, floating on the wind, were being
outrageously disarranged by her struggles. She concluded that a
scornful submission was the better part of dignity, and lapsed into a
smoldering quiescence.
She felt even her anger being submerged by awe as they entered
the mouth of the Pass, lowering like a black well mouth in the
blacker walls that rose like colossal ramparts to bar their way. It was
as if a gigantic knife had cut the Zhaibar out of walls of solid rock.
On either hand sheer slopes pitched up for thousands of feet, and
the mouth of the Pass was dark as hate. Even Conan could not see
with any accuracy, but he knew the road, even by night. And
knowing that armed men were racing through the starlight after
him, he did not check the stallion's speed. The great brute was not
yet showing fatigue. He thundered along the road that followed the
valley bed, labored up a slope, swept along a low ridge where
treacherous shale on either hand lurked for the unwary, and came
upon a trail that followed the lap of the left-hand wall.
Not even Conan could spy, in that darkness, an ambush set by
Zhaibar tribesmen. As they swept past the black mouth of a gorge
that opened into the Pass, a javelin swished through the air and
thudded home behind the stallion's straining shoulder. The great
beast let out his life in a shuddering sob and stumbled, going
headlong in mid-stride. But Conan had recognized the flight and
stroke of the javelin, and he acted with spring-steel quickness.
As the horse fell he leaped clear, holding the girl aloft to guard her
from striking boulders. He lit on his feet like a cat, thrust her into a
cleft of rock, and wheeled toward the outer darkness, drawing his
knife.
Yasmina, confused by the rapidity of events, not quite sure just what
had happened, saw a vague shape rush out of the darkness, bare
feet slapping softly on the rock, ragged garments whipping on the
wind of his haste. She glimpsed the flicker of steel, heard the
lightning crack of stroke, parry and counter-stroke, and the crunch
of bone as Conan's long knife split the other's skull.
Conan sprang back, crouching in the shelter of the rocks. Out in the
night men were moving and a stentorian voice roared: 'What, you
dogs! Do you flinch? In, curse you, and take them!'
Conan started, peered into the darkness and lifted his voice.
'Yar Afzal! Is it you?'
There sounded a startled imprecation, and the voice called warily.
'Conan? Is it you, Conan?'
'Aye!' the Cimmerian laughed. 'Come forth, you old war-dog. I've
slain one of your men.'
There was movement among the rocks, a light flared dimly, and then
a flame appeared and came bobbing toward him, and as it
approached, a fierce bearded countenance grew out of the darkness.
The man who carried it held it high, thrust forward, and craned his
neck to peer among the boulders it lighted; the other hand gripped a
great curved tulwar. Conan stepped forward, sheathing his knife, and
the other roared a greeting.
'Aye, it is Conan! Come out of your rocks, dogs! It is Conan!'
Others pressed into the wavering circle of light—wild, ragged,
bearded men, with eyes like wolves, and long blades in their fists.
They did not see Yasmina, for she was hidden by Conan's massive
body. But peeping from her covert, she knew icy fear for the first
time that night. These men were more like wolves than human
beings.
'What are you hunting in the Zhaibar by night, Yar Afzal?' Conan
demanded of the burly chief, who grinned like a bearded ghoul.
'Who knows what might come up the Pass after dark? We Wazulis
are night-hawks. But what of you, Conan?'
'I have a prisoner,' answered the Cimmerian. And moving aside he
disclosed the cowering girl. Reaching a long arm into the crevice he
drew her trembling forth.
Her imperious bearing was gone. She stared timidly at the ring of
bearded faces that hemmed her in, and was grateful for the strong
arm that clasped her possessively. The torch was thrust close to her,
and there was a sucking intake of breath about the ring.
'She is my captive,' Conan warned, glancing pointedly at the feet of
the man he had slain, just visible within the ring of light. 'I was
taking her to Afghulistan, but now you have slain my horse, and the
Kshatriyas are close behind me.'
'Come with us to my village,' suggested Yar Afzal. 'We have horses
hidden in the gorge. They can never follow us in the darkness. They
are close behind you, you say?'
'So close that I hear now the clink of their hoofs on the flint,'
answered Conan grimly.
Instantly there was movement; the torch was dashed out and the
ragged shapes melted like phantoms into the darkness. Conan swept
up the Devi in his arms, and she did not resist. The rocky ground
hurt her slim feet in their soft slippers and she felt very small and
helpless in that brutish, primordial blackness among those colossal,
nighted crags.
Feeling her shiver in the wind that moaned down the defiles, Conan
jerked a ragged cloak from its owner's shoulders and wrapped it
about her. He also hissed a warning in her ear, ordering her to make
no sound. She did not hear the distant clink of shod hoofs on rock
that warned the keen-eared hill-men; but she was far too frightened
to disobey, in any event.
She could see nothing but a few faint stars far above, but she knew
by the deepening darkness when they entered the gorge mouth.
There was a stir about them, the uneasy movement of horses. A few
muttered words, and Conan mounted the horse of the man he had
killed, lifting the girl up in front of him. Like phantoms except for the
click of their hoofs, the band swept away up the shadowy gorge.
Behind them on the trail they left the dead horse and the dead man,
which were found less than half an hour later by the riders from the
fortress, who recognized the man as a Wazuli and drew their own
conclusions accordingly.
Yasmina, snuggled warmly in her captor's arms, grew drowsy in
spite of herself. The motion of the horse, though it was uneven,
uphill and down, yet possessed a certain rhythm which combined
with weariness and emotional exhaustion to force sleep upon her.
She had lost all sense of time or direction. They moved in soft thick
darkness, in which she sometimes glimpsed vaguely gigantic walls
sweeping up like black ramparts, or great crags shouldering the
stars; at times she sensed echoing depths beneath them, or felt the
wind of dizzy heights blowing cold about her. Gradually these things
faded into a dreamy unwakefulness in which the clink of hoofs and
the creak of saddles were like the irrelevant sounds in a dream.
She was vaguely aware when the motion ceased and she was lifted
down and carried a few steps. Then she was laid down on
something soft and rustling, and something—a folded coat perhaps
—was thrust under her head, and the cloak in which she was
wrapped was carefully tucked about her. She heard Yar Afzal laugh.
'A rare prize, Conan; fit mate for a chief of the Afghulis.'
'Not for me,' came Conan's answering rumble. 'This wench will buy
the lives of my seven headmen, blast their souls.'
That was the last she heard as she sank into dreamless slumber.
She slept while armed men rode through the dark hills, and the fate
of kingdoms hung in the balance. Through the shadowy gorges and
defiles that night there rang the hoofs of galloping horses, and the
starlight glimmered on helmets and curved blades, until the ghoulish
shapes that haunt the crags stared into the darkness from ravine
and boulder and wondered what things were afoot.
A band of these sat gaunt horses in the black pitmouth of a gorge as
the hurrying hoofs swept past. Their leader, a well-built man in a
helmet and gilt-braided cloak, held up his hand warningly, until the
riders had sped on. Then he laughed softly.
'They must have lost the trail! Or else they have found that Conan
has already reached the Afghuli villages. It will take many riders to
smoke out that hive. There will be squadrons riding up the Zhaibar
by dawn.'
'If there is fighting in the hills there will be looting,' muttered a voice
behind him, in the dialect of the Irakzai.
'There will be looting,' answered the man with the helmet. 'But first
it is our business to reach the valley of Gurashah and await the
riders that will be galloping southward from Secunderam before
daylight.'
He lifted his reins and rode out of the defile, his men falling in
behind him—thirty ragged phantoms in the starlight.
5 The Black Stallion
The sun was well up when Yasmina awoke. She did not start and
stare blankly, wondering where she was. She awoke with full
knowledge of all that had occurred. Her supple limbs were stiff from
her long ride, and her firm flesh seemed to feel the contact of the
muscular arm that had borne her so far.
She was lying on a sheepskin covering a pallet of leaves on a hard-
beaten dirt floor. A folded sheepskin coat was under her head, and
she was wrapped in a ragged cloak. She was in a large room, the
walls of which were crudely but strongly built of uncut rocks,
plastered with sun-baked mud. Heavy beams supported a roof of the
same kind, in which showed a trap-door up to which led a ladder.
There were no windows in the thick walls, only loop-holes. There
was one door, a sturdy bronze affair that must have been looted
from some Vendhyan border tower. Opposite it was a wide opening
in the wall, with no door, but several strong wooden bars in place.
Beyond them Yasmina saw a magnificent black stallion munching a
pile of dried grass. The building was fort, dwelling-place and stable
in one.
At the other end of the room a girl in the vest and baggy trousers of
a hill-woman squatted beside a small fire, cooking strips of meat on
an iron grid laid over blocks of stone. There was a sooty cleft in the
wall a few feet from the floor, and some of the smoke found its way
out there. The rest floated in blue wisps about the room.
The hill-girl glanced at Yasmina over her shoulder, displaying a bold,
handsome face, and then continued her cooking. Voices boomed
outside; then the door was kicked open, and Conan strode in. He
looked more enormous than ever with the morning sunlight behind
him, and Yasmina noted some details that had escaped her the night
before. His garments were clean and not ragged. The broad
Bakhariot girdle that supported his knife in its ornamented scabbard
would have matched the robes of a prince, and there was a glint of
fine Turanian mail under his shirt.
'Your captive is awake, Conan,' said the Wazuli girl, and he grunted,
strode up to the fire and swept the strips of mutton off into a stone
dish.
The squatting girl laughed up at him, with some spicy jest, and he
grinned wolfishly, and hooking a toe under her haunches, tumbled
her sprawling onto the floor. She seemed to derive considerable
amusement from this bit of rough horse-play, but Conan paid no
more heed to her. Producing a great hunk of bread from somewhere,
with a copper jug of wine, he carried the lot to Yasmina, who had
risen from her pallet and was regarding him doubtfully.
'Rough fare for a Devi, girl, but our best,' he grunted. 'It will fill your
belly, at least.'
He set the platter on the floor, and she was suddenly aware of a
ravenous hunger. Making no comment, she seated herself cross-
legged on the floor, and taking the dish in her lap, she began to eat,
using her fingers, which were all she had in the way of table
utensils. After all, adaptability is one of the tests of true aristocracy.
Conan stood looking down at her, his thumbs hooked in his girdle.
He never sat cross-legged, after the Eastern fashion.
'Where am I?' she asked abruptly.
'In the hut of Yar Afzal, the chief of the Khurum Wazulis,' he
answered. 'Afghulistan lies a good many miles farther on to the
west. We'll hide here awhile. The Kshatriyas are beating up the hills
for you—several of their squads have been cut up by the tribes
already.'
'What are you going to do?' she asked.
'Keep you until Chunder Shan is willing to trade back my seven cow-
thieves,' he grunted. 'Women of the Wazulis are crushing ink out of
shoki leaves, and after a while you can write a letter to the
governor.'
A touch of her old imperious wrath shook her, as she thought how
maddeningly her plans had gone awry, leaving her captive of the
very man she had plotted to get into her power. She flung down the
dish, with the remnants of her meal, and sprang to her feet, tense
with anger.
'I will not write a letter! If you do not take me back, they will hang
your seven men, and a thousand more besides!'
The Wazuli girl laughed mockingly, Conan scowled, and then the
door opened and Yar Afzal came swaggering in. The Wazuli chief
was as tall as Conan, and of greater girth, but he looked fat and
slow beside the hard compactness of the Cimmerian. He plucked his
red-stained beard and stared meaningly at the Wazuli girl, and that
wench rose and scurried out without delay. Then Yar Afzal turned to
his guest.
'The damnable people murmur, Conan,' quoth he. 'They wish me to
murder you and take the girl to hold for ransom. They say that
anyone can tell by her garments that she is a noble lady. They say
why should the Afghuli dogs profit by her, when it is the people who
take the risk of guarding her?'
'Lend me your horse,' said Conan. 'I'll take her and go.'
'Pish!' boomed Yar Afzal. 'Do you think I can't handle my own
people? I'll have them dancing in their shirts if they cross me! They
don't love you—or any other outlander—but you saved my life once,
and I will not forget. Come out, though, Conan; a scout has
returned.'
Conan hitched at his girdle and followed the chief outside. They
closed the door after them, and Yasmina peeped through a loop-
hole. She looked out on a level space before the hut. At the farther
end of that space there was a cluster of mud and stone huts, and
she saw naked children playing among the boulders, and the slim
erect women of the hills going about their tasks.
Directly before the chief's hut a circle of hairy, ragged men squatted,
facing the door. Conan and Yar Afzal stood a few paces before the
door, and between them and the ring of warriors another man sat
cross-legged. This one was addressing his chief in the harsh accents
of the Wazuli which Yasmina could scarcely understand, though as
part of her royal education she had been taught the languages of
Iranistan and the kindred tongues of Ghulistan.
'I talked with a Dagozai who saw the riders last night,' said the
scout. 'He was lurking near when they came to the spot where we
ambushed the lord Conan. He overheard their speech. Chunder Shan
was with them. They found the dead horse, and one of the men
recognized it as Conan's. Then they found the man Conan slew, and
knew him for a Wazuli. It seemed to them that Conan had been slain
and the girl taken by the Wazuli; so they turned aside from their
purpose of following to Afghulistan. But they did not know from
which village the dead man was come, and we had left no trail a
Kshatriya could follow.
'So they rode to the nearest Wazuli village, which was the village of
Jugra, and burnt it and slew many of the people. But the men of
Khojur came upon them in darkness and slew some of them, and
wounded the governor. So the survivors retired down the Zhaibar in
the darkness before dawn, but they returned with reinforcements
before sunrise, and there has been skirmishing and fighting in the
hills all morning. It is said that a great army is being raised to sweep
the hills about the Zhaibar. The tribes are whetting their knives and
laying ambushes in every pass from here to Gurashah valley.
Moreover, Kerim Shah has returned to the hills.'
A grunt went around the circle, and Yasmina leaned closer to the
loop-hole at the name she had begun to mistrust.
'Where went he?' demanded Yar Afzal.
'The Dagozai did not know; with him were thirty Irakzai of the lower
villages. They rode into the hills and disappeared.'
'These Irakzai are jackals that follow a lion for crumbs,' growled Yar
Afzal. 'They have been lapping up the coins Kerim Shah scatters
among the border tribes to buy men like horses. I like him not, for
all he is our kinsman from Iranistan.'
'He's not even that,' said Conan. 'I know him of old. He's an
Hyrkanian, a spy of Yezdigerd's. If I catch him I'll hang his hide to a
tamarisk.'
'But the Kshatriyas!' clamored the men in the semicircle. 'Are we to
squat on our haunches until they smoke us out? They will learn at
last in which Wazuli village the wench is held. We are not loved by
the Zhaibari; they will help the Kshatriyas hunt us out.'
'Let them come,' grunted Yar Afzal. 'We can hold the defiles against
a host.'
One of the men leaped up and shook his fist at Conan.
'Are we to take all the risks while he reaps the rewards?' he howled.
'Are we to fight his battles for him?'
With a stride Conan reached him and bent slightly to stare full into
his hairy face. The Cimmerian had not drawn his long knife, but his
left hand grasped the scabbard, jutting the hilt suggestively forward.
'I ask no man to fight my battles,' he said softly. 'Draw your blade if
you dare, you yapping dog!'
The Wazuli started back, snarling like a cat.
'Dare to touch me and here are fifty men to rend you apart!' he
screeched.
'What!' roared Yar Afzal, his face purpling with wrath. His whiskers
bristled, his belly swelled with his rage. 'Are you chief of Khurum? Do
the Wazulis take orders from Yar Afzal, or from a low-bred cur?'
The man cringed before his invincible chief, and Yar Afzal, striding up
to him, seized him by the throat and choked him until his face was
turning black. Then he hurled the man savagely against the ground
and stood over him with his tulwar in his hand.
'Is there any who questions my authority?' he roared, and his
warriors looked down sullenly as his bellicose glare swept their
semicircle. Yar Afzal grunted scornfully and sheathed his weapon
with a gesture that was the apex of insult. Then he kicked the fallen
agitator with a concentrated vindictiveness that brought howls from
his victim.
'Get down the valley to the watchers on the heights and bring word
if they have seen anything,' commanded Yar Afzal, and the man
went, shaking with fear and grinding his teeth with fury.
Yar Afzal then seated himself ponderously on a stone, growling in his
beard. Conan stood near him, legs braced apart, thumbs hooked in
his girdle, narrowly watching the assembled warriors. They stared at
him sullenly, not daring to brave Yar Afzal's fury, but hating the
foreigner as only a hillman can hate.
'Now listen to me, you sons of nameless dogs, while I tell you what
the lord Conan and I have planned to fool the Kshatriyas.' The boom
of Yar Afzal's bull-like voice followed the discomfited warrior as he
slunk away from the assembly.
The man passed by the cluster of huts, where women who had seen
his defeat laughed at him and called stinging comments, and
hastened on along the trail that wound among spurs and rocks
toward the valley head.
Just as he rounded the first turn that took him out of sight of the
village, he stopped short, gaping stupidly. He had not believed it
possible for a stranger to enter the valley of Khurum without being
detected by the hawk-eyed watchers along the heights; yet a man
sat cross-legged on a low ledge beside the path—a man in a camel-
hair robe and a green turban.
The Wazuli's mouth gaped for a yell, and his hand leaped to his
knife-hilt. But at that instant his eyes met those of the stranger and
the cry died in his throat, his fingers went limp. He stood like a
statue, his own eyes glazed and vacant.
For minutes the scene held motionless; then the man on the ledge
drew a cryptic symbol in the dust on the rock with his forefinger. The
Wazuli did not see him place anything within the compass of that
emblem, but presently something gleamed there—a round, shiny
black ball that looked like polished jade. The man in the green
turban took this up and tossed it to the Wazuli, who mechanically
caught it.
'Carry this to Yar Afzal,' he said, and the Wazuli turned like an
automaton and went back along the path, holding the black jade ball
in his outstretched hand. He did not even turn his head to the
renewed jeers of the women as he passed the huts. He did not seem
to hear.
The man on the ledge gazed after him with a cryptic smile. A girl's
head rose above the rim of the ledge and she looked at him with
admiration and a touch of fear that had not been present the night
before.
'Why did you do that?' she asked.
He ran his fingers through her dark locks caressingly.
'Are you still dizzy from your flight on the horse-of-air, that you doubt
my wisdom?' he laughed. 'As long as Yar Afzal lives, Conan will bide
safe among the Wazuli fighting-men. Their knives are sharp, and
there are many of them. What I plot will be safer, even for me, than
to seek to slay him and take her from among them. It takes no
wizard to predict what the Wazulis will do, and what Conan will do,
when my victim hands the globe of Yezud to the chief of Khurum.'

Back before the hut, Yar Afzal halted in the midst of some tirade,
surprized and displeased to see the man he had sent up the valley,
pushing his way through the throng.
'I bade you go to the watchers!' the chief bellowed. 'You have not
had time to come from them.'
The other did not reply; he stood woodenly, staring vacantly into the
chief's face, his palm outstretched holding the jade ball. Conan,
looking over Yar Afzal's shoulder, murmured something and reached
to touch the chief's arm, but as he did so, Yar Afzal, in a paroxysm
of anger, struck the man with his clenched fist and felled him like an
ox. As he fell, the jade sphere rolled to Yar Afzal's foot, and the
chief, seeming to see it for the first time, bent and picked it up. The
men, staring perplexedly at their senseless comrade, saw their chief
bend, but they did not see what he picked up from the ground.
Yar Afzal straightened, glanced at the jade, and made a motion to
thrust it into his girdle.
'Carry that fool to his hut,' he growled. 'He has the look of a lotus-
eater. He returned me a blank stare. I—aie!'
In his right hand, moving toward his girdle, he had suddenly felt
movement where movement should not be. His voice died away as
he stood and glared at nothing; and inside his clenched right hand
he felt the quivering of change, of motion, of life. He no longer held
a smooth shining sphere in his fingers. And he dared not look; his
tongue clove to the roof of his mouth, and he could not open his
hand. His astonished warriors saw Yar Afzal's eyes distend, the color
ebb from his face. Then suddenly a bellow of agony burst from his
bearded lips; he swayed and fell as if struck by lightning, his right
arm tossed out in front of him. Face down he lay, and from between
his opening fingers crawled a spider—a hideous, black, hairy-legged
monster whose body shone like black jade. The men yelled and gave
back suddenly, and the creature scuttled into a crevice of the rocks
and disappeared.
The warriors started up, glaring wildly, and a voice rose above their
clamor, a far-carrying voice of command which came from none
knew where. Afterward each man there—who still lived—denied that
he had shouted, but all there heard it.
'Yar Afzal is dead! Kill the outlander!'
That shout focused their whirling minds as one. Doubt,
bewilderment and fear vanished in the uproaring surge of the blood-
lust. A furious yell rent the skies as the tribesmen responded
instantly to the suggestion. They came headlong across the open
space, cloaks flapping, eyes blazing, knives lifted.
Conan's action was as quick as theirs. As the voice shouted he
sprang for the hut door. But they were closer to him than he was to
the door, and with one foot on the sill he had to wheel and parry the
swipe of a yard-long blade. He split the man's skull—ducked another
swinging knife and gutted the wielder—felled a man with his left fist
and stabbed another in the belly—and heaved back mightily against
the closed door with his shoulders. Hacking blades were nicking
chips out of the jambs about his ears, but the door flew open under
the impact of his shoulders, and he went stumbling backward into
the room. A bearded tribesman, thrusting with all his fury as Conan
sprang back, overreached and pitched head-first through the
doorway. Conan stopped, grasped the slack of his garments and
hauled him clear, and slammed the door in the faces of the men who
came surging into it. Bones snapped under the impact, and the next
instant Conan slammed the bolts into place and whirled with
desperate haste to meet the man who sprang from the floor and
tore into action like a madman.
Yasmina cowered in a corner, staring in horror as the two men
fought back and forth across the room, almost trampling her at
times; the flash and clangor of their blades filled the room, and
outside the mob clamored like a wolf-pack, hacking deafeningly at
the bronze door with their long knives, and dashing huge rocks
against it. Somebody fetched a tree trunk, and the door began to
stagger under the thunderous assault. Yasmina clasped her ears,
staring wildly. Violence and fury within, cataclysmic madness
without. The stallion in his stall neighed and reared, thundering with
his heels against the walls. He wheeled and launched his hoofs
through the bars just as the tribesman, backing away from Conan's
murderous swipes, stumbled against them. His spine cracked in
three places like a rotten branch and he was hurled headlong
against the Cimmerian, bearing him backward so that they both
crashed to the beaten floor.
Yasmina cried out and ran forward; to her dazed sight it seemed that
both were slain. She reached them just as Conan threw aside the
corpse and rose. She caught his arm, trembling from head to foot.
'Oh, you live! I thought—I thought you were dead!'
He glanced down at her quickly, into the pale, upturned face and the
wide staring dark eyes.
'Why are you trembling?' he demanded. 'Why should you care if I
live or die?'
A vestige of her poise returned to her, and she drew away, making a
rather pitiful attempt at playing the Devi.
'You are preferable to those wolves howling without,' she answered,
gesturing toward the door, the stone sill of which was beginning to
splinter away.
'That won't hold long,' he muttered, then turned and went swiftly to
the stall of the stallion.
Yasmina clenched her hands and caught her breath as she saw him
tear aside the splintered bars and go into the stall with the
maddened beast. The stallion reared above him, neighing terribly,
hoofs lifted, eyes and teeth flashing and ears laid back, but Conan
leaped and caught his mane with a display of sheer strength that
seemed impossible, and dragged the beast down on his forelegs.
The steed snorted and quivered, but stood still while the man bridled
him and clapped on the gold-worked saddle, with the wide silver
stirrups.
Wheeling the beast around in the stall, Conan called quickly to
Yasmina, and the girl came, sidling nervously past the stallion's
heels. Conan was working at the stone wall, talking swiftly as he
worked.
'A secret door in the wall here, that not even the Wazuli know about.
Yar Afzal showed it to me once when he was drunk. It opens out
into the mouth of the ravine behind the hut. Ha!'
As he tugged at a projection that seemed casual, a whole section of
the wall slid back on oiled iron runners. Looking through, the girl
saw a narrow defile opening in a sheer stone cliff within a few feet
of the hut's back wall. Then Conan sprang into the saddle and
hauled her up before him. Behind them the great door groaned like
a living thing and crashed in, and a yell rang to the roof as the
entrance was instantly flooded with hairy faces and knives in hairy
fists. And then the great stallion went through the wall like a javelin
from a catapult, and thundered into the defile, running low, foam
flying from the bit-rings.
That move came as an absolute surprize to the Wazulis. It was a
surprize, too, to those stealing down the ravine. It happened so
quickly—the hurricane-like charge of the great horse—that a man in
a green turban was unable to get out of the way. He went down
under the frantic hoofs, and a girl screamed. Conan got one glimpse
of her as they thundered by—a slim, dark girl in silk trousers and a
jeweled breast-band, flattening herself against the ravine wall. Then
the black horse and his riders were gone up the gorge like the
spume blown before a storm, and the men who came tumbling
through the wall into the defile after them met that which changed
their yells of blood-lust to shrill screams of fear and death.
6 The Mountain of the Black Seers
'Where now?' Yasmina was trying to sit erect on the rocking saddle-
bow, clutching her captor. She was conscious of a recognition of
shame that she should not find unpleasant the feel of his muscular
flesh under her fingers.
'To Afghulistan,' he answered. 'It's a perilous road, but the stallion
will carry us easily, unless we fall in with some of your friends, or my
tribal enemies. Now that Yar Afzal is dead, those damned Wazulis
will be on our heels. I'm surprized we haven't sighted them behind
us already.'
'Who was that man you rode down?' she asked.
'I don't know. I never saw him before. He's no Ghuli, that's certain.
What the devil he was doing there is more than I can say. There was
a girl with him, too.'
'Yes.' Her gaze was shadowed. 'I can not understand that. That girl
was my maid, Gitara. Do you suppose she was coming to aid me?
That the man was a friend? If so, the Wazulis have captured them
both.'
'Well,' he answered, 'there's nothing we can do. If we go back,
they'll skin us both. I can't understand how a girl like that could get
this far into the mountains with only one man—and he a robed
scholar, for that's what he looked like. There's something infernally
queer in all this. That fellow Yar Afzal beat and sent away—he
moved like a man walking in his sleep. I've seen the priests of
Zamora perform their abominable rituals in their forbidden temples,
and their victims had a stare like that man. The priests looked into
their eyes and muttered incantations, and then the people became
the walking dead men, with glassy eyes, doing as they were
ordered.
'And then I saw what the fellow had in his hand, which Yar Afzal
picked up. It was like a big black jade bead, such as the temple girls
of Yezud wear when they dance before the black stone spider which
is their god. Yar Afzal held it in his hand, and he didn't pick up
anything else. Yet when he fell dead, a spider, like the god at Yezud,
only smaller, ran out of his fingers. And then, when the Wazulis
stood uncertain there, a voice cried out for them to kill me, and I
know that voice didn't come from any of the warriors, nor from the
women who watched by the huts. It seemed to come from above.'
Yasmina did not reply. She glanced at the stark outlines of the
mountains all about them and shuddered. Her soul shrank from their
gaunt brutality. This was a grim, naked land where anything might
happen. Age-old traditions invested it with shuddery horror for
anyone born in the hot, luxuriant southern plains.
The sun was high, beating down with fierce heat, yet the wind that
blew in fitful gusts seemed to sweep off slopes of ice. Once she
heard a strange rushing above them that was not the sweep of the
wind, and from the way Conan looked up, she knew it was not a
common sound to him, either. She thought that a strip of the cold
blue sky was momentarily blurred, as if some all but invisible object
had swept between it and herself, but she could not be sure. Neither
made any comment, but Conan loosened his knife in his scabbard.
They were following a faintly marked path dipping down into ravines
so deep the sun never struck bottom, laboring up steep slopes
where loose shale threatened to slide from beneath their feet, and
following knife-edge ridges with blue-hazed echoing depths on either
hand.
The sun had passed its zenith when they crossed a narrow trail
winding among the crags. Conan reined the horse aside and
followed it southward, going almost at right angles to their former
course.
'A Galzai village is at one end of this trail,' he explained. 'Their
women follow it to a well, for water. You need new garments.'
Glancing down at her filmy attire, Yasmina agreed with him. Her
cloth-of-gold slippers were in tatters, her robes and silken under-
garments torn to shreds that scarcely held together decently.
Garments meant for the streets of Peshkhauri were scarcely
appropriate for the crags of the Himelians.
Coming to a crook in the trail, Conan dismounted, helped Yasmina
down and waited. Presently he nodded, though she heard nothing.
'A woman coming along the trail,' he remarked. In sudden panic she
clutched his arm.
'You will not—not kill her?'
'I don't kill women ordinarily,' he grunted; 'though some of the hill-
women are she-wolves. No,' he grinned as at a huge jest. 'By Crom,
I'll pay for her clothes! How is that?' He displayed a large handful of
gold coins, and replaced all but the largest. She nodded, much
relieved. It was perhaps natural for men to slay and die; her flesh
crawled at the thought of watching the butchery of a woman.
Presently a woman appeared around the crook of the trail—a tall,
slim Galzai girl, straight as a young sapling, bearing a great empty
gourd. She stopped short and the gourd fell from her hands when
she saw them; she wavered as though to run, then realized that
Conan was too close to her to allow her to escape, and so stood still,
staring at them with a mixed expression of fear and curiosity.
Conan displayed the gold coin.
'If you will give this woman your garments,' he said, 'I will give you
this money.'
The response was instant. The girl smiled broadly with surprize and
delight, and, with the disdain of a hill-woman for prudish
conventions, promptly yanked off her sleeveless embroidered vest,
slipped down her wide trousers and stepped out of them, twitched
off her wide-sleeved shirt, and kicked off her sandals. Bundling them
all in a bunch, she proffered them to Conan, who handed them to
the astonished Devi.
'Get behind that rock and put these on,' he directed, further proving
himself no native hillman. 'Fold your robes up into a bundle and
bring them to me when you come out.'
'The money!' clamored the hill-girl, stretching out her hands eagerly.
'The gold you promised me!'
Conan flipped the coin to her, she caught it, bit, then thrust it into
her hair, bent and caught up the gourd and went on down the path,
as devoid of self-consciousness as of garments. Conan waited with
some impatience while the Devi, for the first time in her pampered
life, dressed herself. When she stepped from behind the rock he
swore in surprize, and she felt a curious rush of emotions at the
unrestrained admiration burning in his fierce blue eyes. She felt
shame, embarrassment, yet a stimulation of vanity she had never
before experienced, and a tingling when meeting the impact of his
eyes. He laid a heavy hand on her shoulder and turned her about,
staring avidly at her from all angles.
'By Crom!' said he. 'In those smoky, mystic robes you were aloof and
cold and far off as a star! Now you are a woman of warm flesh and
blood! You went behind that rock as the Devi of Vendhya; you come
out as a hill-girl—though a thousand times more beautiful than any
wench of the Zhaibar! You were a goddess—now you are real!'
He spanked her resoundingly, and she, recognizing this as merely
another expression of admiration, did not feel outraged. It was
indeed as if the changing of her garments had wrought a change in
her personality. The feelings and sensations she had suppressed
rose to domination in her now, as if the queenly robes she had cast
off had been material shackles and inhibitions.
But Conan, in his renewed admiration, did not forget that peril
lurked all about them. The farther they drew away from the region
of the Zhaibar, the less likely he was to encounter any Kshatriya
troops. On the other hand he had been listening all throughout their
flight for sounds that would tell him the vengeful Wazulis of Khurum
were on their heels.
Swinging the Devi up, he followed her into the saddle and again
reined the stallion westward. The bundle of garments she had given
him, he hurled over a cliff, to fall into the depths of a thousand-foot
gorge.
'Why did you do that?' she asked. 'Why did you not give them to the
girl?'
'The riders from Peshkhauri are combing these hills,' he said. 'They'll
be ambushed and harried at every turn, and by way of reprisal
they'll destroy every village they can take. They may turn westward
any time. If they found a girl wearing your garments, they'd torture
her into talking, and she might put them on my trail.'
'What will she do?' asked Yasmina.
'Go back to her village and tell her people that a stranger attacked
her,' he answered. 'She'll have them on our track, all right. But she
had to go on and get the water first; if she dared go back without it,
they'd whip the skin off her. That gives us a long start. They'll never
catch us. By nightfall we'll cross the Afghuli border.'
'There are no paths or signs of human habitation in these parts,' she
commented. 'Even for the Himelians this region seems singularly
deserted. We have not seen a trail since we left the one where we
met the Galzai woman.'
For answer he pointed to the northwest, where she glimpsed a peak
in a notch of the crags.
'Yimsha,' grunted Conan. 'The tribes build their villages as far from
the mountain as they can.'
She was instantly rigid with attention.
'Yimsha!' she whispered. 'The mountain of the Black Seers!'
'So they say,' he answered. 'This is as near as I ever approached it. I
have swung north to avoid any Kshatriya troops that might be
prowling through the hills. The regular trail from Khurum to
Afghulistan lies farther south. This is an ancient one, and seldom
used.'
She was staring intently at the distant peak. Her nails bit into her
pink palms.
'How long would it take to reach Yimsha from this point?'
'All the rest of the day, and all night,' he answered, and grinned. 'Do
you want to go there? By Crom, it's no place for an ordinary human,
from what the hill-people say.'
'Why do they not gather and destroy the devils that inhabit it?' she
demanded.
'Wipe out wizards with swords? Anyway, they never interfere with
people, unless the people interfere with them. I never saw one of
them, though I've talked with men who swore they had. They say
they've glimpsed people from the tower among the crags at sunset
or sunrise—tall, silent men in black robes.'
'Would you be afraid to attack them?'
'I?' The idea seemed a new one to him. 'Why, if they imposed upon
me, it would be my life or theirs. But I have nothing to do with
them. I came to these mountains to raise a following of human
beings, not to war with wizards.'
Yasmina did not at once reply. She stared at the peak as at a human
enemy, feeling all her anger and hatred stir in her bosom anew. And
another feeling began to take dim shape. She had plotted to hurl
against the masters of Yimsha the man in whose arms she was now
carried. Perhaps there was another way, besides the method she had
planned, to accomplish her purpose. She could not mistake the look
that was beginning to dawn in this wild man's eyes as they rested on
her. Kingdoms have fallen when a woman's slim white hands pulled
the strings of destiny. Suddenly she stiffened, pointing.
'Look!'
Just visible on the distant peak there hung a cloud of peculiar
aspect. It was a frosty crimson in color, veined with sparkling gold.
This cloud was in motion; it rotated, and as it whirled it contracted.
It dwindled to a spinning taper that flashed in the sun. And suddenly
it detached itself from the snow-tipped peak, floated out over the
void like a gay-hued feather, and became invisible against the
cerulean sky.
'What could that have been?' asked the girl uneasily, as a shoulder
of rock shut the distant mountain from view; the phenomenon had
been disturbing, even in its beauty.
'The hill-men call it Yimsha's Carpet, whatever that means,'
answered Conan. 'I've seen five hundred of them running as if the
devil were at their heels, to hide themselves in caves and crags,
because they saw that crimson cloud float up from the peak. What
in—'
They had advanced through a narrow, knife-cut gash between
turreted walls and emerged upon a broad ledge, flanked by a series
of rugged slopes on one hand, and a gigantic precipice on the other.
The dim trail followed this ledge, bent around a shoulder and
reappeared at intervals far below, working a tedious way downward.
And emerging from the cut that opened upon the ledge, the black
stallion halted short, snorting. Conan urged him on impatiently, and
the horse snorted and threw his head up and down, quivering and
straining as if against an invisible barrier.
Conan swore and swung off, lifting Yasmina down with him. He went
forward, with a hand thrown out before him as if expecting to
encounter unseen resistance, but there was nothing to hinder him,
though when he tried to lead the horse, it neighed shrilly and jerked
back. Then Yasmina cried out, and Conan wheeled, hand starting to
knife-hilt.
Neither of them had seen him come, but he stood there, with his
arms folded, a man in a camel-hair robe and a green turban. Conan
grunted with surprize to recognize the man the stallion had spurned
in the ravine outside the Wazuli village.
'Who the devil are you?' he demanded.
The man did not answer. Conan noticed that his eyes were wide,
fixed, and of a peculiar luminous quality. And those eyes held his like
a magnet.
Khemsa's sorcery was based on hypnotism, as is the case with most
Eastern magic. The way has been prepared for the hypnotist for
untold centuries of generations who have lived and died in the firm
conviction of the reality and power of hypnotism, building up, by
mass thought and practise, a colossal though intangible atmosphere
against which the individual, steeped in the traditions of the land,
finds himself helpless.
But Conan was not a son of the East. Its traditions were meaningless
to him; he was the product of an utterly alien atmosphere.
Hypnotism was not even a myth in Cimmeria. The heritage that
prepared a native of the East for submission to the mesmerist was
not his.
He was aware of what Khemsa was trying to do to him; but he felt
the impact of the man's uncanny power only as a vague impulsion, a
tugging and pulling that he could shake off as a man shakes
spiderwebs from his garments.
Aware of hostility and black magic, he ripped out his long knife and
lunged, as quick on his feet as a mountain lion.
But hypnotism was not all of Khemsa's magic. Yasmina, watching,
did not see by what roguery of movement or illusion the man in the
green turban avoided the terrible disembowelling thrust. But the
keen blade whickered between side and lifted arm, and to Yasmina it
seemed that Khemsa merely brushed his open palm lightly against
Conan's bull-neck. But the Cimmerian went down like a slain ox.
Yet Conan was not dead; breaking his fall with his left hand, he
slashed at Khemsa's legs even as he went down, and the Rakhsha
avoided the scythe-like swipe only by a most unwizardly bound
backward. Then Yasmina cried out sharply as she saw a woman she
recognized as Gitara glide out from among the rocks and come up to
the man. The greeting died in the Devi's throat as she saw the
malevolence in the girl's beautiful face.
Conan was rising slowly, shaken and dazed by the cruel craft of that
blow which, delivered with an art forgotten of men before Atlantis
sank, would have broken like a rotten twig the neck of a lesser man.
Khemsa gazed at him cautiously and a trifle uncertainly. The
Rakhsha had learned the full flood of his own power when he faced
at bay the knives of the maddened Wazulis in the ravine behind
Khurum village; but the Cimmerian's resistance had perhaps shaken
his new-found confidence a trifle. Sorcery thrives on success, not on
failure.
He stepped forward, lifting his hand—then halted as if frozen, head
tilted back, eyes wide open, hand raised. In spite of himself Conan
followed his gaze, and so did the women—the girl cowering by the
trembling stallion, and the girl beside Khemsa.
Down the mountain slopes, like a whirl of shining dust blown before
the wind, a crimson, conoid cloud came dancing. Khemsa's dark face
turned ashen; his hand began to tremble, then sank to his side. The
girl beside him, sensing the change in him, stared at him inquiringly.
The crimson shape left the mountain slope and came down in a long
arching sweep. It struck the ledge between Conan and Khemsa, and
the Rakhsha gave back with a stifled cry. He backed away, pushing
the girl Gitara back with groping, fending hands.
The crimson cloud balanced like a spinning top for an instant,
whirling in a dazzling sheen on its point. Then without warning it
was gone, vanished as a bubble vanishes when burst. There on the
ledge stood four men. It was miraculous, incredible, impossible, yet
it was true. They were not ghosts or phantoms. They were four tall
men, with shaven, vulture-like heads, and black robes that hid their
feet. Their hands were concealed by their wide sleeves. They stood
in silence, their naked heads nodding slightly in unison. They were
facing Khemsa, but behind them Conan felt his own blood turning to
ice in his veins. Rising, he backed stealthily away, until he could feel
the stallion's shoulder trembling against his back, and the Devi crept
into the shelter of his arm. There was no word spoken. Silence hung
like a stifling pall.
All four of the men in black robes stared at Khemsa. Their vulture-
like faces were immobile, their eyes introspective and contemplative.
But Khemsa shook like a man in an ague. His feet were braced on
the rock, his calves straining as if in physical combat. Sweat ran in
streams down his dark face. His right hand locked on something
under his brown robe so desperately that the blood ebbed from that
hand and left it white. His left hand fell on the shoulder of Gitara and
clutched in agony like the grasp of a drowning man. She did not
flinch or whimper, though his fingers dug like talons into her firm
flesh.
Conan had witnessed hundreds of battles in his wild life, but never
one like this, wherein four diabolical wills sought to beat down one
lesser but equally devilish will that opposed them. But he only faintly
sensed the monstrous quality of that hideous struggle. With his back
to the wall, driven to bay by his former masters, Khemsa was
fighting for his life with all the dark power, all the frightful knowledge
they had taught him through long, grim years of neophytism and
vassalage.
He was stronger than even he had guessed, and the free exercise of
his powers in his own behalf had tapped unsuspected reservoirs of
forces. And he was nerved to super-energy by frantic fear and
desperation. He reeled before the merciless impact of those hypnotic
eyes, but he held his ground. His features were distorted into a
bestial grin of agony, and his limbs were twisted as on a rack. It was
a war of souls, of frightful brains steeped in lore forbidden to men
for a million years, of mentalities which had plumbed the abysses
and explored the dark stars where spawn the shadows.
Yasmina understood this better than did Conan. And she dimly
understood why Khemsa could withstand the concentrated impact of
those four hellish wills which might have blasted into atoms the very
rock on which he stood. The reason was the girl that he clutched
with the strength of his despair. She was like an anchor to his
staggering soul, battered by the waves of those psychic emanations.
His weakness was now his strength. His love for the girl, violent and
evil though it might be, was yet a tie that bound him to the rest of
humanity, providing an earthly leverage for his will, a chain that his
inhuman enemies could not break; at least not break through
Khemsa.
They realized that before he did. And one of them turned his gaze
from the Rakhsha full upon Gitara. There was no battle there. The
girl shrank and wilted like a leaf in the drought. Irresistibly impelled,
she tore herself from her lover's arms before he realized what was
happening. Then a hideous thing came to pass. She began to back
toward the precipice, facing her tormentors, her eyes wide and blank
as dark gleaming glass from behind which a lamp has been blown
out. Khemsa groaned and staggered toward her, falling into the trap
set for him. A divided mind could not maintain the unequal battle.
He was beaten, a straw in their hands. The girl went backward,
walking like an automaton, and Khemsa reeled drunkenly after her,
hands vainly outstretched, groaning, slobbering in his pain, his feet
moving heavily like dead things.
On the very brink she paused, standing stiffly, her heels on the
edge, and he fell on his knees and crawled whimpering toward her,
groping for her, to drag her back from destruction. And just before
his clumsy fingers touched her, one of the wizards laughed, like the
sudden, bronze note of a bell in hell. The girl reeled suddenly and,
consummate climax of exquisite cruelty, reason and understanding
flooded back into her eyes, which flared with awful fear. She
screamed, clutched wildly at her lover's straining hand, and then,
unable to save herself, fell headlong with a moaning cry.
Khemsa hauled himself to the edge and stared over, haggardly, his
lips working as he mumbled to himself. Then he turned and stared
for a long minute at his torturers, with wide eyes that held no
human light. And then with a cry that almost burst the rocks, he
reeled up and came rushing toward them, a knife lifted in his hand.
One of the Rakhshas stepped forward and stamped his foot, and as
he stamped, there came a rumbling that grew swiftly to a grinding
roar. Where his foot struck, a crevice opened in the solid rock that
widened instantly. Then, with a deafening crash, a whole section of
the ledge gave way. There was a last glimpse of Khemsa, with arms
wildly upflung, and then he vanished amidst the roar of the
avalanche that thundered down into the abyss.
The four looked contemplatively at the ragged edge of rock that
formed the new rim of the precipice, and then turned suddenly.
Conan, thrown off his feet by the shudder of the mountain, was
rising, lifting Yasmina. He seemed to move as slowly as his brain was
working. He was befogged and stupid. He realized that there was a
desperate need for him to lift the Devi on the black stallion and ride
like the wind, but an unaccountable sluggishness weighted his every
thought and action.
And now the wizards had turned toward him; they raised their arms,
and to his horrified sight, he saw their outlines fading, dimming,
becoming hazy and nebulous, as a crimson smoke billowed around
their feet and rose about them. They were blotted out by a sudden
whirling cloud—and then he realized that he too was enveloped in a
blinding crimson mist—he heard Yasmina scream, and the stallion
cried out like a woman in pain. The Devi was torn from his arm, and
as he lashed out with his knife blindly, a terrific blow like a gust of
storm wind knocked him sprawling against a rock. Dazedly he saw a
crimson conoid cloud spinning up and over the mountain slopes.
Yasmina was gone, and so were the four men in black. Only the
terrified stallion shared the ledge with him.
7 On to Yimsha
As mists vanish before a strong wind, the cobwebs vanished from
Conan's brain. With a searing curse he leaped into the saddle and
the stallion reared neighing beneath him. He glared up the slopes,
hesitated, and then turned down the trail in the direction he had
been going when halted by Khemsa's trickery. But now he did not
ride at a measured gait. He shook loose the reins and the stallion
went like a thunderbolt, as if frantic to lose hysteria in violent
physical exertion. Across the ledge and around the crag and down
the narrow trail threading the great steep they plunged at breakneck
speed. The path followed a fold of rock, winding interminably down
from tier to tier of striated escarpment, and once, far below, Conan
got a glimpse of the ruin that had fallen—a mighty pile of broken
stone and boulders at the foot of a gigantic cliff.
The valley floor was still far below him when he reached a long and
lofty ridge that led out from the slope like a natural causeway. Out
upon this he rode, with an almost sheer drop on either hand. He
could trace ahead of him the trail and made a great horseshoe back
into the river-bed at his left hand. He cursed the necessity of
traversing those miles, but it was the only way. To try to descend to
the lower lap of the trail here would be to attempt the impossible.
Only a bird could get to the river-bed with a whole neck.
So he urged on the wearying stallion, until a clink of hoofs reached
his ears, welling up from below. Pulling up short and reining to the
lip of the cliff, he stared down into the dry river-bed that wound
along the foot of the ridge. Along that gorge rode a motley throng—
bearded men on half-wild horses, five hundred strong, bristling with
weapons. And Conan shouted suddenly, leaning over the edge of the
cliff, three hundred feet above them.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

You might also like