<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  targetNamespace="http://example.com/businessprocess/agile"
  xmlns:agile="http://example.com/businessprocess/agile"
  xmlns:core="http://example.com/businessprocess/core"
  xmlns:graphml="http://graphml.graphdrawing.org/xmlns"
  elementFormDefault="qualified">

  <xs:import namespace="http://example.com/businessprocess/core" schemaLocation="core.xsd" />
  <!-- The schemaLocation for GraphML can be a local file path -->
  <xs:import namespace="http://graphml.graphdrawing.org/xmlns"
    schemaLocation="../../src/graphml.xsd" />

  <!-- Abstract base type for any agile process -->
  <xs:complexType name="AgileProcessBaseType" abstract="true">
    <xs:complexContent>
      <xs:extension base="core:ProcessType">
        <xs:sequence>
          <!-- Correctly reference the global 'graphml' element -->
          <xs:element ref="graphml:graphml" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <!-- Common agile concepts like user stories could be defined here -->
  <xs:complexType name="UserStoryType">
    <xs:attribute name="name" type="xs:string" use="required" />
    <xs:attribute name="points" type="xs:integer" />
  </xs:complexType>

</xs:schema>