12 October 2012

Tips For Using the Common Core XML

The Common Core State Standards (CCSS) have been out for a couple of years now and adoption efforts are progressing. To facilitate use of the CCSS in learning applications and with metadata frameworks like LRMI, they have recently posted canonical identifiers and machine-readable XML for the standards. I wrote about that in a recent post.

Update: 1 September 2014
The CCSSO has updated the CoreStandards.org website and most of the links in this post no longer work. However, the Common Core XML files still exist and can be found with the developer information here. Sometime in the near future, I'll re-write this post to describe the new provisions that the CCSSO has made for the techie crowd.

Today I'm going into the nuts and bolts of how a developer can make use of the XML. There are some useful features that aren't obvious at first glance. For background, I recommend that you read the announcement memo that accompanied the release of the XML on the corestandards.org website.

Canonical Identifiers

The canonical identifiers for the common core state standards are available in .csv form here: http://corestandards.org/assets/E0607_ccss_identifiers.csv. The first column lists the URLs that were formerly on the Corestandards.org website. They are included to support conversions for legacy applications.

Notable is there is an exact 1:1 mapping between the three ID types and there are 1844 IDs in the table. So if two applications are using different forms of IDs (e.g. one uses GUIDs and another uses URIs) the translation is a deterministic table lookup. A closer examination will show that there's a simple algorithmic conversion between the "dot notation" identifiers and the corresponding URIs. I've written functions in c# to do the translation and posted them here. It should be easy to port them to Java or any other language.

Hierarchy

The standards for Mathematics and ELA/Literacy follow different hierarchies that are suited to the way the standards are written and are intended to be used. The Dot Notation and URL forms of the identifiers can be parsed into the corresponding hierarchies as shown in the following examples.

Math Example

Dot Notation: CCSS.Math.Content.HSA-SSE.A.1b
URL: http://corestandards.org/Math/Content/HSA/SSE/A/1/b

InitiativeCCSS(Common Core State Standards)
FrameworkMath
SetContent(Options are 'Content' and 'Practice')
GradeHSA(High School Algebra)
DomainSSE(Seeing Structure in Expressions)
ClusterA
Standard1
Componentb

You can reference the math standards at the Component, Standard and Cluster levels. Thus, the following are all valid CCSS URI Identifiers:
If you add an ".xml" suffix to the URL then you get the computer-readable XML version of each:
The XML at the cluster and standard levels includes all child items. So the cluster includes all standards in that cluster and all components within that standard.

While the canonical IDs don't include Domain or Grade levels, you can retrieve all standards within a domain or grade by hacking the URL as follows:
And, you can retrieve all of the math standards in one XML document with this URL:

ELA/Literacy Example

Dot Notation: CCSS.ELA-Literacy.W.9-10.3d
URL: http://www.corestandards.org/ELA-Literacy/W/9-10/3/d

InitiativeCCSS(Common Core State Standards)
FrameworkELA-Literacy
Set
(Optional, not used in this example)
Strand+DomainW(Writing)
Grade9-10
Standard3
Componentd

You can reference the literacy standards at the Component, Standard and Grade levels. Thus, the following are all valid CCSS URI Identifiers:
If you add an ".xml" suffix to the URL then you get the computer-readable XML version of each:
And, you can retrieve all of the ELA/Literacy standards in one XML document with this URL:

7 comments :

tester said...

Useful information, Thanks.

Any idea how one can look up the full text description for a Domain or Set acronym?

eg: http://www.corestandards.org/Math/Content/HSA/SSE ->
HSA = High School Algebra
SSE = Seeing Structure in Expressions

Likewise for ELA: http://www.corestandards.org/ELA-Literacy/RL/9-10
RL = Reading and Literacy.

Brandt Redd said...

You, of course, get the HTML/Human readable version using the URL you specified. Adding .xml like this "http://www.corestandards.org/Math/Content/HSA/SSE.xml" results in an XML document containing all four standards in that domain including the five bulleted items. Left out of the XML version are the textual headings (e.g. "Interpret the structure of expressions."). I'm guessing that's because they are helpful for access but don't compose an actual standard.

colin said...

Thanks for this! The CCSS would do well to have you write some docs for them :-)

Like the previous commenter I wish I could get data representations of the higher level entities. For example

http://corestandards.org/Math/Content/7/SP/C.xml will list all the standards in this cluster, and they all have childOf=C62D7937C1DD4C009128AE62E48A92C3 but as far as I can tell even if you download everything you will not find an entity whose RefID equals C62D7937C1DD4C009128AE62E48A92C3 so in order to construct a complete tree you need to add some things manually

Mr T said...

I seem to have the same problem as the other two comments. The XML is great for 90% of this but there doesn't seem to be an easy way to extract that SSE means Seeing Structure in Expressions. This is not a very long list but it's surprising there's not a domains.xml somewhere. In addition, a mathematicalpractices.xml would be great.

Thanks for the article though. It's a huge help.

Brandt Redd said...

Hi Mr T and Colin:

The CCSSO, who has handled the publishing of the common core, is aware of some of these issues but they've been cautious about publishing updates due to a backlash that happened last time they published fixes. When many organizations rely on the way something is presently working, updates have to be handled carefully. I expect something to happen within the next six months or so.

Brad Buchanan said...

It seems the xml links are now dead. Was there a site update that killed them? I've noticed all the xml links above return a Page Not Found. Any idea on when the .xml functionality will return?

Brandt Redd said...

As part of their campaign to promote the Common Core to a general audience, the CCSSO has done a full update to the website. Unfortunately for us techie folk, they sequestered the XML in the process. There's now a developer page at http://www.corestandards.org/developers-and-publishers/ and about 2/3 down that page is a link that will let you download all of the XML in one .zip package. I'm talking with them about what might be done to improve this but at least they haven't left developers totally in the dark.

Post a Comment